Game: Lost in Paradise


The new action adventure from the creator of Goatkeeper:


A unique experience :palm_tree:
Explore the beautiful 8-squarefields Paradise, randomly generated every time you play

Intuitive controls :joystick:
Use the all new 2-axes-double-confirm controller and lots of other buttons

Main and side quest :scroll:
Find an exit of the Paradise and help an old friend along the way

Action-packed fighting :crossed_swords:
Face different enemies and beat them with a thrilling fighting system

Loot items :school_satchel:
Comb through the jungle and find useful items

Competiton :trophy:
Compete with your friends and reach the top of the highscore

Game settings :woman:t4::man:t4:
Play on three different levels of difficulty and select one of nine unique characters with the same winning chances

Bug fixer :x::heavy_check_mark:
Fix a bug (happening rarely when tables load too slow) on your own with just two additional buttons on the controller :smiley:

100% Coda :spiral_notepad:
Made with 13 tables, 122 controls and 36 formulas, Lost in Paradise sets new standards in the Coda game development industry :space_invader: :yum:

and even more to explore on your own…

Screenshots (click to expand):

Main menu

Unexplored map

Controller overview





Ingame footage


To play, open the shared document, make a local copy (click the arrow at the document name) and start:

Get Lost in Paradise :palm_tree:

New Chapter: Game: LIP2: Out of the dark 🕯

Let me know if you run into bugs, have questions or suggestions :slight_smile:

Game: LIP2: Out of the dark 🕯

Wow!!! This is absolutely awesome! I would like to develop small games in Coda but I’m actually having a lot of work on our proper games in Unreal Engine :stuck_out_tongue_closed_eyes:


This is so freaking cool! Love what you have done here and all the error handling too! Playing now.


Daniel, this is amazing! Love all the attention to details and how you’ve used buttons!


:clap: :clap: This is amazing Daniel!


:hushed: :raised_hands: Super impressive, incredible work Daniel!!


Thank you all :slight_smile: really appreciate it. Had a lot of fun putting it together :raised_hands:t4:


Super fun idea - and incredibly helpful to have a look at the “engine”-sections. Thanks for investing your time and sharing this!!!


Out of interest: @Daniel_Stieber, how long did you roughly work on this?!


@Philipp_Alexander_Asbrand-Eickhoff about 10-14 hrs during a cold in bed. The basic game was just a couple of hours but putting in the details and fixing some bugs took some time.

Because I talked about it with the dev team and it is maybe interesting for some who wants to go deeper with buttons:

Why do you need to confirm your moves?

Click to expand

I needed to make multiple actions in two tables with one button. That is easily possible with „push buttons“ and multiple buttons that fill multiple tables. But if one the buttons calculates something and saves it in a table, the other buttons will will be executed before that result is filled actually in. So they can’t relate to that result, if they need to.

For example in the fighting system:

  • A calcuation, similiar to rolling a dice, checks if you hit or miss the attack. E.g. if you attack left and the diced number is above the strength of the enemy, you win, if it is below you lose.
  • To remove a live or destroy the enemy on board and the world behind it, I need multiple other buttons, that change different tables & rows, depending on your result. I save the attack direction in the table currentfight, so that all these other buttons can now relate to it.
  • But if I would do all that in one buttton, the game would check if you win or loose the fight BEFORE the direction is saved in the currentfight table and wouldn’t work proper.

So the solution is doing it in two steps:

  • Clicking on a direction saves this direction in currentfight. currentfight column “state” adds a random number between 1 and 10 (that’s your dice). A variable called fightstate (you can find in the engine labled “won last fight”) now calculates, if you hit or miss.
  • The confirm button can execute all other buttons that check the fightstate and make necessary actions.


I thought Vienna also has a wonderful summer at the moment?! Makes me rethink my trip to Austria next week…

Considering the complexity and error-free-ness (as far as I tried it out) I would have guessed it must have taken even longer…

Get better soon and thanks again!


It was actually super intuitive and besides that 2-3 workarounds it was a smooth run without much thinking about it.

Weather is beautiful here :slight_smile: Felt weak after a long-haul flight and a week later I was in bed :man_shrugging:t4: Now fit again :muscle: Write me a pm if you visit Vienna and want some suggestions or want to make the first European Coda Meetup :sunglasses: