For my project in week 2, I looked into C++, which is used in Unreal Engine. I mainly went through the C++ section on W3Schools and completed the exercises where you have to complete the missing input. I found the cin and cout (C-input and C-output) concepts intriguing, as well as reference and pointer variables. I’d not come across anything similar in JavaScript, my main coding language, which I actually only script in, rather than program.
Figure 1: C++ Introduction Exercises (W3Schools 2023)
I also looked at the more complicated part, how C++ is used in conjunction with Unreal Engine. It certainly looked more intimidating, because of having to learn about its templates, its way of doing things.
Figure 2: Programming Quick Start Tutorial for Unreal Engine (Epic Games 2023)
I then went on to look at C# very briefly on W3Schools, the language used in Unity.
Figure 3: C# Tutorial (W3Schools 2023)
I found the syntax comfortable (and C++’s too), so I came to the conclusion I’d be comfortable working with either engine regardless of the language.
Due to my experience last semester and even before on gaming news websites, I knew that Unity was deemed the more natural choice for a 2D game, so I decided I would choose Unity and work with C#.
That concludes Week 2. In the next week, I will look at creating flowcharts to mind map all my code before using Unity.
I’m learning computer games programming in Solent University. I will be making a development log of my ‘final’ game project in the foundation year, which will detail my journey from pre-production to post-production.
In the 1st week, we were given a brief by our Lecturer. We were to make a 2D top-down hack ‘n slash computer game. The following were our requirements:
Figure 1: Final Project Brief (Solent University 2023).
I thought these requirements were a bit ambitious for a first game, but nevertheless I took on the challenge and came up with the following plan (between the first week and second week):
Level
2D-Top-Down with camera tracking the player and scrollable in every 2D direction.
Single level with a few different areas to explore some basic combinations.
Health
3 ranks of enemy: blue have 3 HP, red have 2 HP and green have 1 HP. The player has 3 HP.
Attacks
The player has two attacks:
A strong attack that deals 2 damage and activates twice as fast as the weaker one, but the player can’t move or attack following the activation/usage for a second.
A weak attack that deals 1 damage with no recovery time.
The green enemy uses weak attacks. The red enemy uses blocks and weak attacks. The blue enemy uses blocks and strong attacks.
Movement (Translation) Speed
Player moves faster than the enemies, enemies move different speeds according to rank.
Abilities
There are 2 different types of enemy: one type can walk through walls of their colour and the other type can teleport to squares of their colour. The player inherits their abilities by defeating them (reducing them to 0 or negative HP) and you can hold multiple abilities. The player will able to swap between green, red and blue costumes with a key, which will tell the player which colour wall they can walk through or colour square they can teleport to. There will be a teleport key and only one teleport square of each colour at most within the area surrounding the player, so there’s no ambiguity about which square they teleport to. There will be icons to show that the player has acquired the ability to walk through walls or teleport.
The player has a default ability to hide (become translucent, stay in the same place, but not interact with enemies).
AI
???
Points
The Player receives 6 points for defeating a blue enemy, 3 points for defeating a red enemy and 1 point for defeating a green enemy. If the player defeats all coloured enemies of one type, they gain 10 bonus points. If they defeat all coloured enemies of both types, they gain an additional 10 bonus points. (up to 30 bonus points)
I felt more motivated once I came up with my plan, but I recognized I had barely any programming experience in a gaming engine.
That concluded the first week. In the next week, I will continue to describe what I did in my pre-production.