Defining the Core
Even under the highest workload, I just can not force my mind to NOT think about new ideas. And one of these accompanies me for a long time. Exactly this time is the only measurement, I use, to judge if it is a good idea to investigate any further or not. And the following idea kept growing and its vision became clearer with every week that passed.
But before jumping directly into an engine, the idea needs to prove itself first, by creating its detailed concept. The amount of detail is determined by the amount of content I need to derive tasks from it that will result in my first playable prototype. This post would get to big if I would go through every concept element, therefore I will only present the main pillars, or the core.
Concept Roots
Actually, this idea is an old one I already followed once which became my “Steam Shooter Project”. This new project is going to be its successor. “Why don’t you just continue?”, you may ask and the answer is relatively simple for me:
Going almost pure C++ is one of the restrictions I gave to myself to strengthen my knowledge in it. SSP was done in Blueprints only. There was a time, I started to convert it into pure C++ but it was too complex already. And I didn’t follow certain programming principles I wasn’t aware of, at this time. It bases on two blueprint plugins from the marketplace and I always had some minor issues with them anytime the engine got a major upgrade. There is no need for them anymore by working in C++. The fourth game programming semester is coming up and all the experience, I already gained, is missing in SSP and is only hardly addable.
Main Pillars
The player should experience taking part in an armed conflict. They should have an idea of what it meant to shoot a weapon or being shot at. Still, their own avatar’s live should have a value to them. Acting tactically should give the players an advantage. Gaining knowledge of a map over several sessions shouldn’t be possible so that each situation feels like one that never happened exactly like that before. Therefore, my main pillars will be:
- Online First Person Shooter
- Utilizes Steam to broadcast a gaming session or to join a session of a friend.
- There will be up to three teams competing against each other. The last team standing is the winner.
- Each team can be freely combined with any number of players and AI-agents.
- These AI-agents will base on my real-world military training as far as I can go.
- I am considering a target group that prefers combat simulations over action-oriented gameplay (e.g. Escape from Tarkov over Apex Legends)
Agent-driven Combat Tournament
These pillars should be reflected in the project’s name. I came up with “Agent-driven Combat Tournament”.
“Agent-driven”: Not the widest spread term but for everyone knowing something about AI, an agent represents a character that is driven by behavior. And these behaviors should be very present in the game.
“Combat”: It is obviously something about fighting. But this term is more precise than just that. As a military term, it also tells something about the size of that fight. Army versus army would have a “battle”, civilian person versus another civilian person would have a “clash” and a squad versus another squad would fight a “combat”. Time is also integrated into that term. If we would talk about a fight that lasts for months, we would call it a war or a conflict. Combat on the other side will persist only for a short duration of time and only a sum of those would have a major impact on a large scale conflict.
“Tournament”: This word should reflect some kind of competition that follows a certain ruleset and implies fairness. And as you cannot play it with your own, it also represents the online pillar.
The acronym “ACT” should tell the player that the one who acts is in advantage to the one who just reacts. And it reminds me to act instead of overplanning certain elements.