Looking purely at the numbers, the Godot project has now reached 25,000 lines of GDScript. In theory that means I'm about 20% of the way through (the C# version has 125,000 lines of code), but in practice I'm a lot further than that because C# tends to take more lines of code to do something than GDScript does. So I'd guess that I'm actually around a third of the way through.
When it comes to feature completeness, Here's where I am:
- Basic display and input: DONE
- Menus and loading/saving games: DONE
- Character creation: DONE
- Procedural level generation for towns, wilderness, dungeon levels, and caves: DONE
- Item and monster randomisation and generation: DONE
- Time keeping and speed/turn structure: DONE
- Character status from buffs/debuffs/equipment: DONE
- Character walking/running around, and level transitions: DONE
- Character death/game-over/scores: DONE
- Quest levels: DONE
- Interaction with items (pick-up, drop, wield, take-off): DONE
- Interaction with environment (doors, traps, digging): IN PROGRESS
- Monster movement:
- Melee combat:
- Target/Look system:
- Ranged combat:
- Spellcasting:
- Mutations:
- Ancestral powers:
- Item activation powers:
- Monster powers:
That makes it look as if I'm farther along than I am, though, because a lot of the things I've done are quite small and some of the ones left to do are huge.
For example the monster AI is a massive task, and while each individual spell/mutation/power is usually straightforward there are just so many of them. For example, there are 96 mutations and 256 spells, and that's before we even get to item powers, ancestral powers, and monster powers. Even if each of those only takes 10 minutes to port (and that's very optimistic assumption), we're looking at around 80-100 hours - and since I'm doing this in my spare time, that's quite a few weeks.
So realistically I'm still months away from finishing, but at least I have the basic framework of the game up and running so I can see progress as it's happening.
Leave a comment: