Tortuga Tales Pinball

Hi Everyone

After practicing all Game dev related skills for two years now and having done a few personal prototypes I reached the point of developing a title planned for market release and this is my current progress. I have been working full steam since the start of January on this project.

Tortuga Tales is a classic pinball experience with video pinball elements. All the raw mechanics of the game have been developed and has been tested on Android tablet , web player and stand alone so far. I dont have mac desktop/mobile machines so cant do anything for that market yet.

The project is at roughly about 80% complete , I am currently finishing off building a new UI and atlasing system which then needs to be integrated , so that will be the next update.

More work on adding sound effects , more/better DMD animations and some graphics updates for this current play filed can be expected in future updates. Lastly there is a planned second play field for once you enter the tavern after completing all six missions on the table, that is the last leg of development to complete.

Controls for desktop are :

Shift keys for flippers
Enter key to launch ball
‘z’ , ‘/’ , ‘Space’ keys for table nudge

Currently working aspects are :

All raw game Mechanics including camera ball tracking ( you can activate this from the menu for any camera view ). Table nudge has no limit at the moment for dev purposes.

Hitting the mission gobble hole and completing the 3 skill shots is the point of the game and the only way to get big scores. If you hit the wishing well 6 times you will get a multiball mode. Mode stacking is supported. Score multipliers are achieved via the multiplier ramp by the wishing well. Multipliers are reset when a ball is lost.

Poly count is about 32000
Draw calls are between 22-46 ( max is when lights are blinking )

Here is the web demo of current build to test the table - click here -

ps: I have the web player html set to use the full browser space but sometimes it loads with a gap at the bottom. A refresh removes this gap but I wish it didnt happen at all so if anyone wants to looks at the html or knows about why this happens please help me here?

Hello again all my silent viewers

I have reached the next update goal and the new UI system and graphics have been completed. ( not atlased yet )

For all online data im using Scoreoid free account , check them out they have a really good API and great service.

Other new additions are new sounds , DMD animations and custom DMD shader.

I had to change the controls because of a bug in Unity regarding using two shift keys at once :
http://forum.unity3d.com/threads/178942-Unity-3-5-7f6-dual-shift-key-bug

Flippers are now Left/Right Control keys
Table nudge is Left/Right Shift and Space
Ball Launch is still Enter key

This really sucks though as it’s kind of a standard for PC Pinball games to use the shift keys for flippers.

I have disabled the intro scene from this build for everyone who wants to try it so it gets straight to the game, HOORAY I spared 20 seconds of your life for something else.

here is the direct link : CLICK TO PLAY

For anyone who didn’t read the first post , this game is built for the mobile market so what you see here runs great on android mobile devices (3 devices tested so far )

Thanks - ps I do actually like feedback , I promise :wink:

Hey, just thought I’d give you some feedback :slight_smile: . I like the theme and placement of all of your objectives quite a bit. The game is definitely pretty fun to play in its current form.

Just a few things I would change if it were me (Keep in mind that I pay a lot of attention to detail!):

-Replace the trees with something more tropical (palm trees or something, as cliché as that may be, it would fit the scene better)
-The texture that you used on the outermost wall, I think it should be adjusted or another texture used altogether to fit the underlying geometry a bit more.
-I’m not sure where the score is placed on mobile devices but on my PC it was in the corner…which I think is a bit distracting and hard to read once the game really gets some velocity going.
-The table itself seems just a tad bit short
-I like the music but it would be nice to have another track as well

-It feels like it is just missing a little extra oomph

Overall though, like I said, I think the game is definitely fun/playable. Just a little constructive (hopefully) criticism. Game On!

Hey Ian (hope I can use your name without problems, since it’s quite visible on your website ;)),

I love flippers! I have to admit I was rather skeptical before trying yours, since I know how difficult it can be to make a working one and nail the physics and general feeling, but I was definitely very impressed by yours. Here goes the feedback:

First of all… it works greatly and is fun to play!!! Which, considering how difficult it is to make a flipper game (I know, I’m repeating myself), is impressive and awesome. I like the atmosphere and the layout, and love how the figures duel in certain occasions and how you used the cannons to shoot the ball.
The fake digital led is fantastic too, and truly faithful to flipper history: I have no idea how you did that (or better: I have a couple ideas, but not sure if they would really work).

Some cons now, which are always good:

  • At least a couple times, I’m sure I hit the “mission” hole, but the ball went straight inside and then bounced back out (not on the borders, mind)
  • I agree with ZedalisDesign that having palm trees would suit better the set, but I actually like the trees you used very much.
  • I wanted to say that I didn’t like the “realistic” textures like wood etc. But then I realized I didn’t like them when the camera was making the initial fly-through. But when you see the whole table they fit very well.
  • Pleeeease show more players in the highscores :smile:
  • Score values need the thousands separator. Otherwise it’s very complicated to understand exactly how much points you’re talking about
  • I might be wrong with this, but the ball seemed slightly - but very very slightly - less bouncy than usual. When I used the classic trick of lifting a flipper to have the ball slide up, then pulling it down and hitting the ball at a different angle, it felt “different” (but again, very very slightly, and I might be totally wrong)

Whew, that said, eiffel tower for your game (hope you saw IT Crowd, or you’ll never get my reference :smile:)

Thanks Zedalis

Its funny you mention the trees … they are the only thing of my entire game I did not model … and I actually do have some toonish palms I modeled myself some time ago … will put them in for next update.

The texture on the outer wall has been changed 3 times already LOL . If you have any reference images of something you think would look better im willing to look at your idea

The DMD ( dot matrix display ) will be dragable so a user can move it if required , for mobile the top right corner is the best possible position to not cover to much of the playfield , so this is its default start position.

The playfield dimensions are standard size but I have reduced the camera’s FOV so I’m sure this is why the table looks shorter at lower angles. Try using the camera menu and choose view 1 and you should see it is standard length.

more music tracks would be neat I agree. I did the music myself and its quit challenging to make something nice . Will get back to this once the table is complete as a nice to have feature.

yes more oomph! I know - im trying haha

thanks for the feedback

Love this! Very nicely done!

Some random nitpicks (all of these are minor things from my perspective):

  • The power bumpers have a sound that’s much too muted, which is unsatisfying.
  • I love the little tour of the table at the start, but after that the camera is really static. Maybe animate it a bit depending on what’s going on?
  • When you drop a ball the table should make more fuss in terms of lights, sounds, counting down bonus and so on.
  • The table should indicate when it’s waiting for you to launch a ball.
  • The high flipper (top left) is quite hard to get right as a beginner (which is OK) and there’s not nearly enough reward when you do (less OK). Even if it’s not going to be valuable in game terms, at least make a visual/audible fuss to reward the player.
  • Missions and other bonuses are all too subtle. All very quiet and low-key and I could work out what was going on.

But it’s basically great, so good job! :slight_smile:

Thanks Daniele

I don’t mind my real name been displayed.

Yes the physics was really a touch and go affair , just tweaked and tested physics surface values , mass,forces and table slope etc till it had the best feel for now. I might have gone in a few circles and overstepped some better configurations who knows. For example I have bumped global gravity value to about -170 I think instead of the default -9.8 something. table slope is -4.8 deg.

I admit I think I have almost set most all bouncing in physics surfaces to zero as it was always to much , I could not tweak that right - the best solution was extremely little/no bounce . By best i mean best I could do for now with the settings I have

The flippers are capsule colliders and use proper hinges and use hinge motor forces. The electric bumpers rely on colliders and triggers with timers to simulate/fake their real world mechanics.

about the trees , I mentioned above I will change those to palms on next update.

I can add a scrolling mask area for high scores so more can be displayed.

The DMD consists of standard sprite sheet animations with a black and white texture of the led pattern above with a custom blend shader. the blend is

Blend DstColor SrcColor

This looked better than just an standard transparent shader or a blend that causes a mask ( Blend Zero SrcColor ) because of the DMD texture pattern been quite fine ( the dark areas ) it made the sprite sheets real color look darker an optical illusion.

Sadly I have not seen the IT Crowd , youtube here I come … :wink:

thanks for the feedback

Thanks bateleur

I toned down the power bumper sound because a friend said it was to harsh, good to hear a different perspective now. I will look into getting/making another sound again, I admit its not the best sound currently.

The camera can be very active if you like its just not on by default. In the camera menu you can activate ball tracking for any of the camera views. Im not sure if this should be on by default or not as some virtual pinball players love it and others dont. I wish I had some numbers to go by here as to choose the best default action.

Im still working on more light sequences and getting more oomph as Zedalis described it. I should definitely hype up the table more after launch.

The flipper top left is used or not used depending on if you want the ball to land on the right or left flipper for the next shot … this matters in game play to get all the mission skill shots in a faster time frame ( there is a bonus for speedy mission completions - I still need to write the table guide and put it in the menu ). I did think of adding a bonus for if you time the ball well with this flipper it gets a good speed down the rail … could score something on that.

Without a table guide not all scoring avenues are obvious , on the table the only visual means is with table lights/DMD animations. But I get what you are saying for sure. I will see what else I can squeeze in to make current missions and bonuses more exciting and perhaps add even more layers to modes etc…

good feedback thanks

Having played a little more now I think the missions and objectives are fine in terms of scoring and difficulty and so on, it’s just the feedback to the player that’s missing - particularly relatively new players (because let’s face it, people form impressions of games quickly, fair or not!).

Yes agreed! More feedback is always a good thing. running timers on the missions etc … I think more sounds will help here as well.

ok I took my old palm tree model i mentioned I had done some time ago and refreshed the texture a bit to suite this scene and baked .etc…

I think it looks great , thanks to everyone for the suggestion. I have not uploaded it online yet but here is a screen grab to see how it looks now :

I have to admit that, even if I loved the previous trees, the palms indeed look great and better (and obviously more fitting) :slight_smile:

Wrapping up…

Hello again

So pretty soon after my last post made here and having made a few changes I read an article from a long time game developer here :

http://jontunnell.com/2013/03/postmortem-quick-shooter/

you can also read this related article from the same devs :

http://makeitbigingames.com/2013/05/things-spotkin-learned-that-may-help-you-in-the-app-store/

So based on the info in these articles I decided to version of the project for release so I can move onto the next game to make.

First I posted a customized version on Kongregate using their API to give the game some exposure :

http://www.kongregate.com/games/shaderbytes/tortuga-tales-pinball-3d

Pinball is already a niche market as it is but on Kongregate its seems to be even more as there were only a few hundred plays. Most of the few comments on the game were positive though.

A few days later I noticed it had been hacked from Kongregate and existed in several eastern websites and a few french sites. Someone even released it on google chrome store and tried to change the name. Internet… go figure. I only logged a complaint to chrome store to have that one removed ( it has been removed now ) and wont bother about the others.

Next - Android version for Google Play :

Here I received a huge slap in the face I never expected in a gazillion years … I cant sell my app on google play! Google only supports a hand full of countries to register for merchant accounts. This really hurt … they have made it possible for me to spend my countries money in their store and buy any game I like but I can not earn any money selling games. You can still upload a free game and make money with advertising …but I dont want adverts in my game.

So here I began researching alternate markets and after a few days of R&D and registering all over , phoning the IRS to get an EIN number , coping , scanning , faxing and mailing all sorts of personal documents I have just gone live a few minutes ago on the Opera app store :

http://apps.opera.com/en_za/tortuga_tales_pinball.html?pos=4

I have also successfully registered on the samsung market and the game is currently going through the approval process at the moment.

There are some others which I am also waiting upon. After some time when I have not made enough sales I will set the game to be free … like most beginners end up having to do.

So hooray I managed to go full circle and complete a project from zero to market release. Now I need to create a game in a popular genre and see if I can improve on this experience…

Great to hear all this. And that Google thing sucks badly, but I’m glad you found other ways. Goodluckfive and most of all congratulations for going full circle! :slight_smile:

Thanks Izitmee

Based on all the information on the web regarding how realistically tough the mobile market is at the moment I very much doubt I will see any traction in regards to sales but at least my first project is done and serves as a notch in my portfolio :wink:

If anybody wants a desktop version its free to download on PinSimDB , its quite nice to play full screen …

http://www.pinsimdb.org/pinball/table-5285-tortuga_tales

Ok I added a free version on Google Play :

https://play.google.com/store/apps/details?id=com.IanPretorius.TortugaTalesPinball

Hi :slight_smile:

Nice work so far. Are there any methods of fixing the input lag, or is that not doable from Unity scripts? (Ie. the flippers trigger around 100ms after the ctrl key is pressed)… also, is the lag worse on android or around the same…?

I was considering using Unity for a mobile pinball project to take some of the headaches out of dual platform dev, but I’m veering back to straight C and bullet lib (having seen the input performance issues on this dual core 3.2ghz machine)…

Cheers,
John :slight_smile:

Hi gyrox007

The way I see it you can divide input lag into two categories, Minor and Major.

The cause for this can be based on Device and OS as well as purely human varied perception.

For device and OS its obvious you can do little to make it work exactly the same everywhere.

I take it you played the desktop version? since you are still asking about android? Just so you know android can have delay based on the device its running on and on how many other app are open etc… so no matter if you use unity or write your own code … you have no control of hardware to OS performance issues.

• Minor Input lag is debatable between various user experiences on machines in general because you cant look at it from a pure machine point of view ( meaning there is a point of perception above the proven numbers in the pipeline of hardware to screen that entails the human aspects eye to brain to muscle reaction, pressing the key , touching the device etc) this would vary by milliseconds that do not matter, there should be no concern here.

• Major input lag would be experienced consistently by the majority of your users and would have to be rather high like in hundreds of milliseconds.This would be a concern.

You are mentioning “around 100ms” input lag which would be in the “major” category.

I have not had consistent reports of input lag , I did get a few but in the same breath also had others say it was very responsive and my own personal experience is that of no lag( I have a duel core 2.7 pc and android single core mali400 tablet ) - so lag reports are not consistent and I can not classify it as a major problem. Check the foot note below anyway as a matter of interest.

• Based on lots of research myself googling around I can say that there is no known core problems with input lag in Unity engine itself (meaning the actual engine code which interprets input from the OS and sends events to the compiled scripted languages)

• The scripting languages in unity are fast enough , I used C# and tested the time between looping key codes interpreting key press sending events with delegates and again looping event results and then calling a method in the flipper class takes about 0.00533 seconds

• In this game the flipper has a steep angle and a rotation of 70 deg, it uses a physics motor and obviously has a time frame to get from 0 to 70 based on the force applied to the motor. Perhaps this motion time is been interpreted as delay to you.

foot note:

I am busy building another table and have tweaked all my physics settings which included increasing my ball and flippers mass and the force applied to the flippers is much much stronger now , the degree of rotation is also not as steep 55 deg this time.

Hi! Love your work on Tortuga!
I am also trying to start development on a pinball game, albeit in 2D instead of 3D. I manage to fix some of the collision detection stuff, but one thing that still bugs me is, when the flippers are in holding position (holding the ball), and when you let the flipper go, the rigidbody physics will push the ball away up, instead of letting the ball slowly glide down the flipper like what normal pinball does…
Beats the hell out of me figuring out what is the glitch here, unless i need to tweak with the physics again.
Hope you will be able to read this fingers crossed