× Portfolio Skills Experience About

Refugee Rescue!

"Refugee Rescue!" is a sea rescue and resource management game using the Unity engine that three fellow USW students and myself developed as our submission in the 42nd Ludum Dare game jam!
Ludum Dare Page itch.io Page GitHub Repo
Beauty shot
Dev tools
The game
Refugee Rescue! puts you in command of a future catamaran cargo ship, where you are enlisted to rescue refugees stranded on various islands in the vicinity of your new homeport, Port Moresby. You must travel to rescue, whilst paying close attention to the resources you have at your disposal, possible annoying weather conditions, and modern pirates with fast ex-Naval destroyers who want to take advantage of your generous voyage at the expense of your vital cargo - the fuel need to travel, and the food and medicine for the refugees.

Despite the port name relating to a real life place, the game is not supposed to be based on or targeted at any particular event. The idea of rescue is of course something moderately meaningful and relevant, but we have tried to de-emphasis realism with comical sounds, dialogue, and end-game summaries so it is not politically incorrect.

The main mechanic and play feature is rescuing, which involves taking your ship to the coast of nearby islands to pick up refugees. The refugees will run towards you when you are close enough, sometimes shouting humourous remarks for attention. The amount you rescue is the biggest factor in succeeding in the game, with the end goal simply getting as many as possible. We incorporated the theme of the game jam here as it's about managing your limited space.

Managing the resources needed to successfully rescue will be your helping hand in your voyages around the islands. Fuel is the obvious major resource, which will help you take the operation further. Medicine and food will help with your refugee retention whilst travelling. Successful operations in small steps with help you build money up from charity donations, which in turn helps you fund more resources. You can restock at any time by visiting Port Moresby, whose location is conveniently indicated by the circular pointer around your ship.

Adding weather was our first hindrance system, which in final form features two main types and randomised density and location. The first one is a moderate fog designed to liberally confuse awareness, and the second is a usually denser storm that features rain and mild camera shake.

Piracy was considered early as an extra feature for if we have spare time, but finally implemented later on when we wanted more hindrance than just weather, ie. a real threat. Pirates will normally go about their business by steaming around the islands, but get too close and they will pursue and attempt to steal your fuel, food, or medicine. We envisioned this as a way to keep the player occupied and non-complacent.
My contributions
Weather hindrance development
I developed the weather particle systems and its randomised deployment. As I was not too experience with particle systems, the opportunity to play with them was welcomed. And with assistance from William and Greg with them providing the particle textures for fog and rain (respectively), I believe I created a system that provides mild hindrance throughout the map as intended. The system can be easily adjusted by myself and others with its given Inspector interface to refine its effect as needed through alterating particle size to simulate different densities between them.

Pirate enemy development
I developed the appearance and AI for the game's pirate enemies. I decided the AI did not need or warant too much complexity for a 72 hour development, so their operation is fairly simple. The pirates will normally operate by selecting a random destination and probing the map height forward, left and right to test for needed course adjustments. When the player is in its perceived detection range, the ship will move to intercept. One close enough, it will attempt to steal resources based on P-RNG, and if done so retreat for a while before attempting again. The player ship is slightly faster, so the player can use speed and cunning to shake them off at the expense of attempting rescues and fuel.

3D modelling
I produced both the player and pirate ship models on 3DS Max, which I am pretty happy with considering I am mostly a programmer. The player ship is a futurist cargo ship based on current military catamaran ships such as the US Navy's Independence-class littoral combat ship and Spearhead-class expeditionary fast transport - I went for "trickle-down" military design for civilians. The pirate ship is also supposed to be futurist but also give the impression they have slightly older and improvised hardware, with them using an ex-Naval destroyer based on current AEGIS ships such as the US Navy's Arleigh Burke-class destroyer and Ticonderoga-class cruiser. Overall, details are simplified but are designed to maintain the impression that one is civilian and one is hostile.

General programming
Operating on a slightly different sleep pattern and schedule to some of the others allowed me to fill in for smaller tasks in between my main responsibilities as needed to keep progress moving. Other parts of the game I have contributed to include Port Moresby handling code, refugee speech callout, player anti-beaching techniques, and camera zoom control.