This week was about relaxing and designing. Two games I had been waiting on came out this week that got me absorbed, Anno 1800 and Weedcraft. I'm done playing both of them, but they both had some interesting design concepts that I enjoyed.
Anno 1800 has something called Expeditions. I absolutely loved the implementation of it. You would run into these events with about 2-4 options, and the options were ambiguous, without a "good" or "evil" option. You prepared for the journey with items and depending on how well prepared you are and some rolls, you succeeded or you didn't.
This is similar to what I want to accomplish with Events once the rest of the game is hooked up. I want to have morally ambiguous choices that flow logically, but allow the player to have the freedom of playing how they want. Unfortunately, this means alot of design overhead, especially if you have deep trees. But I think having a shallow tree with a very wide dialog tree is important, and will allow the player replayability and also agency in their own game on choices.
Which brings me to one of the design options I have. I want options that will probably get me delisted with a publisher. I really think it's important to have options that will make the player go "no way, I can DO this?" Either for shock value, or to get across that this is not your normal economy simulator, I want to set the tone from the beginning that you will have some very morally ambiguous choices for the entire game. This game is called Fraud Simulator, and one of my goals is to get accused of teaching people how to commit Fraud. The argument of course I will have is, how can you catch fraud if you don't know how to commit it? I plan to have both of these in the game.
But enough of that for now, that's a long way off. The event system is not going to do much to my current systems in place, and I need to figure out how I'm going to design the scheduler.
Last time, I thought I was going to create an editor for this. The problem with this, is that skills are going to need to have behavior coded in. I have no idea how to create an editor that codes behavior of skills, if that's even possible. So unfortunately, I don't think at this time I'll be able to let the player create skills. Sure, I can make some skills that give you bonuses to stats, and that's easy to code for the editor...but what about a skill that when you use it, it creates things from a recipe? What about a skill that mans the register at a store and sells to customers if they're in the store at that time? How do you allow coding of behavior that affects the game like that from an editor?
So, this week I pulled up my design docs and tried to see what I could do in an editor. I don't think companies will be possible, since their behavior is so unique for each type. I can do some skills, but how I envision skills is probably going to change eventually as it is. Recipes and Goods I can absolutely put into an editor, because the game doesn't care what type of recipe or good they are, their behavior is uniform.
I feel like I'm overthinking it as it is though, and I just need to get interaction with my economy running. I read up a lot of people that took 2.5 years on their game because they rewrote their code so much or started from scratch. I want to follow SOLID principles, but It's hard when you have no idea what your implementation is going to look like because I've never coded in C# before. On top of that, half of them I'm not even sure what the hell they mean. The other side of the coin is that I know for a fact that my coding is earning me code debt, and I will have to pay up when I refactor eventually. Constant debate in my head about when to start refactoring.
I think I really want to start coding everything to an interface here soon. Everytime I watch an example on the SOLID principles, it's always using an interface. Sounds like that's my future.
So for this week, just relaxing, catching up on Game of Thrones, checking out some actual games implementation of cool ideas, and doing some brainstorming.