Table of Contents
- Introduction
- Section 1 - 3D Visual Design
- Section 2 - Production Management
- Section 3 - Pre-production
- Section 4 - Production Techniques
- Conclusion
- Reflection Video
Introduction
This class has taught me a lot about 3D modeling, working in Unity, and using programs like Photoshop and Illustrator for images. I re-learned how to make 3D models and the use of modular design which allowed me to make assets faster. I also learned the valuable lessons of pre-production and how planning larger tasks can reduce the workload that is felt later. In Unity I learned more advanced code and learned how to import assets and swap between scenes in a game. I also expanded on my illustration skills while making many art assets for my portfolio and other activities. Throughout this year I have learned many different skills that eventually led to the completion of the game Kart Racers.
Section 1 - 3D Visual Design
Modeling Reflection
The use of modular design is a very important and helpful skill to know when making 3D assets for video games. The reason for this is that when assets are made with modular design, they can be broken down into their individual pieces used for variety. Because each asset is made of a set of smaller assets, these smaller assets can be configured into new walls or vehicles that would otherwise take more time to create seperately. While modular design may mean that the original assets take longer to make, in the long run it is more beneficial because it reduces the time to make new assets while also keeping the same style and dimensions as the originals. Overall, when creating assets for games, the use of modular design is very important and will help keep creation time down while providing the same results.
Artifact 1 - 3D Modeled Outpost
This is a model I made of an outpost using modular design. This was our first project where we learned modular design and every part of the model is able to be broken up and moved. I also added some materials to the model and those are unable to be moved which is why you are unable to move the individual wood planks on the floor.
Artifact 2 - 3D Modeled Barbed Wire
This is a 3D model of a barbed wire fence that I made to go along with the outpost above. Once again I used modular design to create this and every part of the fence can be taken apart and reassembled. This would allow for longer and taller fences to be made as well as increasing or decreasing the distance in between barbs.
Artifact 3 - 3D Modeled Barrel
This is a 3D Model I made of a barrel that went along with the previous two models. Instead of using modular design for this model, I instead focused on the details of it by extruding and beveling faces in order to create the shape and overall design of the barrel.
Section 2 - Production Management
Team Reflection
Whenever a video game is created it takes a lot of work and time to both design and model assets as well as code the game. Because of this, it is common that most if not all games are created by teams or companies where many people are working together at the same time. This allows for individuals to assign themselves to different roles and focus on one part of the game. Because individuals are working on many parts at the same time, it allows games to be produced quicker while also providing more detail and effort in every section. Most commonly it is found that there are groups that focus on creating 3D assets, creating 2D art, and programming the game. Along with this, most teams have a lead who makes sure everyone keeps doing their work and assists when needed.
In the game that my studio B.A.N.J.O.S created called Kart Racers, I am the groups programmer and my main focus is to make sure all the gameplay works correctly. While I can help with creating art when needed, my main focus is to code how everything interacts in the game and to compile all the assets at the end to finish the game off. Coding has always been my strong suit and because I have this role, it ahs allowed me to focus on coding and what I do best. Having roles for the team allows for each person to focus on what they are best at and makes the development of the game better overall.
In the game that my studio B.A.N.J.O.S created called Kart Racers, I am the groups programmer and my main focus is to make sure all the gameplay works correctly. While I can help with creating art when needed, my main focus is to code how everything interacts in the game and to compile all the assets at the end to finish the game off. Coding has always been my strong suit and because I have this role, it ahs allowed me to focus on coding and what I do best. Having roles for the team allows for each person to focus on what they are best at and makes the development of the game better overall.
Section 3 - Pre-production
Planning Reflection
Pre-production is the work done before assets or code starts to be produced. This can include basic ideas like brainstorming or more advanced ones like mapping the choices a player can make. Either way, pre-production is a vital part of the game design process as it allows the team to work together and figure out the path they want the game to take. In this stage is where all of the art styles and choices are decided and teams usually make what is known as a GDD or Game Design Document. This document is where every choice is written down so that when production is happening, team members can refer to the document in order to find answers for what they need to do. The reason pre-production is important is that it is the time when all choices on the game are made and when the team thoroughly discuss every aspect from the art to the UI and player experience.
Design Reflection
When creating a game it is very important to consider how the player navigates the game and what keeps them interested. One of the main ways to keep players interested is to give them choices or even just an illusion that they have choice. This illusion of choice is known as convexity and is an important aspect to master as a game developer. The primary goal of convexity is to give the player a sense of choice that always ends up returning to the same place. A great example of this is the game Super Mario Odyssey. In the game there are multiple occasions where the player gets to decide what world they want to go to next. This sense of choice ends up with the player having to go to the other world afterward no matter what. This use of convexity insures that the player goes to all of the worlds available and while they do have a choice, it ends up not mattering. Giving a player choice is vital and while it is possible for the choices to create different routes, it is common that no matter what choices a player makes, the end result is the same.
Artifact 1 - Mapping Choices & Convexity
Below is a convexity map my team and I made for our Kart Racers game that shows how the screens and gameplay choices flow. As you can see, no matter what choices the player makes, they always get to the same ending which gives the illusion of choice. This illusion of choice is known as convexity and it is vital in every game created.
Artifact 2 - Create a UI Prototype
Below is a PowerPoint of what a UI would look like for a First Person Shooter game. Starting at Slide 1 each button can be clicked to show what screen would come next in the UI interface. This continues until you reach an info screen and this presentation helps demonstrate how a UI should be mapped and which screens should be where.
Section 4 - Production Techniques
Production Reflection
Working in the Unity game engine has been frustrating but rewarding. For starters, it is very complicated and takes a lot of time to get used to all the functions that are possible. Along with this, it is very hard to know the limits of Unity because it is hard to find or learn about certain aspects of the editor that are very valuable. On the good side of the editor, I find that it is very easy to find all the assets I have added as well as all the scripts that I am using. As we have used it throughout the year I have continued to get better and through one of our projects at the beginning of the year, I learned how to make terrain. Another positive that Unity brings is that you can have multiple scripts assigned to different objects and the process of assigning them is very easy.
A large part of game development and working in the Unity editor is adding affordance. Affordance is showing what is possible for the player by adding lights or other clues. This affordance can show players where the end of the level is or even where a secret room with hidden loot is. Mastering this is one of the keys to making a good game as it makes sure the player never feels stuck or is wondering where to go. In our game, we added checkpoints for the player so they know they are going in the right direction and do not get lost. Along with this, there are fences on the outside of the course which show the player cannot go there. Overall, adding affordance is very important in game design and when a game does this poorly, it leaves the player feeling stuck and unhappy.
A large part of game development and working in the Unity editor is adding affordance. Affordance is showing what is possible for the player by adding lights or other clues. This affordance can show players where the end of the level is or even where a secret room with hidden loot is. Mastering this is one of the keys to making a good game as it makes sure the player never feels stuck or is wondering where to go. In our game, we added checkpoints for the player so they know they are going in the right direction and do not get lost. Along with this, there are fences on the outside of the course which show the player cannot go there. Overall, adding affordance is very important in game design and when a game does this poorly, it leaves the player feeling stuck and unhappy.
Artifact 1 - Design a Game Environment
Below is a video I made of a whitebox for a level of our game Kart Racers. In the video I show off the track and explain the different obstacles that are found. I also mention the item boxes that would be glowing as a way to add affordance and show the player that they are useful.
Team Reflection
As the programmer, I was one of the main people working on the game in Unity and helped my team lead import, arrange, and organize everything. Along with this, I created the backgrounds for all of the different screens on the menus. Working as a team allowed me to focus on the technical aspects which I am much better at and I think that because I got to focus on this, it allowed me to pay attention to smaller details. Finally, I helped playtest, bug fix any problems we had (which were a lot), and make sure everything on the technical side of the game was functioning correctly.
I think I fulfilled my role well as I helped as much as I could on all the technical aspects of the game. I think that for the most part, it runs well and that playtesting helped a lot for us to decide what we wanted to add or change. While most of the decisions came down to my team lead, I tried to help as much as I could even when my team lead wanted something other than what I wanted. Overall I think working in a team helped a lot for us and I think that we all did our roles very well as the game turned out pretty good for the most part.
I think I fulfilled my role well as I helped as much as I could on all the technical aspects of the game. I think that for the most part, it runs well and that playtesting helped a lot for us to decide what we wanted to add or change. While most of the decisions came down to my team lead, I tried to help as much as I could even when my team lead wanted something other than what I wanted. Overall I think working in a team helped a lot for us and I think that we all did our roles very well as the game turned out pretty good for the most part.
Artifact 2 - Main Menu Screen
This is the screen that is used on the main menu of the game and it can be seen when loading up the game or after pressing the menu button on one of the other screens.
Artifact 3 - Win & Lose Screens
Below are the two screens you end up on whenever you either lose or win the game and are found every time one of these events happens.
Artifact 4 - Code Examples
Here are some examples of code I made for player movement and lap counting. This code is all made in C#.
Artifact 5 - Final Game
Below is the finished product of our game Kart Racers. The main way you can see my contributions are through the scene backgrounds even though I did help with the scene shifts and figuring out all the menus.
Conclusion
Taking this course has really helped me not only learn how the game production cycle works but also how to work as a team to create something greater than one person can make. Throughout making this portfolio I have seen my growth in artistic skills and how they have progressed. It has also helped me keep my technical writing at a higher level through the reflections and blog posts. In terms of the programs we used this year I have become a lot more advanced in almost all ways and I now have the ability to create multiple genres of games and assets. Along with my progression in skills, I have also learned how to time manage well and how to plan before creating. These things have allowed me to work quicker and since I have a plan, it allows me to reference it whenever I become stuck. Overall, this class has helped my time management skills as well as my skills in creating 3D assets and other artifacts.