Roguelike Back to Development
roguelike 2d rpg sfml c++ adventure
I'm still not going to do a rewrite, not completely. There's one big rewrite but it's higher level, and should of been thought of from the get go. A turn system that actually handles speed. Others are a bit more features and refactoring of the games systems. Gases that effect whatever they come into contact with. Every system will be as data driven as possible, moving towards more of an engine than a game.
The original system was literally turn based. The player takes a turn performing whatever action, then each creature gets a turn. There was no speed variance at all. Everything took just as long as everything else.... one turn. From now on everything from walking one step to attacking, drinking potions, putting on armor, will take different amounts of energy to perform.
Each turn of the simulation will divvy out an amount of energy until the player has enough to perform an action. Then the player can perform an action they can afford or wait and store up more energy. AI creatures are also doing the same during simulation. This way fast characters, or quick actions can be performed before slower creatures and react. A fast swordsman could attack more than once per it's opponents attack.
Once a creature, player or AI, have enough energy to perform an action. They take priority of the simulation until they perform an action or decide to idle, the simulation won't divvy out energy.
The main focus one the refactoring is the creature system. A lot of it will be getting split up and with cleaned up interfaces. The old status effects, that handled poison and such over time effects. Is going to be curses now. With a cleaner interface and design.
Several of the system will be scripted/data driven. Making the game more moddable, and quicker for me to edit and design. Creatures, items, and a couple configuration properties are the base plan. The whole system when I'm done.
...AND A LOT MORE
until next time, keep coding. I'll be going into more depth once I got a couple things finished first.