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.

6 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

2 Likes

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

1 Like

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!

2 Likes

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

1 Like

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

3 Likes

Hello! I am such a huge fan of this concept and visually it’s so cool (the comic rocks). I found with playtesting instead of setting up my 6 blinks in a straight line, I’ve set them up in a zig-zag so every treasure has a face fully exposed and the player can collect the correct treasure without accidentally losing luck.

I am noticing when the dragon attacks it sometimes doesn’t stop attacking, and then I have trouble resetting the treasures. If each treasure Blink is consumed with fire or poison then double clicking doesn’t get me out of it. The workaround I’ve come up with is longpressing each Blink to become a dragon, and then quickly double pressing them to reset back to treasure, but it would be nice if the reset took fewer steps.

I really like this narrative and theme and I’m excited to see how it keeps developing!

1 Like

Oh! Completely true Jacob!

Thanks for highlight the bug in such detailed way, I think I’ve managed to find out where is the problem really fast!

I will talk with @TheGoodSire and we will definitely post a new correction as fast as we can!

Also a distributed reset can be a good implementation. Thanks for pointing it out!

1 Like

UPDATE

New version available, 1.5

[x] Fixed some bugs (loop attack and some treasures bug)
[x] New animations
[x] RESET function added. (character assignment changed in order to acomodate reset function with long press)

If someone can try, now we think the game should work at 100%.

There is still room for improvement but the mechanics should work nicely :grin:

Have fun!

2 Likes

Hey awesome!

I gave it another whirl and I’m afraid I have a few more bugs to report

First the good stuff though! I really like the new gold countdown animation, it very clearly communicates how much time is left to collect the gold. And I was able to properly collect treasures for a while before the game gave an unexpected outcome, but I liked the gameplay lots and doing all the risk assessment to still collect treasure as the dragon laid its traps.

Do you think you could add a similar affirmation animation for when emeralds or rubies are collected? I know the collection is pretty instantaneous but it would be really satisfying to get some kind of flash or visual cue that it had been completed correctly. Also, maybe the dragon could give a slight heads up indication of what attack it is about to give, like a face on the dragon blink adjacent to a lair blink could be its “mouth” and glow the color of the upcoming attack. Otherwise being hit by something like a fire attack is more or less luck of the draw instead of a test of reflexes or skill.

For the bugs I observed, once the Dragon sent poison smoke into the cave, the game became unplayable. After the smoke slowly filled up every blink, I saw the blink closest to the dragon turn back to normal treasure, only to immediately become poison smoke again. I’m not sure if the dragon was just randomly spawning poison smoke in rapid succession or if the poison smoke kept regenerating itself, but I waited it out a while and every blink just stayed as poison smoke. The same thing happened when I played it again, but this time with fire.

Then when I went to reset, I once again had trouble resetting the game. First I made my player run out of all its luck and the blink went dark without flashing any score (even though I had collected treasures that round). Then I tried double clicking the tiles to turn them back to lair tiles, but instead they all turned into player tiles, and double clicking them again won’t turn them into lair tiles.

So the only way I can reset the game right now is by longpressing my developer blink and reteaching all the other blinks the rules.

Hope I explained that all clearly, let me know if you have any questions or clarifications for the bugs I reported. I’m looking forward to the next playtest!

Hi Jacob!

Is awesome that you tried a second run on the game, thank you!

About the animations, i’m with you, is a work in progress :sweat_smile: but we will try to do a warning before the attack, that would be awesome!

the treasure confirmation should be also easy to implement, my only concern here is the space we have, but we will try!

About the bugs:

It seems that there is definitely a problem with the attacks, that i thinked it should be solved, but it isn’t! We will check again :crazy_face:

About the reset, we changed the reset function, now for the reset hou have to cluster all blinks and just longpress any of them, this way is like reloading the game, everything should be in the original state.

That is the reason we changed also the character selection, now there is no way to turn into lair tile with double click, is just a longpress.

Double click - Treasure Hunter
Triple Click - Dragon
Longpress - Reset that tile and all conected tiles

Can you check if this resset function is working as expected?

Thank you so much for your time!!!

1 Like

Thanks @JSpamboni! Your detailed bug reports have been amazingly valuable to us in the development process since we can’t yet test the game ourselves. We really appreciate your input! I’m hoping that the poison and fireball bugs that you mentioned should hopefully be an easy fix. My hunch is that we need to revamp some of our timer settings! I will have to consult with @Confus3d to make sure he is in agreement about the cause though before we push out a fix.

I think in our next iteration we will implement a 1 second delay between when the dragon enters fireball mode and when it spreads to the other blinks in the lair. This will hopefully allow for an opportunity for people to see the change on the dragon and remove their blink in time to avoid the attack!

I really like your idea about providing visual feedback for when treasures are collected. We are running a little tight on game space, but we should be able to squeeze in something like a quick flash or quick animation when a treasure is collected.

Thanks again for the help!

2 Likes

Hello Everyone!

New version available, 1.6

[x] Fixed additional bugs regarding the infinite dragon attacks. (Hopefully!)
[x] Added new animation to the treasure hunter blink when it loses luck, and to treasures when a match is made. Thanks for the idea @JSpamboni!
[x] Delay added to start of the fireball attack where dragon will be displaying its attack animation prior to sending the attack out into the lair. Hopefully this delay will allow for better opportunities to dodge dragon attacks.

It would be tremendously helpful if someone can give this new version a shot and let us know if these changes are working as intended. Thanks for the help, and as always have fun!

1 Like