⚠️ These Posts are Old! ⚠️

This is an archive of the decker-related posts I made on cohost.org during 2023 and 2024.

I didn't always know what I was doing or talking about (sometimes I still don't!) and the program has changed a lot since I started.

Some of what I say here may be even less accurate going into the future.

↤ Back to Decker

This week I made a decker zine. This little friend is probably the best drawing in it... It's mostly about my rambling thoughts at the start of a garden project.

You can find it here.
(horizonal screen works better if you're on mobile)


Thank you to @milliesquilly for the help and encouragement. + I will probably start gardenchosting on a dedicated page later when there's more to show. 🌱

Decker has easier color now, and I have made a tiny thing with these terrifying new powers. :eggbug-devious:

>>Link<<
if you're on mobile, horizontal mode works best

I submitted something to the Decker jam, somehow, against all odds.

Link to the itch.io page

It's very small and it's probably a little laggy, depending on your browser, but it should still work okay on mobile.
3 points if you find eggbug.

A couple more notes about how this was made.


On the left, my first sketch of the scene. The new underpaint mode is really helpful for figuring stuff out.

On the right, a copy of the main card-in-progress -- the Desk, Window, and wallpaper were mostly set up but I still had to decide what else needed to be drawn and how big each item would be. Because it was a copy of the main card I could scribble ideas on it, and then copy those scribbles into new blank cards to be refined into sprites/canvases.

Work in progress of an animation of a drawer opening
work in progress of an animation of a teacup and a cat
work in progress of an animation of a pocket watch
made with @nex3's grid generator
These are a few examples of what my sprite WIP cards look like (I had about 20 of these at the end)
  1. The first card with all the drawers has those 'in' and 'out' buttons so I could script the animation of the drawer opening with and without the pocket watch in it before bringing everything over to the main card. The tiny square at the top is the checkbox that the script checks to know which animation to play. Picking up the watch from the drawer changes the checkbox.
  2. The middle card had a few different attempts at the shelf design before I figured out the right size. The cat pieces are here. Uhhhh... I was very indecisive about the teacup animation so there's a lot of different versions of the frames cut up all over the place.
  3. The pocket watch has a idle animation when it's on it's little stand, and a sparkle plays if you click it when it's up there. But it also has it's "laying down on the desk" sprite and it's "being dragged around" sprite. Lots of yellow ovals. All the little boxes around the watches are to make sure each frame is the same size for the animation. The guidelines are erased before copying the frames into a canvas that will be the source for a zazz.flipbook animation.

This is the final Desker card in Widget mode. There are 101 widgets.

A pixel scene of a desk with many white rectangles all over it

There could have been a lot less than that. There's better ways to do the things I was doing but it was a case of Gotta Go Fast. And if I wasn't 100% sure how to do the better version of something... I did it in the worse way I already knew.

I've had a larger point-and-click decker project in progress for a long time now (It's not a good game but it's taught me a lot) so the ways I've been building things in this style feel very obvious to me at this point, though it might not be clear how it was made (in decker specifically) to someone new to it. It's mostly transparent canvases! Prepare your object sprite, select and copy, switch to widget mode, Edit > Paste as new Canvas. Change it's settings to borderless and transparent, probably, if that's what you want. And there you go.

And... yep. That's what I wanted to say. Okay bye. :eggbug-classic:

Working on something.... 🤫

Someday I will publish this deck, I swear....

Something approaches you, through the forest...

It's... The Riddle Of The Temple !!

This Deck is pretending to be a game -- but it's really not. Keep your expectations low for both gameplay and story.

This is a bunch of experiments with the Puppeteer module for Decker. The main (and very good) use for Puppeteer is managing character sprites for visual novels.... but I wondered what other kinds of silly bullshit visual flourishes I could use it for.

And the answer is... a lot.


[slaps top of Deck, scattering cards everywhere] This baby has so much visual flourish in it, with absolutely no narrative payoff.

It's about 5 minutes long. There's (almost) no sound. The writing is ... perfunctory. The art is uneven but the high points are pretty good. It seems to work fine on mobile...?

But the real heart of it is the backstage section full of random deckmaking notes. Genuinely... I'm not sure who that's for. It's the kind of stuff I'd ramble on about if someone asked me how to make this kind of deck. And now it's yours, if it's useful to you.

You can download an unlocked .deck file or use the backstage unlock button to poke around at how it was made. Sorry it's kind of a mess back there.

If you're checking out Decker for the first time (maybe for the Decker Fantasy Camp jam? :host-joy: ) some of it might be confusing... but please feel free to ask me how I did something in this deck if it would help you with your own projects. :eggbug-smile-hearts:

Since it's done now, I wanted to post the placeholder sketches + the finished versions of some scenes/pixel art in my recent Decker project.

a little pixel chicken

I'm kinda sorting through my thoughts as I get ready to start something else.


rough sketch of a very cute sphinx talking to a human in a garden
rough color sketch of someone walking in a forest
finished pixel art of someone walking through a dark forest
rough sketch of a courtyard
finished pixel art of the same courtyard
sketch of some hands above a table
finished pixel art of someone holding a gem next to an altar
rough sketch of a very cute sphinx talking to a human in a garden
work-in-progress of a pixel garden and a sphinx
finished pixel art of a Sphinx in a garden
roughs doodles of a sphinx and a human looking at each other
finished panels of the human and sphinx
made with @nex3's grid generator

It's very... "draw two circles, okay, now draw the rest of the owl"... but I learned a lot about working with limited color palettes throughout this.

And I think some of the sketch versions are cute.

But yeah.... I'm a big fan of scribbling something down on a notecard (whether it's art or text or something else) for each thing I think I want to make... and figuring it out later.

I made a short thing for last month's Decker Fantasy Camp.
(check out the other entries)

It is called Tea and Bread.
It's a kitchen click-around.
You can also find Eggbug in it.

a black cat, sleeping

Some belated notes on this. Nothing very useful, just... notes.
It's a little long.


A scene of a kitchen with 136 little boxes drawn over it

#1 most important is that I need to stop doing this to myself.

That's too many widgets on one card! Especially trying to get them stacked in the right order. I lost some widgets in there and I know I could have pulled them out of the pile with the Listener but I was burning out between this, and art fight, and some recent (real life stuff) and I just wanted to move on.

Rest in Slices to the alternate (scored) loaves which can no longer be made.

pixel loaves of bread

Two useful things that did come up while making the loaf images though -- The idea of using underpaint as a 'stencil' for items that need to be the same shape but want to be colored differently (in a less structured way, like using the stipple brushes).

As long as you're not using black around the edge of the sprite (or add the black outline later I guess) it worked pretty well. I'm not sure if this will ever come up again for me but I thought I'd mention it.

a loaf of bread and a eggbug drawn inside a loaf shape

The other useful thing was finally using the canvas widget's scale option. All loaves were drawn to the size that they would have appeared on the table at the end and had their images copied (at certain time intervals, see below) onto the canvas inside the oven that was set to a smaller scale. Works great. I will be using this again.


The big theme here was timing. I wanted to use the beat clock contraption and some sliders to make a day/night cycle, and I also needed an excuse to keep people on the page doing stuff so time could pass gradually. Thus, kitchen shenanigans.

I clearly didn't have time to test it for how it... felt? Game feel? I'm sorry to the people who had to take 2+ days to heat the water for the tea... but really... a watched kettle never boils.

All of the timing stuff is stored in the clock widget in the kitchen rafters...

This isn't really how it's all written, but this is the logic of it.

on beat_tick time do
slider.value:slider.value+1
end

And certain things would happen when certain timers(sliders) hit certain values.

There are also a bunch of if statements that look at checkboxes for 'if the bread is in the oven' before telling the bread baking slider increase it's value, etc, etc. Some of my ideas didn't actually get to happen, so I think there were several status checkboxes that didn't.... do.... much.. in the end. That's fine.

Whatever! It's a game jam!

The palette cycling uses scripts I took from the PalImport contraption to switch to different palettes that are stored in a bunch of text fields on another card. When the timeprogress slider hits a certain number it changes the colors... and eventually sets itself back to 0 so it can loop.


Little bonuses.... of course, there was a Chicken, of course. And Phinxel... who I'm afraid will continue showing up in my decks for a while. But there were some other tiny things.

tiny pixel art of a variety of creatures sitting on a branch

The time progression stuff also changed who is sitting out on the branch outside the window.

Meep bird from The Riddle visits, there's a SECRET SECOND CHICKEN at a certain time of day, and also Phinxel goes outside to watch the sunset (he leaves his hiding place for that amount of time....).

I also have to apologize to poor Lily.... She's trapped in a portrait frame on the wall until you manage to make the tea and bread.

Thank you for saving her, brave kitchen heroes!
The stakes were higher than you knew...

And at the time it made perfect sense to me to do that because I had been (in another deck) playing with different ways to use dialogizer... and I had drawn this set of portraits of her "stuck in a (dialog box portrait) frame".

a sequence of images of a fairy going from calm to angry

I guess it was a joke only for me.... referencing something unpublished... I'm sorry Lily. At least she got out of there (and a delicious snack) at the end of this ordeal.

Anyway, the deck is unlockable (arrow key your way into the behind the scenes if you want, there's a button) but I didn't feel very good about how rushed it was at the end and I didn't really want to encourage new people to look under the hood on this one.... but of course you're welcome to do what you want.

Doing multiple events in one month was pretty rough, even before (life events) hit. It was really good in some ways -- lots to think about. I'm happy I did all of it. But I think I need to approach Fantasy Camp differently if I also intend to Artfight again next year.

I don't know what "making a decker jam project" looks like for me if it's not relying on me doing a ton of new drawings for it's appeal? :host-nervous: I'll give it some thought....

But also who knows what modules and contraptions we'll have available next time. :host-plead:

Anyway, Thanks for reading.

Path module seems good. :)

(link to a tiny deck)

cobalt-ex
@cobalt-ex asked:

What are some of your favorite things made in Decker?

:host-joy: This is a fun question to get... there's a lot.

People really do make so many different kinds of projects...


Alright, here's some new hotness from the recent game jam, some slightly older projects that jump to mind, and some personally sentimental decks.

@HarlequinDiver's Asleep in the Deep has really cool 3D backgrounds as the card art. I suppose it's an escape game in terms of genre? Little puzzles, spookiness, bits of whimsy with the portraits on the walls. It's so cool.

@Sysl's Deckerware: Eggbug Party Games An amazing variety of minigames that come at you fast. With Eggbug! The fact it's unlocked (the menu is visible) on the page also means you can just peek under the hood of any section you find interesting to see how it was made, which is great.

@Sysl also made Broken Gate which is a solid template (with documentation of how to use it) for a very classic adventure game format.

@Gray-LoFi's In Dreams of Strife is a cute little story WITH A BATTLE SYSTEM. There's animations during the fight and you can unlock skills and... I'm still pretty excited about this.

@AirGong's Self Portrait: Vomit on Concrete -- okay definitely read the warnings on this one, it was made for a jam themed around mental health. Parts of it are a bit heavy (and there will be vomit on concrete), but it's memorable and in the end I think it's very tender.

@fish's Eider Cake this was originally published in Indiepocalypse #53. A scullery bird in the kitchen of a medieval bird cloister(?) is asked to search for a missing recipe that is needed for the patron saint's feast. What's not to love? The style is great, the writing is lovely, and it's an incredible concept.

@x-0's Tough Baby This thing is wild. Help your friend at art school. The animations, the dialog, the.... vibes. It's so big and full of surprises everywhere. And then of course.... there is the Tough Baby to deal with.

@ednaarel's te/ra/to/ma Another 'check the warnings' moment. A heavy personal story (re: medical things) with some very effective use of pacing and visual emphasis.

And while I am doing a tour of recent-ish work by our local decker-ers, @vermis's Ontological Mystery is a killer little tale with two endings -- and you should definitely see both of them.

And @floconsugar's Thoughts from inside my brain is a very charming wiggly zine.

On a more personal level, because we're talking favorites. @Milliesquilly's Zine of Millie got me into Decker in the first place.

@sirboxalot's CUBICLES is a pixel hunt through some very unusual, uh, office cubicles. There's some little jokes and things while you're looking for the clicky bit that leads to the next screen... but also it's a favorite because he made a lot of it while he was streaming. And I was hanging out in chat. Being able to see someone else drawing in Decker helped me a lot so, yeah. I'm very fond of this one.

@lokeloski's Deckstamp is a very handy tool for importing color images from the recent jam -- tools matter! A lot! I'm thrilled.

I am also technically allowed to say @Internet-Janitor's Puppeteer module. This thing opened up the door for me to mess around with some neat animation tricks, which was huge. (Modules are also... made in Decker)

If there's a cohost screenname, I can't remember it... but in Coral Nulla's Don't Save Me you are given the 'role' of manic pixie dream girl by the Agency of Narrative Intervention. The story goes some interesting places. And it is really visually lovely for a text-based game without art assets.

Thank you for the question :host-plead: sorry for listing so many, but... y'know. There's a lot to like.

An old Decker project.

It's silly to post about it at this point. But, y'know.
This is about a year old, I think.

It's a weird outpost near an ocean at night where you can explore and click around a bit and then nothing happens.


"And then nothing happens" is kind of my brand, huh. :host-nervous:

But this is the project that took me from 'Nooooooo no scripting' to 'yeah I guess I can do a few things' -- though I had help.

(:yeah: @milliesquilly thank you for explaining..... so many things).

gif of some crystals being put into slots inside a compartment

It's interesting to look back on it. Nothing about it is actually complicated even though it felt like it sometimes. Just lots of tiny things coming together.

The question "How do you do this in Decker?" was asked and I am compelled to answer.

This is a long post! It's so long! Don't open it on your feed unless you're really interested! Open in New tab or something!

I guarantee things in here will be confusing. I am so happy to clarify anything if anyone is interested.


Getting set up for this kind of thing

Step 1: Run Decker
Step 2: Toolbars

Find them at Decker > Toolbars in the menu.

They give the ability to switch between interact mode and widget mode with a single click (always useful) and also you can see all your drawing tools on the left side of the screen.

On the right side it will show either the 1bit pattern options OR the colors in the current 16-color palette. You can switch back and forth and use any and all of the options in your project. But the toolbar will only show one 'mode' at a time.

You can switch to color 'mode' while any drawing tool is active in the menu with
Style > Color

little screenshot of the menu to break up the text

(It's good to keep in mind that some menus are context specific. For example, you can't see the menu option to change fonts unless you're interacting with text. :yeah:)

If you would like to change the default color palette... there's a few ways. The easiest, as of the most recent version of Decker (1.49), is to drop a .hex file onto the program window. Just drag and drop.

You can get a premade hex file from places like lospec (maximum 16 colors for Decker, have fun!) or by making one. To make one you can save a vertical list of hexcodes as a .txt file, rename the file extension to .hex -- and then drag it onto Decker (1.49 or later) and there you go.

Then there's a lot of drawing to do, if you're me. :host-nervous:


I'm going to briefly touch on the art side of it. I only work directly in Decker these days. Lots of other people prepare work outside of Decker and import it -- I haven't done it enough to have any wisdom on the subject. :eggbug-tuesday:

But hey I just recorded a little timelapse of me a drawing a card in the style of the above project and making some small widgets for it. Clip time is 3mins30 and the actual time was ~30 minutes.

This is not a tutorial please don't worry about trying to understand the menus at the speed it's going. It's just... a visual example because I think sometimes it's hard to know what goes on inside other people's processes.

I hope it makes it seem less... Intimidating? Drawing is drawing, but the tools are pretty straightforward. Good ol' reliable line tool and fill bucket. And I hope this shows that the scripting side of it, even if it's unfamiliar at first, isn't a huge undertaking. It's just a matter of knowing some of the lil' things you can do, and building on that knowledge over time.


There are two modules I use with the widgets at the end of the video clip (the 'zazz.bob' and 'dd.' stuff) and I know it goes by very fast. For the record, the things I did in the clip are straight out of the examples in the official module decks that come with downloadable Decker. So you can find them in there with the documentation -- but also I'm happy to explain them if needed.

Zazz handles some kinds of animations, and Dialogizer is a robust and customizable dialog box handler.

Modules are really good at taking over the hard work for specific kinds of tasks, like certain types of moving images, or grid-based pathfinding, or dialog boxes which can also be written in a less-codey(!) way if you're doing something that uses them a lot... like a visual novel.

You can always transfer modules into your cool new deck from their example decks with the File > Resources menu. You can transfer other useful things with that menu as well, like fonts and sound effects.

But now it's time to look at my old code and figure out what the hell was going on. :host-nervous:


gif of some crystals being put into slots inside a compartment
Here's the gif again, above. And below is... an attempt to explain.
some pixel art with labels like 'gem1' and 'slot3'
These are almost all 'canvases' -- the image container widget.
Widgets are... interactable things, scriptable things. Things that exist on the card.

And there's a couple things happening here.

  1. Any canvas can be made 'draggable', so it can be moved around in interact mode.
  2. The 'rect' module can do things like detecting if a draggable canvas is overlapping something else -- in this case, rect is using the invisible 'slot' and 'area' canvases to tell if tell if the draggable things are in the right place.
  3. Changes to visibilty. Usually between "None" (completely invisible) and "transparent" (any white area of the canvas that hasn't been specifically made opaque white will become clear).
  4. Copy and paste. Copy image from one canvas, paste it on another one. Easy.

Here's all the stuff in the bag, in all variations:
pixel art of a disassembled bag and some crystals
These "strap"s, "gem"s, and "dia"s are copied and pasted onto the "real" versions of the canvases that are in the scene to make things look like they've changed.

On the other hand... When the invisible button (buttons: widgets that do things when you click 'em.. usually) that opens the little net pouch thing is clicked, netclosed is set to "none" visibility, and netopen is set to "transparent"(and so, becomes visible) and it looks like the pouch opened. In the same script, the tiny diamonds are set to draggable so they can be pulled out and put into the thingy on the wall.

Here's a script. The one inside "gem1".

on release pos do
if me.draggable
 if rect.overlaps[me area1]
 sleep[5]
   me.pos:rect.constrain[me slot1]
   sleep[10]
 gem1.paste[gem1active.copy[]]
  gem1.draggable:0
  sleep[15]
  canvas1.toggle["solid"
  gem2.draggable:1
  sleep[20]
  pock2.paste[strap0.copy[]]
  end
 end
end

It's not perfect, but let's... let's try. Ignore the 'sleep's -- those are just pauses for pacing.

  • When the mouse click that was holding me is released
  • if I (gem1) am draggable
  • AND if the rect module sees my position as overlapping area1
  • Then constrain my position to slot1 (a smaller area, which puts gem1 in a specific place)
  • Paste the active version of my gem sprite onto my canvas
  • Make me stop being 'draggable' (because I'm in the right place! hooray!)
  • Show canvas1 (this is the animation in the wire which has been running the whole time invisibly.... I guess I forgot to name it)
  • Make gem2 draggable (in case it is unfamiliar... 1 is true, 0 is false)
  • Paste the "open strap" sprite onto gem2's "pock"et strap (just a visual detail)
  • end, end, end (and we're done.)

That is... most of what's happening here, visually. Looks cooler than it actually is. :yeah:

If some of it is confusing.... I get it. This is the project where I learned these things. :host-nervous: I found it confusing at the time.


This part isn't about helping at all. I'm just talking about what I want to now.

tiny snippet of a dark room

Hey, have a tiny piece of the project as an unlocked deck. You can go into widget mode and look at the mess. There is....... a lot of stuff I would change if I made it now. But y'know what.... I was really proud of this at the time and I kind of still am.

There's also two(!) eggbugs in there.


Also... awhile ago I made another intro level thing and put it in the worst possible for beginners. It's a post-game bonus section of a previous project on itch.io -- you can skip the 'game' part of it by clicking here on the main screen:
a game screenshot with a big arrow pointing at a shrub


Sorry for the long post. Decker is... flexible? And in a way it can be hard to figure out how you're "supposed to do things" -- because there isn't one correct way. You can make beautiful games with no scripting at all. Or you can learn some scripting if you think it's cool or useful for you.

You can use the drawing tools, or import images, or make things with no art at all. It's all good. BUT.... if you're into the kind of thing I tend to publish, then I hope something in this was helpful.

I'm going to shut up. But if someone asks me a question I will happily start talking again :host-nervous: okay bye

A friend of a friend has made 'inktober' but for goofy websites. since people are talking about making websites for after cohost goes read-only it seems like maybe the perfect opportunity to put your money where your mouth is:
https://weirdweboctober.website/

If you want to make a weird interactive thing for the web, you could always use Decker!

You can even make a tiny Deck and put it in an iframe if you want.

Today is the 1.50 release of Decker and one of the last times to talk about it here.

But this isn't a sad post!! There's deckmaking to be done (:eggbug-devious:), and I need to talk about this seemingly minor but actually very exciting change to the zazz module.

zazz.flipbook[] is a tool for playing looping animations on your cards.


You set up your frames in one place -- in the previous version you would have the option of pointing to a whole card or to a single canvas -- and then throw a little script together to tell zazz.flipbook[] the target, source, desired speed and the number of frames. Which looks kinda like this:

on view do
 zazz.flipbook[target source 0.01 (range 6)]
 go[card]
end

This new zazz 1.1 module adds the option of using a widget to indicate the area on the card that contains your frames instead. I'll be using buttons.

If you haven't seen it yet, I recommend taking a good look at the example gif in the 1.50 devlog.

Some interesting things are going on, from my perspective:

  • The frames are stored directly on the card -- but they can be anywhere on the card. And you can have as many sets of frames as you can fit on screen.
  • The frames are not stored in a canvas -- so they can continue to be edited in drawing mode with the full range of tools.
  • Once your target canvas, source widget and zazz.flipbook[] are set up you can look at how your animation is coming together at any time with no extra fuss.
  • It is fast and painless -- especially with toolbars or keyboard shortcuts -- to switch between making changes (drawing) and seeing what they'll look like animated (interact).

I am so excited about this, you have no idea. I love zazz. But I think this has a lot of potential as a tool for preparing animations that aren't intended to stay in zazz.

  • How about designing your walk animations for the path module's follower contraption?
    little pixel guy walking

  • Or cycling through the expressions of a character's sprite to make sure they all match?
    intern secretary eggbug making faces

  • Want to animate something with a special flourish? Whatever you do with it later, this is a nice way to test your ideas.
    a rough animation of a little guy spinning...you spin me right round baby right round...
    same animation but it's a little nicer

  • In a previous project, I had a big sphinx character with separate puppeteer pieces for different moving body parts -- head, paws, wings -- and a zazz.flipbook[] loop for the tail.
    big sphinx wiggling her wings and paws

And now I'm thinking that this way of setting up animations for the different pieces while I work would help me make sure everything will fit together, and to recognize when I'm going off model.
little guy flailing his limbs around
This little guy may not be as elegant as the Big Sphinx but he's trying to show what I mean.

This is all I've made with it for now, but I think there will be more kinds of niche circumstances that this would be useful for.

All of these examples (except big Sphinx who has a different color palette) have been shoved into a small deck. All of the sprites are directly on the card, and you can doodle on them and see the animation change if you like.

I think this rocks. I would be very happy if people gave this a try, as a new tool in their deckmaking. :)


Okay, that's the part that's going on the forums later (after proofreading another 20 times so itch.io doesn't tell everyone how many times I've edited it)

Sorry for any obvious errors I am doing my besht :eggbug-sob: Things keep coming up for me today and I just want to get it posted here for now. I'll try to add some words to the example deck too, before it hits the forums. Nothing new, just repeating relevant parts of the post.

Thank you to the deckmakers and decker-curious on cohost, It's been great.

I've talked with a few people about using the forums more -- and I know it's a little tricky because the structure of an itch.io forum doesn't seem as hospitable to casual posting as cohost has been. But I will be trying, and I hope other people will as well.

[youtuber voice] Hit that subscribe button for more Posts on the community forum.

...if you feel like it. There aren't so many posts there (yet) that it will flood your notifications, and you might find out sooner rather than later if something interesting happens. :yeah:

Okay chosties, that's all. Until the next 'last big post before the end' that I feel compelled to make. If nothing else, I hope to see you some of you at the next Decker jam. :eggbug-relieved:

That's all! Thanks for reading!

↤ Back to Decker

---

This page format was made with The Cohost Web Component.