Software

Maui Fishing for Pimoe Obstacle Game

I’ve recently been working on a unity game in order to improve my object oriented programming skills via C#. It’s a very simple game based off of the myth of the Demi-god Maui fishing up the islands of Hawaii–there are many variations of the story sprinkled throughout Polynesia.

One version of the story recorded by Martha Beckwith explains that Maui seeks the help of his mother, Hina who tells him that on the night of Lono, Maui can physically unite all eight of the islands together if he successfully catches Pimoe, a giant, mystical ulua fish with his magical fish hook, Manaiakalani. As a final warning, Hina tells Maui to never remove his sight from Pimoe or else the great fish will escape. On the night of Lono, nine alae birds (mud hens) send warning to Pimoe, but Maui catches the youngest alae bird and uses it to bait the great fish. Maui and his brothers set off on the epic fishing journey in uniting the islands together as they grapple with the giant Pimoe. As the islands pull together, a calabash floats by and is picked up and placed into the racing canoe. Out of it springs a beautiful woman. Crowds of people on the islands cheer at the sight of the wondrous woman that for a split second, Maui and his brothers steal a backwards glance, only to lose the great Pimoe into the watery depths. Slowly the islands returned to their original positions.

This story has a really awesome narrative and so many motifs that could be dispersed throughout this simple game. In the game world, the player starts out as Maui as soon as he has caught the great Pimoe on his mystical fishhook. The alae bird’s call is heard once the race begins. As the player navigates through the course of randomized objects, they may recognize various sizes and shapes of the actual Hawaiian islands. If the user hits the island and the collision is detected, then the game is over. In order to add a score-based system to this survival game, the user must catch as many coconuts as possible in order to supply their player with food and water along the trip.

Since this will be a game for mobile use, a tapping feature will be used to move the player between the objects. Unfortunately this only dictates one motion therefore the user can only move left or right. In order to give the game a bit more depth, a current will be felt at the start of the game. In order to change the current, the player can collect randomly dispersed calabashes, which will redirect the direction of the current (different hawaiian legends depict different winds of the islands being held in calabashes). This will not affect the scoring system, only affect the direction the player can move Maui. Unfortunately I am not sure how to integrate the beautiful woman into this scenario without making the game too complex…maybe more brainstorming is needed.

Eventually as the player picks up more coconuts, the rate at which the player moves will slowly increase thereby increasing the difficulty of the game. So far I have been able to implement the following:

  1. Generating various cases of randomized, dynamic game objects within the limits of the screen
  2. Changes in the direction of gravity depending on an input
  3. Scoring system based on collision detection
  4. Screen boundaries for player and objects
  5. Constraining user’s velocity along a single axis
  6. Destroying dynamic game objects upon collision or once off the screen.

There’s still a ton I need to implement such as the following:

  1. Little animations of 8 alae birds (one missing) flying across the screen before the game starts
  2. Another animation of Maui losing Pimoe once hitting the islands
  3. Audio of the alae bird at the start of the game
  4. Calabash changing the direction of gravity (controlled by space bar right now)
  5. Restart notice at the end of the game
  6. Game object depicting best score
  7. 5 more islands as obstacles
  8. Better graphics for Maui, islands, coconuts (looks like basketballs), calabashes, background–just better graphics in general!!!!!!
  9. Increasing frequency of obstacles/speed of falling obstacles as the game progresses (figuring out how to do this so the track is still playable)
  10. Changing the control settings so this can be used on the phone (tap settings vs. keyboard settings)
  11. Do something to the edges of the game…maybe adding a current?
  12. Better coding practices (removing redundant code).

While the game is not totally inline with the story, it seemed like a pretty cool way to integrate storytelling into a simple game. Essentially Maui is never able to unite the islands together into one physical land mass. This is the same plot line for the game. The user will never be able to unite these falling islands together, but what they can do is try to survive as long as possible before the inevitable. Hopefully they have some fun while playing too. Here’s a little snippet of what I’ve created so far. Unfortunately this is the only screen recording software I have on here…Mahalo!

Beginning stages of game development.

Author

smundon@bu.edu

Leave a Reply

Your email address will not be published. Required fields are marked *