I’d say it’s a good time to make New Years’ resolutions, but the first month of 2014 is almost over. Gosh! Game dev slowed a little recently due to holidays and other stuff going on. Nevertheless it progresses!
Almost literally the first thing I did in 2014 was get the compile working for my game. It went surprisingly smooth. The game works on my new machine with a new setup so onwards!
The break has given me some time to think strategically about the game and its development. I’ve made two decisions that I’d like to try out:
- Move the codebase to 64-bit and ditch any support for 32-bit CPUs. It’s about time for all software to be 64-bit. I hope my libraries agree.
- Ditch any notion of using DirectX and only use OpenGL.
The latter one is a funny decision. Ogre3d allows me to use both at will. But DirectX means another library to manage, and it’s always been the weird child of the panoply of libraries I use. The newest DirectX versions offer me nothing, and Microsoft seem to be iterating quickly between operating systems and god knows what that means for DirectX.
I’d prefer to support Steam OS when it comes out, so OpenGL it is. That covers Unix, Windows and Mac without having to worry about different codepaths for different platforms. At least for graphics. At least to an extent.
Moving to 64-bit is annoying because some libraries don’t suffer the transition well. Windows compilers are funny about 64-bit, so myeah. It’s not desperate to follow up because I don’t do anything tricksy in my code and I want to focus on gameplay rather than engine code for a while.
My ideal there is quick drag-and-drop elements in the browser, type in code and have data files populated in the game directory. It’d be fairly lightweight, so I could bring it with me without bringing all the game code.
I’ve also been thinking long and hard about the game. I’ve made some cuts and compromises there too.
The first is that I’m shelving The Twins for now. Their gameplay and story is fantastic and interesting, but they introduce so many problems at the same time. As a unit and as interactions with the other characters, they increase the complexity more than the rest of them combined.
So first content update will have them. For now, I’ll focus on the six other characters. Unfortunately this breaks the gender balance I had – now it’s 4 females (The Cop, The Courier, The Spy and The Scientist) versus 2 males (The Doctor and The Hacker). I don’t want to bring any new characters in to address that balance because that hardly solves the original problem. Plus Alice the Artist is very busy doing cool projects so more art would be tough.
In any case, it wouldn’t hurt a modern video game to have more female characters than male. And no, it won’t be a harem game.
My next focus is to ignore multiplayer at the moment. The system is prepared for it to an extent. I haven’t got the network code in, but everything is engineered to accommodate it. Multiplayer brings a variety of issues that you might not consider until you’re down in the guts of it.
For example, how do you address gameplay synchronization? Not server/client data synchronization but actual “someone’s read the text before someone else, do they have to wait?” Do you let people force the game forward? Do you have timers? What if your scene depends on a character making a decision but they’ve run off to the toilet? What do you if the team splits? Can you keep them roughly in sync in terms of world and gameplay progression?
How do teams decide on things? Democratic voting? A leader? I had a mechanic from very long ago in the dev process where you have energy as well as health. You can expend energy to do strenuous things. You might also use it to force a vote to resolve a certain way. But if you have these power struggles between players, is it fun? Is it just bookwork? I want people to feel like they are making important decisions in a disaster zone, not having lengthy discussions deciding on UN Resolution 2378.
I’m keen on just creating the minimal viable product and evolving that. I’m prepared for multiplayer, but I want to focus on the single-player experience, so I’m doing that.
In any case, you can look around the indie games scene and see some very simple games. You don’t need much complexity for a successful game. I’d like to optimize for success first, complexity second 🙂
The Short and Sweet
What I’ve been working on lately:
- Sketching out ideas
- Designing gameplay systems
- Learning how to write web apps for my dev tools
What I’m working on in the next run:
- Cleaning up the gameplay source code branch
- More web app dev
- Maybe the scene code.