Skip to main content

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

Beginner Tutorial

A topic by njdan5691 created 46 days ago Views: 225 Replies: 3
Viewing posts 1 to 4
(+1)

Looking to create a simple rolodex sort of app. Is there any sort of introductory documents for someone who is a complete newbie

(+1)

For the moment there are things like the Decker Tour (the thing that loads when you open Decker).

Anytime you see something that looks useful to you, you can switch to widget mode (Tool > Widgets in the menu) and investigate how it was made. The introductory concepts in the Tour (making widgets, what different kinds of widgets do, how to connect cards together, etc.) are the building blocks of any project.

There are also the example decks (in the 'Examples' folder that comes with downloadable decker) -- many of them will not be relevant to a rolodex, but it's the same simple process (Tool >  Widgets) to start poking around what made things work. If you have specific goals or questions for the project you have in mind, then I'm sure someone here can answer questions or explain the concepts you need in a newbie-friendly way.

Developer(+2)

Everything ahmwma pointed out is a great place to start!

Decker is a very flexible medium, so there are many ways one could go about building something rolodex-like. I thought it might be useful to demonstrate one possible approach. In the video below I'll build a very simple card file without writing any code. Note that for the sake of expediency I use keyboard shortcuts to copy and paste (ctrl+c/ctrl+v as usual), navigate the deck (arrow keys), and I double-click widgets while in "Widget" mode to edit their properties.


  • I begin by turning on the toolbars (to save myself some clicks) and start a new deck.
  • Import the "Deckbuilder" font from the "fontedit.deck" example to make a nice title.
  • I Make a new card, and create some fields with information about my first contact, Lily. I can drag-and-drop images I've prepared previously into Decker.
  • To make it easy to get back to the title card, I create a button and use the "Action..." dialog to make clicking on that button take me to the first card in the deck.
  • I can then manually make a copy of Lily's card and replace all the info with relevant details for my next contact, Phinxel.
  • To make the deck searchable, I copy and paste in the SearchEngine contraption, which lets me search the text content of all the widgets in each card and produces a clickable link to cards which match my search term.
  • In order to make the index a little bit more useful, I rename each of the cards to correspond to their heading.

I could then continue to refine the deck by adding a little bit of scripting to automate the process of creating new cards:


  • I make another duplicate of Lily's card, rename it "template" and hollow it out, taking care to give the field containing the heading a name so I can refer to it easily in the future.
  • Just to keep things organized, I move the template card to the second position in the deck.
  • On the title card, I make a new button and give it a script (shown below) which copies the template, prompts the user for a name, uses that input as the card name and heading field contents, and then navigates to the newly-minted card.
  • Using that button I now have a more streamlined workflow for duplicating cards.

The above script in copy-pasteable form:

on click do
 c:deck.paste[deck.copy[template]]
 n:alert["card name?" "string"]
 c.name:n
 c.widgets.name.text:n
 go[c]
end

There are lots of fancier ways to approach this sort of problem which we could get into, if you're interested, like using Contraptions to define rolodex cards as a standardized "form" that you can update in one place and keep a consistent style across all your entries, or using grids and Decker's query language to make more of a spreadsheet-like or "CRUD" application as demonstrated in the 5GUIs example.

The key thing to remember about Decker is that there doesn't need to be a hard separation between "writing an application" and "using an application"; the world is plastic, and it's fantastic!

Does any of this help point you in the right direction?

(+2)

That was perfect. Thanks for taking the time to put that together.