Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Feature Requests

A topic by chaak created Nov 18, 2022 Views: 815 Replies: 18
Viewing posts 1 to 7
(+1)

From my experience of using decker for the past 10-14 days, i have compiled a list of features that would improve upon Decker's strengths. i am listing them out here, but if possible, i will add examples when time allows or as per needs, feel free to use this thread to suggest features, i volunteer to sort features into essential, radical and trivial/not-prioritized features. Coding is not the best of my forte, but im willing to try to implement some features in the future.  

SUGGESTED FEATURES LIST:

- BACKGROUND MUSIC/LOOPED PLAYBACK

- TOGGEABLE/EDITABLE CONTRAST FOR IMPORTED IMAGES

- POP-UP WINDOWS WIDGET (NON-ESSENTIAL)

- MORE STROKE/FILL STYLES (This I can provide... maybe as a module?)

- GIF SUPPORT (NON-ESSENTIAL)

- PALETTE SUPPORT (NON-ESSENTIAL)

- A TEXTBOX (REPLACES FIELD AS ONLY WAY TO WRITE OUT THINGS SO FAR? I MAY BE SO WRONG HERE)

- MULTI-CARD DISPLAY (HELPS TO CHECK IF STUFF WORK WITHOUT ^C EVERY 2 MINS)

- COMMON PRE-BUILT SNIPPETS (THIS IS DEFINITELY A JOB FOR THE CROWD, GITHUB REPO TIME)

Decker is open-source, so feel free to add/implement these features on your own too, when you recommend features below, make sure to follow these guidelines:

  1. Make sure it is a new feature.
  2. Be as explanatory or specific as possible.
  3. Check if Decker can actually benefit from said feature.
  4. Make sure that the feature you request isn't already requested, but if it is, updoot it to bring it to our attention, or bump it with a +1 comment.
  5. Will this feature be utilized by a lot of people?
  6. Does this feature address at least one specific pain point?
  7. Does the documentation have any reference on how to make-do the feature's function?
  8. Try to add pictures if you have the skills and if it is easier to explain the function of said feature in pictures.

And to Internet Janitor, THANK YOU SO MUCH FOR MAKING DECKER, I understand that making something like it as a solo dev must be a huge undertaking, same as maintaining it, so I volunteer to help Decker improve and become a easier and accessible way to experience multi-media around the world. 

You can message me on discord at ArceusMaxis#7249 or on Mastodon at https://socel.net/amirtha to collaborate or ask small doubts about decker, i am fairly confident i will be able to help you guys.

Developer(+3)

Just to address each of these so far:

  • Background music: v1.3 introduces basic support for looped background audio. I have some ideas for making this more general/flexible in the future, but it may take some time to get the design right.
  • Adjustable contrast settings for imported images: This is potentially complex, but it could be useful; I'll consider adding something like this eventually. In the meantime, you can use external tools to prepare images before import.
  • Pop-up windows: The alert[] function can provide several types of modal dialog already- plain alerts, prompts for the user to enter text, etc. It is also possible to make your own modal-like functionality with scripting, by dynamically adding canvases or other widgets to cards. There are many possible variations/requirements, so this would be a great area for multiple people to explore with Modules (see below).
  • More stroke styles: There's no technical barrier to adding more brush types, though it would require some UI redesigns. I consider this very low-priority.
  • More fill styles: adding more pattern types to Decker is not as straightforward. It is possible, however, to customize the patterns used in a given deck via scripts, and even import customized palettes into other decks via the Font/DA mover. Making a "pattern editor" tool similar to the font editor example might be a fun project.
  • GIF support: I might someday provide a way to display an animated GIF on a card without writing any code. In the nearer term, I may at least generalize read[] to be able to import the individual frames of an animated GIF, which could make it much easier for people to set up animations via scripting. (As well as other interesting possibilities.)
  • Palette support: If you consult the documentation for the patterns interface, you will see that Decker secretly has a 16-color palette which can be used via scripting. The size of the palette is fixed, but like the 1-bit patterns, the colors themselves are also customizable on the fly via scripts. For example, try this in the listener:
patterns[colors.white]:"%h" parse "000000"
patterns[colors.black]:"%h" parse "FFAA00"
  • A Textbox: I have no idea what this suggestion means. Field widgets can already be multiline, with optional scrollbars, rich text, and code-editing features.
  • Multi Card Display: This sounds tricky. If you aren't already aware, you can use the cursor keys on your keyboard as a fast way of flipping through cards.
  • Snippets: It's a great idea for the community to share and collect useful script snippets. If code is reused frequently, you might benefit from Modules. You can import a module into your deck from another deck just like a font or a sound, and they can bundle together handy utility functions. I've released several example decks with modules, including Plot, a module that draws charts and graphs, and the "Rect" module included in All About Draggable.

Hi, i really appreciate this very informative reply, this really expands on a lot of things i had doubts about, you have answeered a lot of them, thank you very much.

Textboxes: i find that fields being editable and interactive both a plus and a minus, is there a way to toggle to make fields static? i meant textbox in the exact way fields work, but not editable, making the text not selectable or changeable.

i also thought stroke and fill styles were interchangeable? I have not grasped it properly yet, sorry.

The customizable colours is so neat? That means i can do it at runtime right? so each card i can use a different palette? THIS IS AWESOMEEE

the multicard display, i have found a workaround, open 2 deckers, keep one card which you need often open in another, keep the rest open in the second decker, this ONLY works if you have auto-save enabled or are used to saving often, also, i realised that decker is fixed in resolution so, multi-view isnt simple or accessible like i originally thought.

read[] for gif loading is so cool, your approach actually goes beyond the niche intention i had, your approach will actually enable single card-but-multiple outcomes/scenarios.

Your reply was so eye-opening, i am so happy to get to understand the working of decker in detail. I am going to try my hand at making the pattern editor. Thank you for the cursor keys tip, i would have never known that to be honest XD.

Developer(+1)

Ah, I see.

What you're looking for is a locked field widget. With the Widget tool active, select one or more widgets and then choose "Widgets -> Locked" to toggle this setting. Every widget type has different behavior when locked, but in general locked widgets are non-editable in Interact mode. Many of the fields in the guided tour are locked, for example.

YAAAAAAY! TYSM!

Developer

read[] of GIF frames was introduced today in v1.14, along with some new example contraptions using it to play animation clips on cards:


Developer(+1)

v1.5 includes support for basic contrast adjustment of imported color images.

my suggestions and views

* add grid/snap

* filled box/oval/circle really isn't filled on the inside?

* why limit resolution

* hard to differentiate between grid lines and drawn lines

* add iso/hex grid besides default square grid 

(+1)

Filled polygons: You have to go into the style menu and select fill style, by default all filled shapes are filled by white, guess it is confusing as white is bg default colour too, but yeah, filled does work, select your shape in Tool>Go to new tab named Style>Fill>Select your style and apply

Resolution limit: because vibes? I think Decker being low res is one of its very cool selling points, maybe a technical limitation, but I love decker’s fixed resolution!

besides snap to grid drawing tool option suggestion, another one I have is to add a library similar to autocad. I envision a place to draw and store a selection of shapes you can drop anywhere kind of like a widget. Also be able to move them around on the canvas like a widget, then edit it if you want to customize it onto the canvas or within the library. Hope that makes sense.

(+1)

Not familiar with autocad, but it seems like what you are describing is close to how the "canvas" widget works, which is a drawing-area that can be moved like a windget.

https://beyondloom.com/decker/decker.html#canvases

If you have an image in the clipboard, you can make a new canvas based on it by using Edit → Paste as new Canvas. This makes it easy to create “paper cutouts” that conceal part of a card and are hidden or revealed by scripts. You can likewise copy the image from a selected canvas to the clipboard to manipulate elsewhere with the drawing tools.

If what you are looking for is closer to an "icon font" I have one in development here, that you are welcome to wish aditional icons for.

Holy, that’s so cool, do we request icons via github-issues of decker-fonts or is there a separate way to request them?

(+1)

Any place is welcome! There is a thread here on Decker's itch as well:

https://itch.io/t/2481766/icon-font-for-decker

Ahh, so you are requesting a widget group that can be copied/pasted, I guess, this can be implemented as a widget library thing? (Pretty sure this is a huge project in itself, maybe can be a importable module, so as to not bloat vanilla decker) A work-around I suggest for now is shift-clicking all components of the desired group/elements and then pasting them elsewhere,btw can you provide more context as by canvas do you mean the workspace area of decker or do you mean the canvas widgets in particular?

(+1)

This project is so awesome. It's almost exactly what I always wanted to find/make. One thing I'd like to request is for color image import that spits out a 16-color dithered image and palette. Maybe images as resources. I'd like to import Myst-type images. AFAIK it's a myth that a HyperCard based version of Myst actually shipped, but it was definitely originally built in it. And they did do a Mac resedit type resource hack to add color. So, I get that Myst wasn't standard fare for HyperCard, but it would be awesome to see color content be a little easier to add. 

If I was being really annoying with feature requests, I'd love to see this also start to dip into Macromedia Director territory. With 256-color image support, 22050hz audio. I guess I could always fork the code myself and look into making modifications.

Either way, in its current state, this rocks. I've been looking for something like this for a long long time.

Developer

Thanks, I hope you have fun playing with Decker!

It's possible to have 16-color backgrounds in Decker right now, but kind of a pain: the "read[]" function can import color images posterized to the 16-color Macintosh palette. If you prepared a set of appropriately dithered and colored images with some external tool, you could use a Lilt script to bulk import the images and splat them into card backgrounds. I've added a more direct/integrated workflow for color images to my todo list.

256 colors would be trickier. Decker/Lil Images are 256 color internally, but some of those are reserved for 1-bit patterns, animated patterns, and special UI-related "magic colors". With some light hacking on the codebase you could easily reclaim at least 128 more usable colors.

Deeper audio bit depth is another simple tweak from a code perspective, but it'll make deck filesizes get huge very fast, even if I add better compression methods. I don't think I'll be going that route in the forseeable future. Perhaps something more like .MOD playback eventually would be a better fit.

Yeah, I know raw audio data like that would balloon really quickly. But on all those old CD-ROMs like The Manhole, raw audio was the norm. Back then the bitdepth/sample rate was your compression, I guess. So I don't really care about compressing the audio. For a standalone desktop deck it wouldn't be so bad, but I wonder if a 500 mb deck (hypothetical rough "CD-ROM" size) would struggle to play in a browser. I really don't know. 

It would also be interesting to have small postage-stamp sized QuickTime videos (dunno if QuickTime itself is usable, probably proprietary) you could paste in as an opaque string.

But yeah, you can check out a manifesto/document I made years ago about my general idea for bringing back this HyperCard/Director aesthetic: https://artfluids.itch.io/directorcore-manifesto

It doesn't fully reflect my feelings on the topic anymore, but the general gist is still how I feel. Decker is the closest thing I've found yet to this ideal. 

I also want to say that I really like Lil. I was going to get into the nitty gritty of Flex/Bison to make a parser for a similar HyperTalk inspired language, but I think in the future I might just borrow Lil and use your parser. If I do, I'll let you know.

I think it is worth looking into aspects of Macromedia Director because it is very inspired by HyperCard. Its programming language, LINGO is almost like a dialect of HyperTalk.

I know that if the scope of this project gets too big then it loses its appeal and charm. But for my part, I think for it to become a real "multimedia sketchpad" it would have to embrace the Macromedia Director phase of the Macintosh as well (at least up until like 1995. Director 4.0). Maybe have videos. I'm not saying it should have every feature of Director. Because Director had stuff like timelines (individual frames could have their own scripts, just like cards/widgets) and that starts to scare away newcomers/non-programmers. I just think the aesthetics of Director would be nice (i.e. 8-bit color, video, 22.01khz audio). 

But, all that said, I am thrilled to find Decker and am excited to use it as-is. Also, I'm spreading the word to anyone who will listen.

(+1)

hi jumping into the thread to say HELL YES to .MOD playback. i almost posted a new topic about it just now lol. i am loving Decker so much

It's a great tool. One little thing that is annoying, though, is when I change the Grid size this information is thrown away after a Quit command. Next time I load that deck, I have to type in the numbers all over again. I'm no programmer, but couldn't this be made persistent fairly easily?