I've released four projects on Itch.IO - my proudest being Mars Lander (a collaborative project), but I now want to computerise a table-top war-game. I've gotten inspiration from battleship and ironclad war-games that have markers and rulers for measuring and paper-pads with hit boxes and rules for maneuvers etc. I look at those games as something that can be fun to play and also fun for me to code. I am not an expert at game design and coding but I'm not an amateur either. I have much to learn and I learn by doing things (don't we all). A 2D top-down table-top war-game will involve much math, trigonometry and calculations. There will be individual ships, missiles, groups of ships (flotilla's), laser turrets and the usual mayhem of combat. There will be lots of objects to track and code for and I think this will be a challenge I'm ready for.
Genre: naval fleet combat - but in the future.
Ironclads, WWI and WWII had behemoths launching shells and torpedo's at each other. I'm thinking of a twist: near-future battleships that use laser-turrets and airborne missiles to engage targets.
Format: turn-based
It will be turn-based like any good war-game but it will have simultaneous movement and firing. I think this is an intriguing mechanic that forces players to try to pre-empt their opponent when maneuvering and positioning. Sometimes it will work and you'll get an amazing broadside shot off and sometimes, well, you're on the end of your opponents broadside!
PVP LAN play
I have some experience in multiplayer programming over LAN (see Mars Lander) and also in machine-learning artificial intelligence. I hope to make this game both single-player against AI and two-player head-to-head over LAN.
Development approach
I'll use an AGILE style of approach where I'll build something super basic and rudimentary with wire-frames and terrible text-on-screen GUI's and incrementally build in more functions and gradually build up graphics and GUI's and add sound.
I've learnt that I enjoy projects more when I exercise patience and planning. This means time! This won't be a rushed project. I have a real day job and family and that remains my priority, but I can invest a lot of time into this and will chip away at it.
AGILE means releasing a lot of small updates frequently. I think this is a good way to demonstrate progress and to build a community and user-base. Some updates will be meh and some updates will be exciting. I think it's a good way to engage those following project progress. I'm an experienced and disciplined project manager and I'll be bringing those qualities to this project as well.
You will read in the next paragraph how I'm not going to jump in and start coding. I'll have a plan on paper about what the code will do, the code functions, the player experience, the pseudo-code, the GUI designs etc. I'll start coding only when I feel the game is technically feasible and within my skillset.
Collaboration
Mars Lander was a community collaboration and without a doubt brought some quality and polish to that game. I'm happy to collaborate again. If anyone is experienced in graphics or sound or marketing or LUA programming (Love2D) then feel free to contact me. I have a gmail account. It starts with togfox and maybe you can work out the rest. :)
What can I offer that might interest you? Vision, discipline, project management, experience, coding experience, control, empathy (you won't be a slave), patience.
Progress
I didn't want to post a blog that says a bunch of stuff without any real evidence so I'm posting my initial pseudo-code on what will be the main move/fire/damage game loop and also the likely data-structure and functions required to execute most of the game loop. It probably won't make sense to you - it's not meant to. It's just a little insight into how I will start planning for this project. Some 'objects' I've identified already:
- a nation will have one or more flotilla's (a group of ships)
- each flotilla will have a bunch of ships
- players will move ships by moving the flotilla. That is, all ships in the flotilla will move together
- players will each plan their movements and then watch ships move around the screen simultaneously
- players will each plan their combat/targets/firing and then watch combat results simultaneously
- the them is near-future naval combat. Instead of gun batteries with shells, there will be laser turrets with ... lasers.
- missiles will act like torpedo's of old
- the theme will be cyber-punkish (but not cyber-punk). Old mechanical ships with uninteresting technology will duke it out with high-tech lasers and missiles