Grey Zoned

Drunk Pirate: Development Log #1

Black beard plan

The Idea

As a tipsy buccaneer you’ve stumbled upon treasure on a remote desert island, but to your dismay the treasure guardians – the immortal skeletons – don’t like your plans to steal it. Therefore you must haul anchor and run away from them across this desert island in a desperate effort to find your ship. A hard task when you’ve been drinking Rum!

IMG_3533.JPG

Early concept sketch for the Drunk Pirate game – have since decided to be landscape rather than portrait.

 

I introduce to you the concept: Drunk Pirate (working title). It’s an endless runner game around a gorgeous looking Caribbean style desert island.

Your adventures will span through caves, into the jungle, across the beaches, over draw bridges and more. Watch out for those immortal skeletons jumping out at you and don’t fall behind or they’ll catch you up and what happens then might certainly shiver one’s timbers!

Development

As I write this we’re already quite far into development for the game. Regrettably I’ve been delaying writing blog posts about progress so I’ll get you up to speed.

Here was the first idea, so many fathoms away from where we are now:

earlyconcept_drunkpirate

First game concept. The idea was to negotiate the drunk character along the boardwalk to his ship. Not very entertaining!

Originally I wanted the game to work similar to Subway Surf with the bending over the horizon view. So I coded a infinite level generation script and modelled and animated a rough idea of a pirate to run in a slightly drunk manner. Then we had this:

But as the game has progressed the bending over the horizon actually became somewhat of a hindrance. So we took that away and made it landscape to show more of the view. We really want the levels to look nice and landscape offers the player to see more of it and get much more immersed into the game. Straight line infinite runner didn’t excite us any more.

We want to take the Pirate and player on an adventure through this desert island and to do that it needed to be able to go around corners. This became an issue because I’ve never done anything like that yet in Unity.

I tried animating the player through spline paths using iTween but there was a problem with keeping a consistent speed, and it would have been a pain at the level design stage with this method too.

So I pondered and brainstormed and came up with what I consider now quite an eloquent solution.

There are a series of way points in each level block, and the pirate will go to the next way point after it has met the current. When it finds the next way point instead of snapping its rotation to the new one it will slowly change direction – creating a curved corner. This way I could keep the player moving at a consistent speed and also go around corners. It will be much easier to rapidly create level blocks in the future too.

So as long as the waypoints are placed in a organised way it will nicely travel around any corner. With this new code working I re-thought the level design. I found a really nice picture and used it as inspiration for how to move forward with design:

IMG_3497

After implementing a rough idea based on this picture I had something which looked like this:

With level blocks spawning good and the curved path solution running well. It was now time to add game play features!

I want the pirate to be able to jump, slide, move left and right and also to swing his sword (there’ll be a sword!) I’m not overly keen on swiping to move left and right, which would also be a pain on a landscape game. Using the accelerometer for moving left and right works far better.

At the moment swipe up and swipe down controls jumping and sliding. Coming soon will be the ability to swipe left and right to angrily swing your sword at a devilish foe.

When you jump and slide it moves an invisible hit box which is parented to the character. This is the main hitbox which detects collision with obstacles and coins. A separate hit box is in place on the character to control going up and down terrain or over obstacles which should give more options when level design becomes the main job at hand!

With all this in the current version the game now plays like this:

With most of the game play in our next task is to work on creating more props to go in the game and create more of a level to play test and get a feel for the game. 

The existing pirate was never really meant to be the final. So I’m remodelling the first pirate now. I decided the game would look really cool if it was caricaturistic and flat shaded with minor details and gradients. So with this almost cartoony look in mind I sketched up Black beard!

IMG_3516.JPG

Front view of the first proper pirate in the game: Black Beard! Arrrr!

IMG_3515.JPG

Ye be wanting a side view with that too

I’m recording a time lapse of modelling black beard so you can expect that soon because I’m almost done, and it looks awesome!

Conclusion

So that’s all I have for now. This is my first ever development blog post. I’d be really interested to get your feedback on it. Did you enjoy it? Was it long enough or too short? Was I too vague in areas or would you like me to expand more on code or art? Any opinions, critique and plus any thoughts on the game idea and progress so far will be really appreciated if you leave them in a comment below 🙂

Thank you for reading!
Glenn

P.S. I’d love it if you shared this 😉

  • I haven’t got a lot to say but looks interesting and I think my daughter might find it enjoyable, even if he is drunk! 😉

  • I really appreciated!!!

    I’m new with Unity and was searching for integrating Facebook SDK with my game that i’m testing/learning.

    I have used the Space Shooter from the Unity tutorials and changed it to, kind of 3D, you now…

    Implementing news props, scenarios, etc, and I see your a great artist too, the black beard is awesome!!!

    You can take a look into my game in the link below, and if you could point some directions for me would be awesome too.

    http://www.officecyber.com.br/Space_Shooter_3D/WEB.html

    Thank you!!!