DevLog #0 - Conquer
This is the initial blog post for this developement log.
Conquer is an Open Source Turn-based Strategy Multiplayer Game developed in C99 and raylib.
Initially the game was developed in Unity, later moved to Godot but no engine really scratched that “itch” for me, so I decided to make my own from scratch! It has been a marvelous expirience so far and I want to share with the world what I have doen and what I have in mind.
So buckle up as I tell the tale of my figuring out what the hell are pointers and basic programming concepts!
The Game
Frist things first, what IS Conquer?
In my mind, Conquer is a game similar to some Gameboy Advance titles like Fire Emblem or Advance wars; where there are two teams composed of “units” with both teams having the same (or some times opposed) objectives.
I really enjoyed this games as a kid and really like how they would incorporate in a multiplayer focused game! As they are all single-player first, multiplayer second games.
Hell, only Advance Wars has PvP multiplayer!
look at them pixels!
So, my idea with Conquer is making a Turn-Based game similar to the GBA titles, but with all the modern goodness!
First thing of course is that the amount of pixels is 4 times bigger than the Gameboy Advance, because let’s be honest here, tiny screen bad.
So the objective in my mind is to make a MVP, or Minimal Viable Product. A proof of concept if you will.
My idea is to make a game similar to the tatical RPGS but without the RPG! I know that seems like a con, but as it is a multiplayer focused game, no grinding nor story is planned, just you and your enemy duking it out with your teams!
Right now the only mode I have in mind is the reasoning for the name of the game:
Conquer: the Game Mode
The idea for Conquer (the Game Mode) is that you and your opponent have to build a team of 5 pieces from a roaster of pre-made pieces. similar to a Hero Shooter or TF2;
With that you might make a team with, for example:
- 2 Heavy-Armour Spear Weilding Soldiers, for close combat
- 1 Tiny Mage, for medium range combat and area denial.
- 1 Archer, for long distance combat, without taking much risk.
- 1 Cleric, for well… support?
Or even:
- 3 Mages, for magic abuse
- 2 Clerics, to heal the weak mages when they get sneezed at
Or even better:
- 5 Heavy soldiers, just for the fun of it.
Giving the players option to choose their teams with no limitations gives them a sense of control no other strategy game gives, and as we are fighting against a human player, we don’t need to worry about how the player will act against a specific “story event” but we can focus on team composition!
The Gamemode itself is focused on the castles as shown in the picture below.
Inspired by Fire Emblem Blazing Blade in specific, I really liked the missions where you had to Sieze the opponents’ base and make it your own, instead of just “mass genocide.”
And that it is the game! Or the MVP in this case as I mentioned before.
That’s what I plan on version 0.0.1, the first ever release of the game:
- Better UI system
- Moving pieces around properly
- “Conquering” the castle
- Win/lose conditions based on the pieces left
And now you might ask yourself…
Wow, that sounds simple. Why can’t I play it yet?
Because I’m dumb and making everything from scratch.
I can’t just “Load a Map”, I have to create my own binary format specifically targeted at this game. Why? BECAUSE I CAN!
I can’t just “Draw a menu” on the UI, I have to create my own dynamic UI menu system! Why? BECAUSE I WANT TO!
Having control over every single aspect of the engine has been a blessing and a curse, I have ultimate power but I’m my own enemy.
I have learned a lot, and still am! There is much to come still, but It feels amazing seing that I’m making software like the “big guys” back in my day.
So call it feature creep or whatever, but it will take a while for the MVP.
Further developments
I will be more technical in the next dev log talking about my own file format, how the engine works with assets and/or configuration files, and talking about the rework I had to endure from SDL2 to raylib and how that basically revived the game for me.
I do have plans for after the MVP but I do believe it will take a good while before we reach the point I can say Conquer is a game and not just a bunch of code I package in a binary format.
If you liked what you saw, or even if you didn’t but just want to stick around, I advise you to follow me here, as I ramble about doing useless stuff.
Thank you for your time, and hope to see you soon!
~defal