Hey all!
I'm going to try doing a little dev log every week (in addition to other updates / requests for feedback) where I just write some of what I'm thinking about with Heroes and what I'll be working on over the next week. This is the first one!
Over the last week I finished the design for the next iteration of the character creation and progression systems (skills / stats / perks / classes) and implemented it. There are still a few odds and ends to finish, but it's just about there! It's still pretty basic on the UI side, but main purpose is just to test out how this iteration feels.
This week my goals are to finish up and refine the whole character, skills, perks and class systems and do some engine refactors that I think will make things much cleaner and faster to develop on. One of the big lessons we've learned with AI Dungeon is that to have a game that you're continually developing and improving even while users are playing it the engine architecture is critical at preventing tech debut build up and maintaining fast development speed. One of the specific engine architecture improvements I'm working on this week is moving most of the game logic to the frontend like most games (where AID was almost all on the backend). This lets us have a lighter server footprint, need to go to the server less often (faster performance) and gives a lot more simplicity because there's less endpoint integrations between the client and server that you have to make.
I'm also going to refactor the game engine to use the "Command" pattern which will abstract all game actions as different command types that run through the system instead of the current messier system where the state can be modified in a number of ways. This will enable a number of things, including eventually letting creator made scripts run at any point of the game lifecycle and making the logging and bug reporting much more effective.
We've made a ton of improvements on Heroes engine and technical architecture over AI Dungeon already and I think continually to refine the engine is going to make a huge difference in our ability to continually add new features. This set shouldn't take too long though. Hoping to get it all done and be back to feature work by the end of the week.
– Nick