Game Concept - The Dragon's Lair

Hello Blinks Dev Community,

Like many here, I found out about blinks from the recent community pack Kickstarter. The open source and collaborative nature of Blinks game development seems pretty cool/unique, and it got me thinking about what I would like to see in my “ideal” blink game. The result of that brainstorming session is found below. I do not currently have any programming or game development experience, but do have plans to teach myself as best I can once I receive my kickstarter blinks/dev kit in a few months. I do have some doubts though that I’ll be able to pull off a game this complex with my limited experience. As such, I figured that I’d put it out here on the forum in case a more seasoned developer wanted to give it a go.

Blinks Game Concept: The Dragon’s Lair

Background: You’ve come to the Dragon’s lair with one goal in mind: To make your fortune plundering the vast treasures (Gold, Emeralds, Rubies) that await inside. There is, however, one problem. A fierce dragon awaits you and will not be easily parted from his treasure. How much can you collect before your luck runs out?

Players: 1+

Blinks: 6+

Setup: Separate out one blink per player to be treasure hunter blinks and one blink to be the dragon. Single click blinks once to make them treasure hunters (Player Blinks) and double click to make the dragon. Arrange all remaining non-player blinks around the dragon in any configuration desired as long as each non-dragon blink has at least one side open and available for the treasure hunters to attach with. This forms the lair. Long press the dragon blink to begin the game.

Description: The treasure hunter (player) blinks will have three sides: Yellow (Gold), Red (Rubies), and Green (Emeralds). The dragon blink will be orange. Each blink in the lair besides the dragon will be randomly assigned a color of Yellow, Red, or Green. Players must connect their treasure hunter blinks to the lair blinks so that the colors match to collect the treasure. Once the treasure has been collected, lair tiles go blank for a brief cool down period (About five seconds), before returning again as another randomly assigned color. Each treasure collected is one point, and players must collect as much as they can before their “luck” runs out. Each player starts the game with three luck points. This is reduced by one each time the player takes damage by either connecting to the lair with the incorrect color, or by being adversely affected by a dragon attack.

The dragon has three attacking moves:

  1. Fireball (Orange light (Fire) rapidly propagates out from the dragon blink throughout the lair and any treasure hunter blink attached to the lair while affected loses one luck.
  2. Tempest (Fierce gust of wind from the dragons wings blow through the dungeon as purple light rapidly propagates out from the dragon. Players must hunker down and quickly connect to the lair during this time or lose one luck.
  3. Void (All light is temporarily sucked from the lair and lair tiles go dark for 10 seconds. Players can still try to connect to lair tiles to collect the treasure if they can remember the lair layout, but risk connecting the wrong color and losing luck).

Every time a player loses a luck point, the lights on their treasure hunter blink get dimmer. The dragon attacks will get more and more frequent as the dragon is enraged by its stolen treasure and it eventually drains the luck from all players. (Starting at 25 seconds before first attack, 24 seconds between first and second attack, 23 seconds between second and third attack, and so on until end game or lower limit of 1 second is reached).

Win Conditions/End Game: After all luck is lost for a treasure hunter, the blink changes to score mode which shows how many treasures were collected by that treasure hunter before luck ran out. This mechanic still needs to be worked out. (Perhaps a yellow flash would be hundreds, red flashes are tens and green flashes are ones. For example 132 treasures would be represented as one yellow flash followed by three red flashes and then two green flashes. This would repeat until the game is reset.) If playing single player, try to set and beat your high score. If playing competitively, highest score wins.

If you’ve made it this far, thanks for reading about my random game concept. Hopefully someone will find it interesting enough to give it a go, or at least utilize some of the game mechanics in their own game.

5 Likes

I made it this far even to leave my thumb up :+1:

Welcome to the club!

To the main idea, I think is a great game! And should be really easily implemented. I think you should try by yourself, I can tell you is really funny to play around with the code.

I’ve never done it and I managed to make a game even without having the blinks yet, because you can play around with the code!

About the difficulty to implement it, all looks great except just one thing that maybe must be redesigned.

Let’s go to the case, dragon attack point 2. You said: Player must connect quickly or lose one luck. For me this sounds impossible to make properly, cause if you don’t connect it, that blink CAN’T know that has to lose one luck for being out of time or not connected. And doing it by hand can kill the frenetic gameplay! But I have some ideas on how to implement it (for example, connecting all characters even if they are out of time to keep playing, that way all character receives the code)

For the rest of the game, pretty cool!

I’m enjoying a lot the game programming and have some time now with all the covid thing, so if you want some help to develop that idea, just ask :wink:

As an improvement of the idea, one cool feature can be the addition of some cool graphics, the gold pieces for example, they can blink, to make it more difficult, and also, one cool feature, you can mine some gold, but you get the point only if you finish! So if the dragon attack, you remove your blink, but other player take your spot, that player can get that point!

Thanks for the feedback! I can definitely see how the second dragon attack could be difficult to implement. One idea that I had to tackle this issue was for all pieces in the lair to keep a running total of the number of tempest moves that have occurred so far. The treasure hunter blink would also keep track of how many tempest moves have occured, but would only be updated if it is attached during the attack. Luck would automatically be lost by the treasure hunter blink if it is ever in disagreement with a lair piece on the number of Tempest attacks that have occured. Thus, the penalty would be incurred at the next reconnect with the lair play space. The tracker on the treasure hunter blink would also be corrected at this time so that it will not continue to penalize the treasure hunter blinks on subsequent moves.

I really like the idea of mining for gold! It could potentially take longer to get that treasure, but also be worth more points to encourage the additional time commitment. My gut would say mine for 3 seconds and receive 3 points or something along those lines, but this should be easy to tweak for balance at a later point.

Updated graphics to further differentiate the treasure pieces and add variety would also be a much welcomed addition. I’m definitely starting to dip my toes in the trying to understand game development on blinks, but won’t have a lot of free time to devote to it until late fall. I will definitely try to work out some of these mechanics to build my ability at that time. If/when I have enough components figured out I’ll definitely try to cobble together a prototype if no one has tried by then! In the meantime, I definitely don’t mind if people want to take this concept and run with it.

I just think on that idea of “updating it” later when connected, the only bad thing here is all communications you should put together at same time.

Blinks have 6 spots for communications eachone with 2 possible states, if you mix it, you can get it multiplied, 2^1, 2^2, 2^3 and so on, for example:
Space 1 and 2: Dragon is doing attack 1, dragon is doing attack 2, dragon is doing attack 3. (3 out of 4 spaces used)
Space 3 and 4: the 3 possible materials AND 3 possible faces of each player also if you combine them. (Again 3 out of 4)
Space 5 and 6 free, you can put here the count of the times the dragon have done attack 2, but you can count up to 4 only! (2^2)
Also you need at least 3 gamestates, for dragon, players, and materials, but for this game I think you don’t really need to send that info to have it working.

Assuming all communications are communicating at the same time of course!

Maybe best and easy idea is just send gamestates or number of players (4max) so dragons wait for all players in attack 2. Of course you have to read also count of players at the begining of the game to work properly!

I love the idea, maybe I can give it a try these days just to try and show you the code so you can also learn a little bit the basics! (Again, I’m a newbie! :laughing: so don’t expect too much!)

Thanks for the detailed response! It was very interesting to learn more about the data transmission limits of the blinks themselves. I can see how you would definitely want to try to limit unnecessary data transmission where possible. Indicating to the dragon the number of players ahead of time and having it wait until all players are connected does sure seem like a much easier way to address the issue. It would be fantastic to see how these game mechanics translate into code! Thanks for all of the help, and the feedback! I definitely appreciate it! I’m really glad to hear that the game sounds interesting to other people, and am excited to see how it develops over time.

Hello Everyone! I have officially begun development on The Dragon’s Lair, and will hopefully have a V1 prototype for everyone to try here in the next few weeks. There have been a few minor changes to the game mechanics that I think will really help with the pacing of the game and add gameplay variety. These will be outlined with the release of the game code on GitHub and a new post here on the forum. I am also adding the option to play with multiple dragons for an added challenge. Another option that I am considering in a later version is to allow for the option of direct player control of the dragons for additional game modes. This will probably largely be dependent on whether there is enough code space available. The code will likely be pretty buggy since I don’t yet have any blinks to test on, but hopefully users here on the forum will be able to assist me with bug/play testing it until I receive my dev blinks.

1 Like

image

1 Like

Hello Everyone! Please find the attached link to the first iteration of The Dragon’s Lair below. This was my first foray into coding of any kind, and I do not yet have the Blinks developer kit so I have unfortunately been unable to test the game. That is to say that I’m guessing this first version of the game will likely be pretty buggy. It does compile though, and the code works well in my head. Hopefully that will translate through and make for a working game. It would be amazing if some of you here in the forum could try the game out for me, and let me know what you think! I’ll use the feedback and bug reports received to help further refine the game until I can test it for myself.

The rules of the game have changed a bit from the initial scope laid out in this thread, so I am going to go ahead and post the new complete rules below:

The Dragon’s Lair

6+ Blinks
1+ Players

Setup:

  1. Seperate out one blink per player to be treasure hunter (player) blinks and one blink to be the dragon.
  2. Triple click a blink to set to treasure hunter, long press to set blink to dragon (hold off until ready to start the game), double press to set back to lair tile.
  3. Arrange all remaining non-player (lair) blinks around the dragon in any configuration desired as long as each blink has one side open for connection.
    Alt Setup - If only playing with 6-9 blinks, arrange blinks in a straight line with the dragon at the end.
  4. Long press the designated dragon blink to set role and start the game.

Rules:

  1. Treasures randomly spawn into the lair playspace for the players to collect.
  2. Treasure hunter (player) blinks have three colored sides - Yellow (Gold), Red (Rubies), and Green (Emeralds).
  3. Players must match the correctly colored side of their blink to a treasure to score points.
  4. Each red (ruby) and green (emerald) collected gains the player 1 point, while each yellow (gold) collected gives the player 5 points.
  5. Yellow (Gold) treasures require the play to mine (be connected to them) for 3 seconds before awarding their points.
  6. Players collect treasure points until their luck runs out (all 3 luck lost).
  7. One luck is lost by incorrectly connecting to a treausre or by being adversely affected by a dragon attack.
  8. The players current luck count is displayed by the three white lights on the treasure hunter blink.
  9. The Dragon has three attacking moves:
    A. Fireball - Orange light (Fire) moves quickly throughout the lair. Any player attached to an actively affected tile looses one luck.
    B. Poison - Pink light (Poison) moves slowly throughout the lair. Any player attached to an actively affected tile looses one luck.
    C. Void - All light is sucked from the Lair, and players must collect tiles based on their memory. The incorrect matching penalty of one health still applies.
  10. Dragon attacks get more frequent as the game progresses eventually resulting in the end of the game.

Win Condition / End Game:

  1. After a player has lost all of their luck, their blink changes over to score mode.
  2. In score mode, lights of different colors flash in quick succession followed by a several second gap.
  3. To determine your score, count the number of Gold flashes in the group and multiply by 100, and then red by 10 and green by 1. The sum of these numbers is your score.
  4. If playing single player, try to set and beat your high score.
  5. If playing competitively with multiple players, the player with the highest score when their luck runs out wins.

Resetting the Game:

  1. Double click all treasure hunter (player) blinks and all dragon blinks to temporarily set them back to lair tiles.
  2. Setup the game again following the provided setup rules above.

Challenge Mode:
*Additional dragon blinks can be added to scale the difficulty of the game up. If playing with multiple dragons, spread them throughout the lair evenly.
1 Dragon - Normal
2 Dragons - Hard Mode
3 Dragons - Dragon Master

Dragon’s Lair v1.2 Release - Fixes minor implementation issue with dragon void attack and removed a few lines of redundant code.

To Do List :

  1. Streamline code to allow room for treasure “sparkle” animations.
  2. Determine ideal dragon attack duration, mining dynamics and treasure scoring to optimize gameplay.
  3. If further space savings are achievable, add in functionality for player controlled dragon.

Felt inspired after reading the great tutorial written by @bigjosh about freeing up space with brutalism. The latest iteration of The Dragon’s Lair (v1.3) hacks off about 5% of the program storage space from 97% used down to 92%. Now to get some new animations in!

1 Like

I’m excited to announce that @Confus3d is going to be joining me as co-developer and lead artist on this project! Expect to see new game updates and The Dragon’s Lair content from him in the future!

1 Like

New release v1.4 includes all new animations and space optimizations. Thanks Francisco!

New epic game art and instruction comic strip provided courtesy of @Confus3d! Things are really starting to come together nicely!

1 Like