The idea of a dark science fantasy game is one that I have had in my head for a long while, I even wrote a few chapters of a story in mock up of this idea. When this assignment was first given to us I figured that now would be a great time to bring the idea to life, however rather than try to push my fully fleshed out world into the wild, I figured that I would start by making a game entirely mechanically driven. I decided that I would blend some ideas taken from modern First Person Shooters (an extremely popular video game genre) modern roguelikes (a video game genre that relishes the idea of iteration and procedural generation) and Squad based tactical games (games more akin to chess, but often more grand and fanciful).
I began my research into these games mechanics by looking at the steam libraries (essentially a game collection that is hosted online) of myself and my boyfriend.
This is where things will likely become gamer jargon and technobabble, I am really, REALLY sorry, all you really need to take from this part is that I did my research into some games to gather ideas.
Firstly, First Person Shooters. Counter Strike : Global Offensive is a game that I have been playing an unhealthy amount of lately, and this is mostly due to its deep, yet simplistic shooting mechanics. Essentially, the speed at which you move affects your accuracy with guns greatly, and only a few well placed bullets are needed to win in a shootout. This encourages players to play a deadly game of peek-a-boo with their opponents, wherein the player hides and shoots their opponents as rapidly as possible when they come around a corner. However I figured that in the case of a game with random level generation (I’ll get to this later), I would rather the player feel like they are exploring the level, and that while they should need skill to shoot straight, they shouldn’t feel too dependent on having to wait for enemies. I then decided to do a little research in what it is actually like to use a gun, I first looked at a primary source, my brother, who had undergone naval training.
Basically he told me that shooting straight requires “gun stability,” obviously while standing still certainly helps this, what helps more is implementing solid, stable objects into the way you shoot. Leaning against walls, lying on the ground, or resting your gun against something are all very helpful ways of doing this. Once again, implementing this into a game could be rather complex and more importantly, could slow the pace down quite a bit. While it is true that there are moments that tension and waiting could be good, for the most part, I would rather avoid that. So in order to get some skill requiring shooting mechanics that are still enjoyable, I decided to take a leaf out of the books of crywares games: have the player interact with the environment.
The player should have to stop to shoot, this is true, but they should be able to do this quickly and dynamically, and it should depend upon the weapon. Atop this, their accuracy when they shoot should be determined by the environment around them, and if they can they should interact with the environment. Naturally, the depth of this environmental interaction should begin very simply, and development of it shouldn’t overtake development of the entire game, but it would be nice to have some depth to these mechanics.
Starting simply however, Having first person shooter mechanics wouldn’t be necessary for me to make a successful project in my opinion, but having them would be great. the most important features of the FPS genre are simply: Sprinting, Shooting, Crouching, Jumping, sighting and hitting opponents.
The Less important features that would greatly improve the game are: Cover peeking (basically using cover to aid your shooting), wall leaning.
Something that would be cool to add might be: Parkour?
Roguelikes are a genre that has begun to become insanely popular, typically with tragic storylines, a roguelike is a game that pays homage to the classic videogame “rogue”
This was arguably the first game to truly utilise randomisation within the very design of its levels. Instead of simply using a random number generator for a few stats or enemy and item positions, rogue made its levels completely change their format and difficulty based on the millisecond hand of your computers inbuilt clock, and a series of complex algorithms, atop this, the game became progressively harder as you played through it, and death would cause you to have to completely restart the game from the very beginning. Losing all progress, and equipment.
Games that use these ideas are known as roguelikes, and in recent years roguelikes such as “The Binding of Isaac,” “Rogue: Legacy,” “Spelunky” and “Faster Than Light” have gained wild popularity.
The concept of the roguelike is one that celebrates iteration, reusing the same assets and ideas in differing formats in order to create variety as the player dies and begins again. I personally feel that this very genre of game is a perfect encompassing of what this project is all about, and atop this, that the act of programming one of these games is equally a part of the artwork. Some brilliant ways to uniquely expand on this however would be to take the procedural generation of these games, and to implement it into the weapons, characters and enemies within the game.
Starting simply however, the most important features of this genre to implement would be:
Random level generation, Death permanency (death can cause characters to be removed from the game if there is more characters than one, and complete failure forces the player to completely restart the game.)
Some interesting ways to expand the game would be:
Random character and item generation.
Tactical games are often referred to as virtualised chess. Requiring a great deal of strategy within combat in order to overcome your opponents. These games also often contain more large scale strategy tactics, like base building or castle building within them. A great example of this genre is Xcom, however instead of making a game that progresses through a turn by turn basis like XCOM or chess, I would prefer to make a game that instead involves issuing commands where the player can pause and unpause time at will. Allowing the game to give the player time to think, as this will allow me to make a more interesting AI system while also allowing me to potentially add the First Person system.
Essentially, I feel developing this aspect, before the Roguelike or First Person elements is the best way to make a game I would deem successful, as in my mind, creating something with squad based tactical gameplay and roguelike elements would be more than enough to make a successful game.
The most important aspects to take from this are:
A basic squad based command system. The Ability to pause and resume the game at will. Basic AI system.
Some interesting things to add would be:
More complex AI system, A more complex cover system.
To summarise these ideas, what I want to develop, what I need to develop, and the order in which I need to develop these ideas is as follows:
Play and Pause game at will
(Player can press a button to make the game continue or pause, while paused they can issue their units commands)
Basic commands for a group of units
(A simple, Select character and order character system. This will simply be moving and attacking.)
Basic AI system
(Simple pathfinding logic and attacking logic.)
Random Level Generation
(The ability to construct levels on the fly using either prebuilt modules, or fractal logic. Most likely modules to begin with, fractal logic is likely to be a want, not a need.)
Random Character Generation.
(Both of the above would enhance the way that this piece interacts with the idea of iteration)
Base and character building (for the player)
A more complex cover system.
A more complex AI system.