After at least a year of laying dormant, there’s been some motion on my game.
First, I came up with an idea of how to make multiplayer interesting. I had this conversation at least a year ago, but was mulling the ideas over again and decided that the mechanic could be done in a simple way and would be a good way to test if it is actually fun. Direct combat in a game where both players are constantly time travelling is clunky. I’d have to build a lot of systems to allow players to respond to attacks that are happening to them in the future / past and I don’t envision it being intuitive or fun. Instead, I imagined that the different players are agents trying to set history in a certain way. So, one team is trying to preserve an event, and the other is trying to disrupt it. A simple scenario would be trying to assassinate or save a VIP. I imagine the attacking team would very quickly score a kill, and then each side would effectively be taking turns trying to override the previous action.
Before I get there, however, I need to address my buggy netcode. I think I made two changes that will minimize the problems I was seeing, but before I try to start aggressive testing things, I need better tools to observe and recreate problems. I’m going to be adding two stages of logging. First, I’m going to log all of the actions taken by each player as well as when it happened. Second I’m going to log all of the network messages that each player receives from the other. I want to be able to load either one of these files and replay their contents. This way I can diagnose the next desychronization that happens.
Third, I was recently reading a book on becoming a game designer. It was a great read and geared to those who like playing video games. The author made very clear that there was a big leap from thinking up half-baked game ideas to doing so professionally. He took shots at the budding game designers who are so worried someone might steal their ideas, and those who never finish a game. It helped me realize that I don’t really want to be a game designer, and it has helped me see why I’m working on this project. I want to improve my coding skills, especially my architecture. I’m debating whether or not I want to release the code as open source. On the one hand, I want to showcase the progress I’m making as an engineer. However, I have the fear that releasing the source might somehow get in the way of releasing this as an actual game sometime in the future. I don’t know.