3 mins
Game Concepts
The second stage in development was design. So I needed to flesh out the core design a bit more. It needed a core gameplay loop which would describe everything the player could do. I needed to come up with a system to generate the levels and make decisions about this process as well as how the player would complete a level. I also needed to develop a system that would make the world map important and have impact on the rest of play. These I felt to should mostly be designed before I started development.
The first step I did was research into procedural generation and the different approaches out there. I watched videos, read posts etc. I came across a lot of different methods of doing this but I settled on the level generation happening before the level starts. This was because it would fit into the type of game I was making the best and would also allow for more complex levels to be produced. By this I mean that the level generator could pre-plan sections of the level based upon other parts more easily and have a more elaborate layout as it would know the connections between areas beforehand (I’ll come back to this point later).
The method of development for the level generator involved having a set size of the level before the process begun. This was because the first stage involved connecting all these sections up using a variation of ‘Randomized Prim’s algorithm’. This works by storing data about already visited cells within the grid and randomly deciding which one it is going to expand from. It decides this and then creates a connection with a neighbouring cell within the grid. It does this until all the cells have been opened and guarantees that all areas within the game are accessible. This developed the blueprint of the world by outlining how everything is connected. The next stage is the populating of the cells with objects, environments and items. This then will use the blueprint of the world to decide whether a certain type of tile will fit into the cell. The tiles will most likely be defined within a file for ease of altering. This system could also use information about the surrounding cells to make more informed decisions.
The completion of levels would be in serval different ways depending on the level the player was doing. This was decided very early on. There would be a range of about three different types of levels; robbery escape, assassination and chasing. The robbery escape would involve the player trying to escape the zone of the robbery meaning completion would be successfully leaving the level. The assassination levels will be completed by making it out of the level after killing the target. The chase levels will end when the player has successful caught the target. These levels will also be based around three major groups, as though the player is contracted in to do these jobs. This will gain the player experience points with the respected groups which will contribute to their level within that group. When they have levelled up the group will provide them with equipment which will allow them to get more points from the level by increasing the speed they can complete them at or find secret bonuses. The levels within the groups will also be taken into account for the player as these will be a modifier. An example of what the sum could be is:
(Gang A * Gang B * Gang C) * Total score (this being from all of the levels).
This is not final but will give high scores which will give a high sense of accomplishment much like in Call of Duty the points for kills are 100 not 1 as it sounds better. Currently at the moment I have not thought of how to have the game finish.
The core gameplay loop will involve the player deciding which routes to take through the level, jumping puzzles and how to deal with opponents. This means there has to be lots of different tiles to keep the gameplay fresh but also variations within these tiles which could be handled by the level generator.
Subscribe to this blog via RSS.
Ai 1
Blog 13
Design 8
Snake 3
Thoughts 1
Concept 3
Birdman 2
Blades of war (1) Development (4) Ai (1) Dynamic fire (1) Blog (13) Board game (1) Play and games (1) Design (8) Low level programming (10) Snake (3) Thoughts (1) Endless runner (4) Play & games (2) Global intervention (2) Concept (3) Birdman (2) Networking (1)