This is my final post related to this module. I’ll discuss each step I’ve taken throughout and
reflect upon the process.
I began with research, I used a variety of resources to gather as much information
about C++ & the basics as possible. I conversed with programmers and other game-dev
professionals, they were incredibly helpful and shared a lot of information. I could’ve asked
more follow up questions based around their answers, I didn’t understand the concepts
they were pointing me towards. I know the point is to learn the concepts suggested, but
it sounded quite complicated at the time, this discouraged me a little. Aside from that the
research went well, I was pointed in the right direction, found some great resources &
managed to talk with professionals.
The next step was to learn the basics of C++ and make use of the resources collected. I
aimed to complete every hour I’d set myself and learn as much as possible, which did not
play in my favour. I didn’t feel I was learning the right things and progress seemed slow. It
wasn’t until week 3 things became somewhat clearer and progress sped up.
Another problem I had is the 2 huge books I’d acquired to aid my learning. The books
themselves were great, but I definitely didn’t have time for both. I ended up reading the
first few chapters and moving onto the next book for the rest of my learning. This wasn’t
a giant problem as the book I primarily worked from was game development specific. The
other was more a C++ dictionary covering countless features (helpful as I could constantly
refer back to it when things became unclear).
I didn’t finish either book, but I think I made good progress throughout this task. I got to
a point when the author stated the basics had been covered. This was the last week of
learning and honestly I was thrilled to hear that, I’d thought I’d taken a wrong turn and
hadn’t learned enough. But with my last few hours I managed to take a step further and
learn some advanced features.
What did I learn? And how close was it to what was suggested to me during my research?
Well below are the concepts suggested:
- Object-Oriented Programming (OOP)
- Virtual functions (polymorphism)
Looking back at what I was told to learn I feel as I achieved the requirements of this task.
I can honestly say I understand what each of those concepts are and I know how they’re
used in C++. Polymorphism was the biggest struggle, however, this was a more advanced
feature. The fact I managed to introduce myself to it and attempt to understand it was a
So what would I do differently? Not much, though it didn’t seem it, what I had learned was
very helpful. I would’ve tried get through this process faster, what should have taken 4
weeks took 6, eating into the time I had for the rest of this module. I managed, but I think
this hindered the total quality of the next task.
The final task, make use of C++ and build a prototype within Unreal Engine 4 (UE4). The
biggest obstacle I had to overcome was the learning curve, the code had lots of engine
specific uses. Due to this, I had to spend some time learning about the engine and its built
in types. This does not render what I learned in the last task useless, most of it converted
over quite easily (e.g. int is int32).
After learning about the engine I was ready to attempt my own project. I began by
creating an interactive door, I thought it would be a simple start but it required more than
I thought. After I moved to the next room where I decided to extend the door class and
make the player race it before it closed. This included a lot of functionality even within its
simplicity. I was learning quickly making things work right took a lot of work and thought.
It took lots of trial and error but I eventually got the hang of things and aimed for more
The biggest hurdle was the last room, firstly I wanted a lot more in it, I’d planned the
player to win 2/3 minigames then a green door would open. I had to cut this a lot after
running into many problems getting a shooting range minigame working. I ran into
crashes, bugs and problems trying to tie it together, due to this I had to finish with just one
It’s difficult to say how I feel about the product produced, it could include more, however
I’m very proud of getting what’s in there working. Considering the entire point was to learn
C++ at an entry level I’d consider that a success, everything may be simple but I made use
of many different programming concepts. I managed to learn from the entire experience, I
understand more how UE4 works. I definitely learnt a lot about debugging/problem solving,
it had to be done for every asset.
What would I do differently with this task? More planning, I didn’t design the game from
the start. This meant when It came to making something I was lost. If I’d designed
something specific, I’d have known exactly what I was doing & it would’ve been easier
creating the prototype.
Before finishing I’ll talk about the project as a whole. As I’ve said I think the tasks set out
was accomplished, this is the biggest success of the project. If repeated I’d aim to research
the engine before I used it. This would save time & I’d have been able to instantly start
working. Excluding that I’m satisfied with how everything went, it wasn’t easy (especially
the prototype) but I expected challenges from the start. Encountering problems and
overcoming them just added to the overall learning experience.
Word count: 1000