top of page

Putting Everything Learnt Together

Final Year's Achievements

Year 4 was the final year of my university where I could finally see myself progressing in terms of programming. Throughout the year, I would find myself not having much difficulty with the modules as I thought I would have. And it was because of this smoother experience with code, that I enjoyed my modules a whole lot more, and in turn, my final year.

 

My work included recreating a simplified version of the card game 'Magic the Gathering' (only a few cards effects were coded in), using the PS Vita to play about with augmented reality, and making my honours project (which for me, was the highlight of university).

2D Card Game

Magic the Gathering is a card game that I enjoy playing very much because of the wide variety of cards each with their own effects that can do different things. Mixed with the rules, this can make make the game enjoyable and unpredictable, depending on the cards used. With this in mind, it seemed like the perfect thing to replicate for one of my modules, as one required me to recreate a series of rules in either a board game or a card game. And while there wasn't a specific programming language that needed to be used, the module required a UML diagram and a requirements specification document to be handed in along with the game. I imagine this sort of thing is very common for game development for large companies, despite being rather alien to me.

The game I made was programmed using OpenGL and C++, as I was already familiar with both. I don't remember having too many problems with coding the entire program, as it felt relatively straightforward after familiarizing myself with OpenGL again. The only annoying thing I remember happening, was this weird bug that prevented me from loading in any pictures into OpenGL. After a few days worth of debugging, I remember a friend suggesting me to use a pointer to see if that would help, where I argued it would be pointless to try. Rather comically, the issue was instantly fixed when I gave up and listened to his suggestion. 

magic 1.PNG
magic 2.PNG
Vita Game

AR Vita Game

Augmented Reality, or AR, and 3D have been getting more popular in recent years, so it was inevitable that there would have been at least one module to focus on these technologies. For this module in particular, the focus was to create an application that made use of either of these technologies for specifically the PS Vita. While it did not need to be a game, I made it to be one to keep things simple.

The game in itself was very straightforward. Using the first 4 AR patterns, aligned in a Z formation, a board could be made. On this board, cubes would spawn in random locations where the objective for the player would be to hit as many cubes as possible before time runs out. The player can press a button that fires a laser that when coming into contact with a block, destroys it, and spawns another in another random position on the board. By using the AR patterns as the 4 corners of the board, the board itself could in theory be stretched to great lengths by moving the AR patterns further apart, as long as the Vita camera could still read the 4 AR patterns.

Video of the Gameplay and AR of the Vita Game

I remember the programming in itself was not too difficult once a small amount of the application had been implemented (programming the Vita to read the AR codes was not required since that was already inbuilt and done for us, which I felt, was the meat of the programming), and I feel setting up and getting started was the more difficult part. This was perhaps due to the fact that I had no prior experience with using AR technology before and how to implement it into the Vita at the time.

bottom of page