top of page

Enjoying and Trying New Things

Accomplishments in Year 3

Out of all my years of studying in university, I remembered year 3 very well, as it happened to be the year where I tried my hand at game design. While programming played a large role again this year, due to the Shaders and the mobile modules, I was given more freedom to decide what I could do to personalize my projects in terms of game design. These include the mobile game I made and the game in the group project that I was a part of. 

Despite year 3 being the toughest and challenging year yet, it was still my second most favorite year of university because of what I had learned and what I had made during it.

Shaders

I remember the Shaders module to be one of the most difficult modules I have ever done. The reason for this was that the programming was difficult and was very hard to debug, and so I struggled for a lot of the module.

For the module, I was to simply demonstrate various effects using Shaders. To make things simple and to not spend too much time thinking about it, I simply made a cube to test all the effects on. These effects (shown below) include passing in various trigonometric functions (sin, cos and tan functions) and messing with the functions, changing the tessellation, applying lighting effects and applying blur.

The Shaders Coursework I made, Aka "The Tan Cube"

Surprisingly, despite the rough learning curve during most of the module, I also remembered that towards the end of it, I started to enjoy programming. I believe this is because of how the more I looked at the code, the more sense it made to me. I felt that with this kind of programming, the more you look at the code and try to understand it, the more you will eventually get and understand it. I remember it understanding lighting so well at the time, that I was eventually helping classmates with it, which was a first for me.

Looking back now, while I still find difficult, I believe it serves as a nice reminder that if you try hard enough, you will eventually learn, understand and enjoy your work. 

Mobile Programming

Programming an application for mobile phones was a very new and different experience for me. I found out then that depending on the type of mobile phone, IOS or Android, you would have different limitations and specifications to cater towards. For instance, due to the wide variety of Android phones with different hardware limitations, it would be pretty difficult trying to cater to all devices, and so it was suggested to simply try and cater to as many phones as possible to reach a larger audience. Thankfully, the module only required one game to be made on one platform, which was Android. (The reason for this I believe, was because it would have simply been easier to get started and to program for Android than it would have been for IOS)

Because there were not many restrictions, I wanted to keep the game relatively simple but to still utilize the touch screen controls, and so I went for a visual novel style of game, where the objective was to please the character on screen by dragging onto them the items, from the lower screen, in order. (Getting the order wrong simply results in a game over.) 

DDDP title.png
DDDP instructions.png
DDDP menu.png
DDDP gameplay.png

I really enjoyed making this game, partly thanks to the freedom provided by the module. The other reason for my enjoyment was because of the challenge it provided, as despite its simplicity, required a lot of tweaking to make it presentable on more than one phone.

 

The only real problem I felt, was needing to wrestle with Java, as it was not a language I was used to using. Even looking back now, I would rather use Unity now to recreate my mobile game one day, as I now feel more comfortable on C# than I am with any other language, especially Java.

There was actually another mobile game I made, where it was simply Noughts and Crosses but played with two phones using Bluetooth to communicate the two. As such, it was less game and more mobile phone communications programming. I'm not going to go into too much detail with it, as I remember Bluetooth not working between my mobile devices for two months, only to find out that communications between phones with Bluetooth is extremely fickle and will only work between some devices, and that there was nothing wrong with my code the entire time.

 

Thanks to that unpleasant experience, I would grow to forever hate mobile networking programming.

Be sure to run the DDDDP apk on your phone to install the application!

Group Project

Group Project

Group projects in 3rd year are normally where most students get their first real experience working as a team. Despite having already experienced what it was like working in one in the past, due to a game development society, I still looked forward to new and fresh experiences. Partly due to this, in the group project I decided to try out the role of game designer, as I had been wanting to design games more than programming them for the longest time. As such, I'll describe my experience from the point of view of a game designer.

The brief assigned to our team (the team leader, sound designer, 4 artists, 2 programmers, the game designer/artist who switched roles depending on where more help was needed and myself as the main game designer), was to make a horror game with a functioning day and night cycle. The mechanic for the game revolved around using a stopwatch to switch between daytime and nighttime. Set in a train station, the idea was that there would be changes to the environment depending on the time of day with daytime being pristine and clean, and with nighttime being dark, broken and vandalized. There would also be a monster chasing the player, should the monster spot the player. This monster would be visible during the night and not during the day, but it would still chase and kill the player regardless of the time of day.

dreamwalker day.PNG

During the Day

At Night

dreamwalker night.PNG

Since it was my role as the main game designer for the team, it was my responsibility for laying out the groundwork and coming up with mechanics for the game. The other game designer/artist would assist me by telling me about my role as a game designer and what else I should be doing, such as needing to keep the Game Design Document (GDD) up to date. From my perspective the first few weeks was shaky for everyone, including myself. (I imagine everyone needed time to adjust to their roles, just as I did.) However as time went on the team learned to work more efficiently and I was told by my team leader that I was learning very fast for someone who had no prior experience being a game designer, as I had maintained the GDD as changes were made and planned ahead with any puzzles that were going to be in the game. I was also told that I took my idea rejections and criticism well, having remained unfazed despite it all.

However despite my best efforts, the final product inevitably deviated from the GDD, and one of the puzzles was changed. This meant that the game could not be completed through ordinary means (as far as I know) and could only be finished by bypassing the puzzle through some walls without collisions.

Dreamwalker Missing Ticket.PNG

I could not find the ticket to open this barrier

With the exception of that one puzzle however, I believe the rest of the game can be completed. Hence in my opinion, the group project overall was a successful and positive experience. I understand the role of a game designer more because of it. I now believe that anything can happen during game development, changing the end product, just as it did for our game when compared with the GDD.

 

While I might be slightly unsatisfied with the end result, I think back to the other groups that had fall outs and other group problems. Since our group never even had a real argument and finished the game without any personal problems, I feel that that more than makes up for it.

If you are wanting to see the Game Design Document, Email me and I will send you a link to download it.

bottom of page