Scott Purcival

Game Programmer


The Dark

By on 10 March, 2018

The Dark

A bit of a late post for me, so I will make it a postmortem, i suppose.

I started working on The Dark as my first assignment while studying at AIE. It was to be a text adventure showcasing all of the skills we had mastered over the 6 month duration of the subject, and it was to use our own custom string data type class.

The concept of the game is that you are stranded in a dark labyrinth, and must find your way out before you starve.
The labyrinth offers only the occasional morsel of food, rare torch batteries, and other throwable objects.
You may use your torch to see what is around you, or throw objects that you find in a direction you choose to listen for openings.

Looking back, I would admit that I programmed this game quite conservatively, using only the minimum required data types and facets of the C++ language.
I was still at this time in a frame of mind where I looked down upon using any code that was not my own, as if it were some form of ‘cheating’. I have of course come to realise that the STL is no more or less someone elses code, than the entire C language and compiler are. However, I am still wary of adopting outside code unless absolutely necessary, as I feel this opens the door to potential bugs and inefficiencies. (as you can see, I am using Unity heavily now. I see the benefits of that engine to my development time outweigh any shortcomings.)

The most difficult aspect was the random level generator by far. I ran multiple concepts of possible generation styles with pen and paper before settling on the idea of a single winding path with rooms leading out from it.
The general algorithm went as follows;

  1. Create a random winding path from room 0,0 until there are no more possible exits
  2. Scan through the map top to bottom, left to right and find an empty room
    1. Create a winding path until there are no more possible exits
    2. Break through to nearest room
  3. Repeat 2, until no empty rooms left
  4. Randomly place start room, and exit room

I then created a handful of random room descriptions and Items to place in the rooms, and the game begins!

I would like to invite you to give it a try, it’s a simple game but quite challenging.
Let me know what you think! 😀

Download Here (Windows)


2nd Place at NASA Space Apps! :O

By on 24 May, 2017

Kickin it for NASA


So a very late update for this one – mind you that depends on how you look at things, for me the NASA Space Apps experience is still far from over.
We still have 12 weeks of MoonshotX to go, a day of Academy Xi and a weekend of Coder Factory Academy to work our way through, and Global Judging is only 6 days away :O

To say this has been an experience and a thrill ride is an understatement. It’s all thanks to AIE (The Academy of Interactive Entertainment), where i study, for sending me down to Sydney to compete, and my great team Craig Bentick and Ryan Whitmore for knuckling down with me when knuckling down was needed, and shenanigans and laughs when S&L was needed. Also my amazing wife for playing team support and pep talk queen. She called us the winners before we even arrived in Sydney and would not let up the whole weekend. XD

The video above is our global submission for our project that we made in 48hours (24hours of actual hard coding). It is a Google Daydream VR data visualisation tool, but it goes much further than that.

Our ultimate goal is to develop this into a great learning and curiosity tool, one where you can put it on, and bring up an area of interest such as, say, dinosaurs. Then you can choose Triceratops for example and lights will appear on earth, showing locations that Triceratops have been discovered. You could hover over a point to see a photo of the fossil find, and some associated data. Click the archaeologists name in that box, and bam! more data points appear showing points of interest surrounding that person, such as other finds, their university, birthplace and so on.

In this way, learning and curiosity could become all absorbing, natural and intuitive. It would create a learning space that kids would not want to leave. This is where we hope this project can go 🙂

At present, it is as it was when we left the hackathon. You can display data, play with time, and overlay information to observe correlations. Feel free to try it out on any Google Daydream compatible device. Let me know what you think in the comments!

Download Here! (Android .apk)

The Tower – update #3

By on 17 April, 2017

The Tower! update #3


To be honest, I usually post these updates so late at night, I have trouble remembering what I have and have not released. It’s only when I get feedback about issues that I fixed 3 builds ago that I realise the releases are lagging behind :O

Anyway, here are the latest changes;

  • Much testing with many people and myself and I was still not happy with the controls, so completely rewrote the control sript from scratch, to now have twin virtuSticks, and a constant on screen indicator, as people were finding it unintuitive, and trying to look under their finger to see the dPad… :/ (people are strange) – SO! we now have twin sticks for touch, and lock on targeting for keyboard to make your life easier!
  • MobAI – changes to the mob AI have given them a blind spot directly behind them, you can now perform a sneak attack for double damage! Just sneak up and dont let the slime see you…
  • MiniMap! – so many people asked for it so here it is, minimap! Its a work in progress. I have not decided on the final location of the map on screen yet, and it also needs indicators around the ring to let the player know the direction to the next objective. So, work in progress
  • Main Menu – another WIP – this is currently only for quitting the game, but it was time consuming art wise – so please appreciate. 😀
  • Other Fixes – collider fixes on broken floor lava holes, Crystals now have health bars!
  • Removed Herobrine

v0.15 – Enjoy!

Download Here! (Android .apk)
Download Here! (Windows .exe)

The Tower! Update #2

By on 15 April, 2017

The Tower! update #2


Many hours of work and many major changes to the game.
It is now actually what one could classify as a *game* – with level progression, win conditions and the like.
We now have game levels which increase in difficulty the higher you go, a persistent player character throughout the levels, and some fancy schmancy level up effects, win effects and such – oh and a UI!!

Still to do is work on the character levelling – stats, damage and the like. More classes/weapons (im anti classist – more inclined to allow the player to express their class through items and such)

But yes. getting to the point where i can start to implement a game save mechanic and work on player progression and enemy progression to more devious foes!

Enjoy the latest build below, or watch the video above!

EDIT: v0.13 HOTFIX – Fixed all issues noted in Video above.
Download Here! (Android .apk)
Download Here! (Windows .exe)

The Tower!

By on 4 April, 2017

The Tower… post 1.


Currently a work in progress for my Cross Platform Development subject, the game is set to be a diablo-esque dungeon crawler for mobile.

Take on The Tower and prove yourself to be the greatest hero of all time!

Download Here! (Android .apk)
Download Here! (Windows .exe)

GoFarts Kart Fartin!

By on 24 October, 2016


Old Pharts in Karts

A week of hard sprint down and our game is finally looking and playing like a game! With only one week left to polish (and I may have accepted the challenge to create online multiplayer…) this is our latest critically acclaimed build! Consider it as GoFarts alpha.

This is a lot of blood, sweat and frustration (tears are for pussies) so please try it out! 😀

Download Here!


By on 4 September, 2016



So we had to make a game/demo graphical application for Maths for Games to show off our matrix library.
I figured something simple would do, something like Pong, Pac-Man… Asteroids! But I didn’t wan’t it to be just an Asteroids clone bit for bit… so I got thinking… Asteroids… ASSteroids… ASS Steroids? and yeah… ASSteroids was born!

It’s better if you just play it…

Download ASSteroids! – NEW for-everyone version!!

If it will not run, get the Visual C++ installer from Microsoft here. (you should already have this)

Practice Production – Update #1

By on 27 July, 2016

Lost at sea... like me right now.

Lost at Sea.

Today is the second day of Practice Production for me. Last week we met as a group and came up with the idea of a game based around the late gorilla ‘Harambe’.

As the tale of the gorilla goes, so does our game. You are Harambe the gorilla. Children are falling into your enclosure at an increasing rate, and you have to throw them back out to safety or the zookeeper will “end your tenure”.

We initially decided Unity would be the best engine to use, so I searched the asset store and found a free gorilla asset and a low poly crowd asset. These later proved to be the inspiration for our own assets that our artists would create.

Our programmers are struggling to a degree as we have been thrown in the deep end with production in engines and languages we have not encountered yet. The design and art students have both worked in these engines before and I expect presume we are up to the same standard as them to a degree, so I will have to work quite feverishly to catch up.

After speaking to some friends from the programming stream, I have come to the conclusion that Unreal Engine may be a better choice, due to a perceived low barrier to entry. The modular ‘coding’ approach has me confident I should be able to pick up the engine in minimal time.

Today I have watched the recorded class session (as I was unable to attend due to work conflicts), caught up on the discord conversations, and reviewed all the files in the Google Drive. I am having some trouble figuring out what, if anything has been done from the programming side. So I am going to err on the side of caution and start working on the engine myself.

I am currently watching some UE4 quick start guides on Pluralsight, and downloading UE 4.12.5 (and making this blog).

Will continue to report my progress here.