Crumbled world is a gamed build from scratch with a inhouse 3d engine.
The 3D engine was not designed for this game it was build as to stop my curiosity on how a basic 3D engine works.
The time to build a 3D engine is not defendably if a profit is gona be made from it. The best solution is always
to take an existing engine and use it.
Crumbled world is a scene based game where every component of the game can be found in the scene. every aspect of the game is found in a scene node down to the physic, sound, NPC managers and towers. This has the advanteg to be easy to add new world load and save scene node. Bechause the Map editor also use the same save and load fun functionality make that with only a few added save and load function for a fewspecific game node the game can be saved at any time.
That the game was gona be modable by Lua was not part of the ground design it was more a fun and easy way to create towers. When the tower had Lua almost the entire game had then support for Lua exept a few parts. Then the ide was to add lua to rocks and island in the mapeditor to make it faster to create unique way to move and rotate islands. The easyist way to add lua to randome models and the islands was to add Lua to the core Scene node system and when it was added to the core the posibilty to change and editing the world from Lua is almost as great as the posibilty from c++. When adding a lua script to a scene node the lua script can find any object in the scene node hierarchy including cameras, islands, physics, sounds, particle system, towers, NPC and there managers. with this you can actually create your own game inside the game. much like the possibility you have with Unity and other game like engine.
Crumbled world is an interesting project.
Witch uses a lot of different system to work properly.
In the core we have my own 3D engine witch is built mostly to keep this project at float. the 3D engine handles the world by a scene node system. Which split the world up in space Scene, player Scene and the specific islands scene. this give the game is strength when it comes to the multilayer part where we now can move player around the map and every single player map can now be tournaments map. because we have a scene based map we can move the scene around we can actually move the islands around witch give a more dynamic feel to the game that would not exist if we had a static world.
Because we have moving islands we get a lot of problems with tower placement and NPC path findings and the main camera will constantly move we have come up with a brilliant solution to the problems. The camera will automatically attach itself to the most prominent island in the view. and when between two or more islands the camera will have a weighted attachment to the different island giving the viewer a stable view of the game.
With this stable camera comes a stable tower building system as long as the user tries to build on the target island.
Tower Placement is a bit more trickier when the navigation mesh is constantly moving around the place that’s why Crumbled world uses a bone animated navigation mesh where an island have a bone matrix connected to the navigation mesh witch make the navigation system not more complicated then any navigation mesh should be.
every NPC in the game then is connect to one ore two islands and navigation position is calculated from the islands. this give the NPC the same pathfinder as any other game and then they still move around in a more complicated space.
The tower targets the NPC in the global space and is totally unaware that the world is moving around it. This give the towers