by TheAncientGoat » 13 Dec 2012, 13:54
Yep, porting to Lips would mean a re-write, using Lua to script interaction as well as game data but like I said, a lot of existing features have already been implemented. Also, LoS doesn't use CEGUI, and it's GUI system (no offense nekotaku) is a bit lacking.
A list of features that have already been implemented:
Graphics: Shadows, bump/spec/normal mapping, animated models, custom meshes for unique creatures, mesh importing via Blender, randomly generated voxel blocks improving appearance. A large library of imported meshes and monsters already exist that can be re-used. There is also a basic mini-map system, but it needs a lot of work
Ui: There is currently a relatively adaptable list based UI system, but it isn't very attractive or flexible appearance wise.
Editor: Place and move blocks, meshes/objects, traps, creatures similar to how Sauerbraten works. Saved areas can dynamically be loaded into other areas, or generated on a map, for example, rooms can be made in an editor, and spawned into the voxel map by clicking.
Gameplay: Map is made up of voxel blocks. Blocks are minable with different hardnesses, there are different materials to mine, as well as water & lava. There is a spell system that can accommodate DK like spells. Creatures currently have wandering AI. Creatures can be controlled in first or third person. There are projectile, spell and melee combat systems. Creatures can use weapons, armor and items. A dialog and quest system also exists, which can be used for a campaign. The system also has built-in multiplayer that would accommodate competitive matches. There is a statistics system that determines creatures' combat performance, that can be modified to handle DK like gameplay. Bullet Physics determines combat actions and movement. Objects can be interacted with, and are scriptable, allowing for things like doors and traps to be created.
Things that would need to be implemented:
Graphically: Pretty much nothing, just models re-imported into the LoS format, and maybe animations fixed.
UI: A lot of work would need to be done, either implementing CeGUI in LoS (very hard) or maybe rolling back to LoS' previous, SumWars based UI and implementing a DK like UI from there. The editor UI could also work for the time being, but isn't really attractive in a game context.
Editor and gameplay would be merged, somewhat.
Gameplay:
AI system would need to be implemented where creatures have jobs, needs, requirements, attributes etc (hard), and all the creatures would need to be scripted using this system.
AI pathfinding would need to be drastically improved (hard)
AI would need to gather jobs based on distance to available jobs that they can do (easy). A jobs tracking system would need to be implemented (medium).
The block selection system would need to be modified to add a mining job for imps (easy). The item placement system would need to be modified to add jobs to create items (medium), as well as add item placement jobs for imps (easy).
A room system would need to be implemented based on the existing patterns system that stores a list of possible rooms, their contents, and generates the contents on a selected area (medium) as well as list their presence per dungeon in order to attract creatures (easy).
The creature alignment system would need to be modified to be based on teams, per player (easy).
Creatures need to be pick-upable and re-placed anywhere (easy).
The spell system needs to be split into player spells and creature spells, as well as have researchable spells, and new DK spells need to be implemented (medium).
A resource system would need to be implemented to keep track of stored resources, room, item and spell cost (medium).
Traps would need to get scripted effects, via spells (easy)
Missions/quests etc would also need to be implemented (hard)
Regarding the issue of 2.5d tile-based vs fully 3d as in LoS; all of the games are actually 3d, it's just a camera orientation (also, DK had fully 3d creature possession, which LoS would be perfect for).
Tiles are nice, but the voxel + physical entities system allows for arguably easier and faster creation of room presets, you just write a definition of what items needs to be placed in a room, and the system can generate it programatically, instead of having to model each possible combination. LoS is also pretty flexible, there wouldn't be any problem using tiles either, just export it as a mesh and you're fine to go.
A couple more things I thought would be cool that the LoS system would allow:
Custom armor/items for creatures: all creatures could have their own personality, as well as equipment that can be researched/upgraded or found, similar to how Dwarf Fortress and Majesty works.
Multi-level dungeons: would require selective layer based viewing to be implemented, but otherwise wouldn't be too hard to implement.
Building as well as mining: Because the system is voxel based, workers can build walls as well as destroy them. Would be very useful if one does an above ground level as well.
Physics based traps: talked about this earlier, but to expand: rolling stone balls, pit traps, pendulum slicers etc would be possible.
Improved firstperson/possession mode: The player could play as a single creature, and explore the world, similar to how Dwarf Fortress' Adventure mode works.