I want to make Video Games: The Process - Phase II
Hello everyone, let’s have a quick recap first. You can skip ahead if you do not wish to repeat!
In the previous post, we discussed about that there are 3 stages of Video Game Development, Pre-Production, Production and Post-Production. We further discussed the Pre-Production stage of Game Development. We discussed how the team sits together and brainstorms idea. Then those ideas are mixed and matched to make a concept which is documented and finally a prototype is developed. We let some players play the prototype so we can see if the core game mechanics are fun.
Once we are happy with our core mechanics in the prototype, we move on to the next stage which is Production. If the prototype is not well-received, it’s wise to stay in pre-production stage and re-think the game.
The Production stage is the second stage of Video Game Development. If we did our preparation with in Pre-Production stage properly, we would be more than ready for this. The work list in production stage is more role-specific, as in each task is to be done by a team member with specific skills.
I am listing Level Design first as it is the hardest of the Design related work. I am not going to explain the intricacies of Level Design here, as the topic deserves a whole post of its own. Levels doesn’t only mean designing 200 levels in a mobile game. Level Design is essential in every game. Even FPS games like Battlefield and Open-world games like Witcher 3 or Skyrim need to have Level Design.
How does Open World games have levels?
Level Design basically means defining the interaction of a player with an area or architecture. Even in open world games, even though the whole world looks seamless, it can essentially be divided into several small sections.
For example, in Skyrim, each cave has a different layout, set number of enemies and items that spawn. In Witcher 3, the special points on the map that you investigate, have a specific architecture, enemies and item placements and these things always stay the same.
Thus, in this stage, each level has to be custom built in such a way that they not only reflect the Game Design but also give the player a sense of progression.
Some key questions to answer while creating levels are:
What is the objective of the level?
What are the Game-Mechanics that the player will use to achieve the objective
What are the challenges the player will face in this level?
Do overcoming the challenges give the player a sense of achievement?
What is the reward the player will get by defeating all the challenges in this level?
Is the reward worth overcoming the challenges?
Finally, and most important, does the level generate emotion in the player?
So many questions? Why is this so complicated?
As mentioned before, level design is the hardest part of game design. Levels can make or break a game. If a level is too empty, too boring or repetitive, players will lose interest in the whole game. However, we will cover this in more detail in the post dedicated to Level Design. Level Design starts from pen and paper but can also be done digitally in software like SketchUp.
A level design for an area done using sketch-up
For now, I am going to leave you with some key points of good level design.
A good level:
Is fun to navigate for the player
Does not rely on words or cut-scenes to tell the player what to do or what’s happening
Tells the player what to do but not how to do it
Teaches the player something new about your game.
Is surprising and empowers the player for playing the game well.
Creates all kinds of emotion in the player
Accentuates the main game play
Writing for Games
This deserves a special mention as many people avoid it. Writing for games is essential and is done in this stage. In the pre-production stage, you will have a story summary for your game. However, defining the characters, writing the dialogues, defining the relationship between your story and the game mechanics is a different ball game altogether.
A few things to keep in mind while writing for games are:
Writing for games is different from writing short stories or novels.
The writing has to be structured because of interactivity from the player.
Lots of branching paths in the story as players are unpredictable.
Story and character MUST fit gameplay
Different genre of games will have different styles of stories
For example, what if the characters in any of the FPS were pacifists? Would the story be enjoyable?
A classic example of good character would be Vaas from FarCry 3. The reason why the player got so much motivation in the story was because of the maniacal villain.
Another example would the story-line in Witcher 3. The narrative strongly complements the gameplay as most of the story quests are related to investigation or killing enemies, which is the core gameplay. However, the reason Witcher 3 is so acclaimed is that despite the game having almost similar types of quests, it never gets boring because of subtle variations provided by the story.
The option of asking for money in the dialogues is to emphasize on The Witcher's Character Trait
(Screenshot from Witcher 3 Wild Hunt)
After the prototype testing and receiving feedback, all documents related to the game have to be updated. This is crucial as there are going to be many updates or changes throughout the game. If the documents are not updated and shared with the team, the production will fall into disarray as every team member will be on a separate page.
Why would the game change at this stage?
Game Design is prone to change quite often. If not done by the team itself, clients, investors or even players will demand changes. Features can be replaced or removed completely. The story itself might change. A new target audience might look more appealing and half the design might change to suit their needs. Thus, the documents need to be kept updated with all the changes throughout the development process.
UI or User Interface Design also needs to be done in this phase. UI designing is also a tough battle as the UI should provide all the information a player needs at any point without being a hindrance to the view of the game itself. There is no fixed formula for UI design as every type of game requires a different type of UI. However, while designing UI, we should remember the science of “Ergonomics” (again a topic for a dedicated post).
First Maths, now Science? But I came to this field to have fun, not prepare for exams!!!
Well, as mentioned before, Game Design is not equivalent to Gaming in anyway. Yes, you need to play games while designing games. However, the purpose of most of the sessions are to research and study the games to learn what works and what doesn’t work.
Keeping Ergonomics in mind while designing UI is a necessity. A simple example would be to consider the vision of a player.
Did you know that humans have different cones of vision for colours, shapes and text?
This means if we place important text or shape (in case of buttons), out of a certain vision range, players will not be able to clearly distinguish the information fast enough or even notice them at all.
Human vision divided into different cones of vision
Another information we get from the study of human vision is that the cone of vision for colors is bigger than the cone of vision for text or shapes. This tells us that players will be able to see and react to color changes or information faster than shapes or text!
The concept art should have been finished in pre-production stage. In production stage, the art assets need to be developed so they can be implemented in the game.
But I have already drawn so much!!! How much more?
Concept art and art assets are significantly different. Concept art defines the look and the feel of the game! However, this art has be converted into assets which can be used in the engine on which the game is being made. The art production depends on whether the game is in 2D or 3D.
In case of 2D, the following things have to be made:
Sprites: Characters which can move in game and objects which are to be used in the game. Even visual effects such as particles or weapon slashes have to be drawn as sprites.
Sprite Animations: The non-static sprites need to be animated which means each sprite will have several frames of animation to support it.
Environment: The art required to make up the game levels and maps such as the background.
UI: The art for the User Interface has to be made such as game menus, the heads-up display, buttons, etc.
In Super Mario Bros., Mario and the enemies are sprites, each having several frames of animation. The blue sky with clouds, the platforms and even the green grass fall under environments. The Lives shown on the top-left corner is the in-game UI.
A sprite sheet where each frame of animation is drawn separately
In case of 3D, the following things have to be made:
3D models: All characters, environment and objects have to be modelled in a 3D software such as Blender, 3DS Max or Autodesk Maya.
Texture: Texture is basically the skin or the paint of the 3D models. These are done in 2D and then applied to the 3D models. Texturing is done using software such as photoshop, substance painter and blender.
3D model rigging: Once the 3D models are done, we have to put “bones” in objects to be animated so they have the ability to be animated. These bones depend on the character itself.
3D model animation: Once the rigging has been done, the characters or the objects are animated.
Lighting: In case of 3D, lighting plays an important factor. The lighting dictates the mood of the game and makes the 3D assets look more realistic by adding shadows and other fine details.
VFX (Visual Effects): A lot of effects such as explosions, particle effects, etc have to made separately as well.
UI: You need UI in any game, 2D or 3D. Just mentioned it here to clear any misunderstanding. UI assets can also be 3D, depending on the style of the game itself.
Let’s consider Witcher 3, which is a 3D Game. Everything from the main character, the enemies, the weapons, the NPCS, the buildings to the grass are 3D models. All models have separate textures which give them their colour. The models are rigged and animated which lets you fight with the main character and kill enemies which also attack back and defend themselves.
Some areas are bright whereas some areas are dark and this is achieved via lighting. All of the main character’s spells can be considered as Visual Effects. The heads-up display showing the health is an example of UI.
3D Modelling for a fantasy house in progress
Optimizing Art Assets
Once the art assets are made, we cannot just think of them as complete. The assets have to be optimized before putting them in the engine.
My creation is an epitome of perfection! Why does it need optimization?
This is also the key difference between the Animation and the Video Game Industry as in the animation industry, one does not have to bother much with optimization as the end product will become a video. However, in the case of Video Games, the end product is an executable program which are going to be installed and executed on computer systems by millions of players and not everyone has high end monster desktops.
If the art assets are not optimized, the game will be unnecessarily heavy on systems and might not even run properly because of system limitations. You might say that “Why don’t people just get better systems?” but basically you are losing a huge chunk from your target audience.
Example of asset optimization from Unity Engine Manual.
Implementing Assets and Coding the Game
Of course, implementation of these assets in the engine works parallelly. Once the assets have been made and optimized, they are implemented in the engine itself. This process might get quite frustrating as there are frequent bugs during this phase. Even with the most careful preparation, bugs are unavoidable.
This stage also is one of the longest stages and continues almost till the end of the project. All features are coded to make the final “build” (executable file) of the game.
It’s good practice to have multiple builds of a game so it’s easier to go back to a previous version if necessary. Engines are also prone to crashes so it’s wise to keep backups of the builds in several places.
So, it's only up-to the coder now?
To be honest, not really! Implementation of the assets in the engine is also done by an Artist, or a Technical Artist actually. If a team has only 1 artist, mostly they will be implementing the art themselves as the programmer will be busy with coding the features.
Thus, the builds should also be shared with team mates as the programmer alone cannot be doing everything in the engine. Using version control tools such Github and Perforce or using in-built version control such as Unity Version Control helps sharing the builds between teams and working on it simultaneously an easy task.
Art Assets implemented in the unity engine to make the game look visually appealing
Testing and Reiteration
If I haven’t mentioned it earlier, testing our games repeatedly is the key towards making a successful game. As mentioned before, games are developed for players and not for our personal liking. If we ignore feedback we receive from players, our game will not be able to reach as much success as we would hope for. Testing the games repeatedly using not only in-house testers but also actual players will help us best possible version of our game.
While in-house testers help in finding bugs and errors for our programmers to solve, actual players help in solidifying the game experience as a whole. Thus, we will divide this section in 2 parts
Bug Testing: Performed by in-house testing
Milestone Testing: Performed by actual players
Bug testing happens throughout the production phase and starts as soon as there is a playable prototype. Since bugs are common in a video game in development, these testing as necessary so that we do not ship a faulty product. Once a bug is found, it is reported and then the programmer fixes the bug. A good tip is that if someone can replicate a certain bug/error 3 times in a row by performing the same actions, then it’s worth correcting immediately.
Milestone testing is different. Usually during production phase, projects are divided into milestones for ease of project management.
The common milestone terms you will hear are:
First Playable: The only difference between the first playable and the pre-production prototype is the implementation of some key art assets and major game mechanics and systems in place. It is also referred to as Pre-Alpha stage.
Alpha: In alpha milestone, all the features are implemented and major chunk of art assets is finished implementing. In this stage, features can still be added and removed based on feedback
Beta: In beta phase, the game is finished. Only removal of bugs remains. At this stage, no changes to the code, features or the art is done.
It is highly recommended to test with players at each and every milestone and keep modifying your game to achieve the best product possible.
After the beta milestone is finished with most bugs removed, the “Gold” version or the final version of the game is released to be sold on either digital platforms like Steam, Itch.io, GoG, etc or physical copies in retail stores (which are rare nowadays).
Hold your horses!!! There is still Post Production to do!!!
This concludes the long production process of a game. In the next post we would be discussing the Post-production phase of the Game Development process. Hope you enjoyed the post. Looking forward to hearing from you!