Astro Csaba Gameplay Preview
I took part in the Staffordshire University Graduate games Accelerator Project Internship with the inhouse studio Bulldog Studios. My role in the team was gameplay programmer, where I took on the task to create all of the UI for the game and some gameplay mechanics, such as a pickup system. We used Unreal Engine's blueprint system mixed with some C++ to develop this game. This project lasted 8 weeks and was fully remote. Unfortunately, due to management issues, we didn't manage to create a finalized game. However, we did create a prototype with some core mechanics finalized.
Game High Concept
A group of space pirates raid an organic space ship full of artifacts with the intent of stealing as much valuable, but dangerous, loot as possible, all in a span of 30 minutes.
Game Description
Astro Csaba is a 3D, first person game where a group of space pirates raid an organic space ship full of artifacts with the intent of stealing as much valuable, but dangerous, loot as possible, all in a span of 30 minutes.
A group of 10 players have 30 minutes to find and deposit as much money's worth of treasure as possible. The loot will vary greatly and can be dangerous to handle or may have interesting properties to keep in mind when transporting or locating.
If all players work together then the money will be split evenly between the 10 players at the end of the game. Players will have the option to kill and steal their teammates money. Any player who has died will drop an ID card. When collected, their value amount from collecting artifacts will be added to yours.
Game Highlights (What I Worked On)
Inventory System
We had the idea of making the inventory system diegetic instead of non-diegetic to help with the narrative of the game. Having an inventory that you have to go and access in the 3D world shows other players that you have found an artifact and they could kill you before you get to the inventory.
I did this by making a blueprint with a camera and added a widget component to the blueprint. The inventory widget takes the items that have been placed in the HUDs hotbar and puts them in size categories. Each size correlates to a value that is added to the player's total.
The inventory is made of of a few little widgets that are combined into one widget, this makes it easier to add into the blueprint so I only needed one widget component.
Artifact Pickups and HUD
To go hand in hand with the inventory system, I created pickups for each artifact. To make this system, I used one parent blueprint that has an Enumeration attached to it that contains all the different types of artifacts. This made it easier and quicker for me and the level designers to add them in the game.
I needed a Hotbar on the HUD that shows which items has been collected. I made it so there is only three slots but there could be a maximum of one, two, or three artifacts that could fit, depending on its size.
Finally, the game needed a timer. I used a timer function that takes off one second from an integer variable every second, then once that variable has reached zero, one will be taken from another integer variable that shows the minutes.
Each HUD element are separate widgets that are added to one master HUD widget, this is for efficiency as only one widget is added to the screen on game start.
Main Menu With Sub-Menus
For the main menu background, I made a cube map texture of a galaxy and put it on a sky sphere in a blueprint. In that blueprint, I made the sphere spin continuously. This gave the main menu a really nice space look. The main menu is in a separate level to the actual game for efficiency and it is easier to go back and forth to the main menu from the main game.
I used Unreal's UMG animations to achieve the appearance of each section of the main menu.
Each section of the main menu is split up into separate widgets and then put together into one master widget for efficiency.
Pause Menu
The pause menu didn't need to be anything special. The designers only wanted a way for the players to exit the game or exit to the main menu.
If the host of the session selects either Desktop or Main Menu, all other players that were invited to that session will be removed and taken back to the main menu.
Astro Csaba Games Design Document
I did not make this document and leave full credit to our team of designers. I thought it would be interesting to see the team’s thought process on how we hoped the game would turn out if the whole internship was run differently.