Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Gabriel Cornish

42
Posts
4
Topics
139
Followers
6
Following
A member registered Sep 02, 2016 · View creator page →

Creator of

Recent community posts

I'm not sure where to post this, so I'll post it here.

I wrote about Decker to my newsletter subscribers this week:  https://designvideogames.substack.com/p/the-easiest-game-engine-no-one-is

I would like to start writing and building content around using Decker as a game design tool. If you have any suggestions / ideas for content you'd like to see covered, I would love to hear it.

Suggestion: Might be useful to have a pinned topic where people can share their Social Media, Tutorials, Videos, Articles, or Blog content about Decker.

Thank you! Just studied the contraption script and it all makes sense, thank you!

If I wanted to trigger a function after the cooldown period ends, would I trigger that from the "on view" when it switches back to "animated:0"?

How would I approach creating a cooldown button in decker?

The idea is that someone could click a button and would have to wait a certain amount of time before being able to click it again.

Ideally the button doubles as a sort of progress bar so that you could visually see the bar draining before being able to click the button again.

For an example of this in action, please see: https://adarkroom.doublespeakgames.com/

Thanks in advance!

Thank you so much for this!

Looks great! Thank you for the update.

Thank you!

I may not understand fully how random works.

Say I have a table with 5 rows stored in 'temp'

random[temp,1] will usually get me a row with all the data, But sometimes it just results in the integer 1.


Why is that?

Yes! Thank you.

I'll comment from the perspective of a casual user and someone who enjoys collecting and viewing people's decks locally on my machine. I imagine there are others like me in the community.

As someone who enjoys other people's decks:

  • I would want to be made aware of if a deck had the ability to do something hazardous
  • I'd want to give explicit permission to allow decks I've loaded to be able to access those "danger" features

As someone who enjoys making decks:

  • Downloading, sharing, remixing, and reusing contraptions is what makes the Decker ecosystem so great. 
  • I'm sure there are many users who use contraptions and modules without knowing how they work. 
  • As a creator I want to know I'm not accidently adding hazardous elements to my decks. Especially if I plan to share the deck with others.

I hope that's helpful feedback. Thanks for taking the time to consider some of these thorny problems.

Some cards in my deck have a field called "group" with a number in the text field.

In my deck, how would I go about selecting a random card that matches a specific group number and then send the player to that card?

Thanks! I'll give it shot.

I think I understand what you're saying.

Could you clarify the approach? What do you mean by turning it "inside-out"?

I was able to get this work! 

As an exercise in trying to learn Decker, I tried to turn this system into a contraption. I got it to work in the Prototype editor, but as soon as I drop the contraption into a card, it seems to fall apart.

Any idea what I'm doing wrong?

%%WGT0{"w":[{"name":"Grid Map1","type":"contraption","size":[172,161],"pos":[170,91],"def":"Grid Map","widgets":{"0,0":{},"1,0":{},"2,0":{},"0,1":{},"1,1":{},"2,1":{},"0,2":{},"1,2":{},"2,2":{},"location":{"value":"2,1"},"player":{}}}],"d":{"Grid Map":{"name":"Grid Map","size":[172,161],"margin":[0,0,0,0],"description":"Selectable grid map. Clicking a box will navigate the player there and show available locations","image":"%%IMG2AKwAoQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AnwFBAGoBQwBpAUQAaQFDAGwBBAAbAQQAGQEEAGwBBAAbAQQAGQEEAGwBBAAbAQQAGQEEAGwBBAAbAQQAGQEEAGwBBAAbAQQAGQEEAGwBBAAbAQUAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBAAcAQQAGAEEAGwBBQAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BBAAbAQQAGAEEAG0BPwBtAT8AbQE/AG0BPwBtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQQAGwEEABgBBABtAQUAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAQQAGgEEABgBBABuAT4AbgE+AG4BPgBvATwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AhQ==","attributes":{"name":[],"label":[],"type":[]},"widgets":{"0,0":{"type":"button","size":[19,20],"pos":[16,16],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend","show":"none"},"1,0":{"type":"button","size":[19,20],"pos":[49,16],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend"},"2,0":{"type":"button","size":[19,20],"pos":[79,16],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend","show":"none"},"0,1":{"type":"button","size":[19,20],"pos":[16,50],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend"},"1,1":{"type":"button","size":[19,20],"pos":[49,50],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend","show":"none"},"2,1":{"type":"button","size":[19,20],"pos":[79,50],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend"},"0,2":{"type":"button","size":[19,20],"pos":[16,82],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend","show":"none"},"1,2":{"type":"button","size":[19,20],"pos":[49,82],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend"},"2,2":{"type":"button","size":[19,20],"pos":[79,82],"script":"on click do\n location.text:me.name\n player.pos:me.pos\n loc:0+\",\" split location.text\n neighbors:(list \"%i,%i\")format flip loc+(list -1,1,0,0),(list 0,0,-1,1)\n each name in (list \"%i,%i\")format 3 cross 3\n  card.widgets[name].toggle[\"solid\" name in neighbors]\n end\nend","show":"none"},"location":{"type":"field","size":[100,20],"pos":[64,128],"border":0,"value":"1,1"},"player":{"type":"canvas","size":[15,13],"pos":[49,50],"locked":1,"script":"on click pos do\n \nend\n\non drag pos do\n \nend\n\non release pos do\n \nend","border":0,"image":"%%IMG2AA8ADQASKAgABigKAAUoCwAEKAsABCgLAAQoCwAEKAsABCgLAAQoCwAFKAoABygHABI=","scale":1}}}}}

Thanks for breaking this down. Going to play around and see if I can get it working.

Also, thanks for making Decker. I'm glad a tool like this exists. It's so cool.

Thank you so much for such a quick response.

This definitely points me in the right direction. I get the general gist and logic of the implementation, but now I realize the Lil syntax is something I need to get more familiar with.

It looks like the function:

  1. Moves the player token to the position of the button that has the matching name of the location field
  2.  Not sure what this is: "loc:0+"," split location.text" - updating the player location?
  3. Stores a list of neighbors
  4. Iterate through the list to toggle them as selectable?

I'll spend some time reading up on the Lil documentation, but this gives me a good direction on where to start. Thanks again!

How would I go about representing a player on a grid (say 5x5) and then display that as a simple map on a card?

  • From the map card: Players could click on a cell adjacent to them, which would take them to a specific card and update their position on the Map Card.

I made a quick mockup in Decker to describe what I mean. The pink dot would represent where the player is on the grid. They would be able to select the cell to the north or the east.

Thanks in advance for any ideas on a good approach to implementing this type of feature. 

  • Bonus points for any thoughts on how to keep track of already visited spaces.

That's great to hear! Thank you! Any chance you're willing to share what you're planning for the engine?

I love that the export is a single html file and has no server connections for saving. It's a technical marvel and I can imagine a really hard task. I hope that can continue to be a pillar of the engine as it evolves.

(1 edit)

This is such a great little engine. It's like if you took a sticky note or scratchpad and turned it into something you could make a game with. No fluff; drop in and start making stuff.

Is this still being worked on? I would love to see some documentation or a tutorial with a sample project to get newbies started.

  • I think with a bit of community support and showcase projects to demonstrate Trash Engine's capabilities, this has the potential to be as impactful as things like Bitsy or Twine.

I love that this engine exists and I'd love to see a community grow around it.

Highly recommend this gem of a game.

  • Fun and light-hearted theme that will put a smile on your face.
  • High replay value with a unique experience each time.
  • Quick set up and easily understandable rules.
  • Perfect game for relaxing or if it's a slow day at work.

If you're looking for a simple solo game that will put you in a good mood after playing, definitely check this game out.

Thank you for playing!

Yes it is :)

Thank you so much for playing, Kimberly!

Great work! Xeno Jackers is a ton of fun to play and feels super polished.

This is fantastic! Any word on when this will appear in the asset store?

Hey! Thank you so much for playing.

Thanks for taking the time to play :)

Flawed Crystals community · Created a new topic Feedback

- Like that you're using an RPG engine for battle.
- I like the choice of music once you start a new game - The Flawed Cyrstals opening intro is cool
- The intro is quite long with not a whole lot of agency of choice making. It takes a long time before you can make your first choice.
- The majority of the game is walls of text. Perhaps consider chunking these into small pieces so that it's easier to read.
- I would love a lot more choices in the intro.
It looks like you've put a lot of hard work into this. Great job and keep up the good work. When do you anticipate a release?

Thank you for playing :)

As someone who believes in creating cozy and playful experiences so that people can feel joy, I'm so glad a company like Funomena exists.

Thank you. I kinda made the music. I used a music generation program...so I pushed the buttons that made the music??

Thank you for taking the time to play :)

Thank you for playing!

Thank you so much for playing!

Thank you so much for taking the time to play the game, I'm glad you enjoyed it. Also, thank you for the feedback, I'll keep it in mind as I continue to develop and release more games.

Thank you so much for taking the time out to review our game.

Thank you so much for taking the time to play our game.

Nathan! Thank you so much for taking the time to play our game. We're glad you enjoyed it. Your energy and enthusiasm on your channel is infectious- instant subscribe.

This game is super addictive! Love it. Small polished game experience- that's all you need.