top of page

Getting the Hang of Coding

Achievements in Year 2

Personally, I found Year 2 to be pretty forgettable. For the most part, the majority of the modules were simply building upon what was learned previously in year 1; such as learning how threading in programming worked and learning about pointers. That is not to say that it was all boring theory however.

One module required us to create a 3D scene using code via OpenGL, as a means of familiarizing with 3D programming for the next year. While another module required a level to be created using Unreal, which I imagined was to teach us the basics of game engines (Unity was not completely free at the time).

OpenGL Scene

Sometime during the first semester of the 2nd year of university, I had a dream about a waterfall flowing down into a river, with trees on the riversides and a floating wooden platform in the river itself. This was the scene that I had intended to create using OpenGL for the module. I remember having difficulty trying to understand how to use OpenGL initially, trying to wrap my head around how it generates and draws objects. But towards the end I was happy to at least understand how it eventually all worked. My only regrets was not having enough time to implement reflections into my scene.

In the video you can see that I had implemented: drawn shapes (the trees, raft and riversides), scrolling textures (waterfall and river), a skybox, imported image with the correct UV coordinates, camera controls and inverted textures.

While it was nice learning how to create a scene using code, I still preferred using blender, or any other kind of modelling program, to create a scene. This is because I found this programming method to be very time consuming.

A Video of the OpenGL Scene

Unreal Engine Level Design

My first experience with a game engine, was with Unreal. This was because we were to required to use Unreal to create a level that a player can play through.

 

At the time I was not enjoying programming due to my inexperience with it and had a tendency to make a lot of inefficient code. To be able to create things without code seemed like an interesting and new experience, hence why I enjoyed designing and creating my level for the module. I remember having difficulty getting started and getting used to the engine, from placing objects to trying to put in enemies to shoot. But once I got used to it and finished the more difficult parts of the level, it made me really happy seeing something tangible and playable that I had made.

A Playthrough of the Level

My one regret looking back now is funnily enough, the fact that I didn't interact with the code. At the time, I didn't like how the player controls felt to play and wished I could change it to be something more smooth and less clunky. If I had interacted with the code, I might have been able to fix this and add features to make the level more enjoyable to play.

bottom of page