BrokenGate - A Decker Template

This stated off as a full macventure style game, but December is not a time for a lot of writing and adventure games do have a lot of writing. So I'm releasing this as a short adventure to unlock the front door.

Using the Template

This documentation for the template is assuming that you are familiar with the basics of Decker. The way I do things here is not endorsed by the creator of Decker as a standard, this was just the easiest way I could make things work.

Setting the Scene - Room

  1. Create a new card
  2. Add the new contraption "Game_UI"
  3. Double Click the contraption, change the name to "G" without quotes.
  4. Under the Widgets menu, click "Show Transparent"
  5. If there is ever an issue were the UI is covering your Widgets, select the Game_UI and choose Move to Back

Interacting with the Game_UI Widget

Once you have properly named the Game_UI widget to G you can use the default interaction script to provide text box responses as you interact with things. See downloads for the default script.

Storing State

  1. Create a new card called "f" without quotes
  2. This card will store widgets we create as a way to track state.

Creating the Flag

# When creating a widget to track state, we need to make sure that we check if the state
# was already set because decker will be helpful and create a widget with a different name
# if your state exists  
 
# Name of your flag, make sure it's unique.
CHECK_FLAG:"Flag_0001"
 
# Check if it exists, if it does not add the widget to track state.
if deck.cards["f"].widgets[CHECK_FLAG] = 0
    deck.cards["f"].add["button" CHECK_FLAG]
end

Checking the Flag

# Name of your flag, make sure it's unique.
CHECK_FLAG:"Flag_0001"
  
# Check if it exists, if it does not add the widget to track state.
if deck.cards["f"].widgets[CHECK_FLAG] = 0
    # If the flag is not set, do this
else
    # If the flag is set, do this
end

Default Text Settings

#This is set in the Deck Script so you can access it anywhere.
 
#Short Name
o:()
 
# We're using Internet Janitor's paper contraption for the textbox
o.border:deck.contraptions.paper
 
# Standard Colors and Font
o.fcolor:colors.black
o.bcolor:colors.white
o.tfont:"cinema"

One Time Room Text

# Name of your flag, make sure it's unique. 
CHECK_FLAG:"Room_Flag_0001"
 
on view do
 if deck.cards["f"].widgets[CHECK_FLAG] = 0
  f.add["button" CHECK_FLAG]
  dd.open[deck o]
  dd.say["This is the text that shows one time as you see a room."]
  dd.close[]
 end
end

Death Rooms

# Since death kicks you back to the room you were last in, you can just copy the
# death card and make a new card for each death to return you to the last room.
on view do
  play["death"]
  dd.open[deck o]
  dd.say["Reaper: I bet you're BERRY sorry now!"]
  play["click"]
  dd.say["Reaper: Haha, I love your face when you hear my jokes."]
  play["click"]
  dd.say["Reaper: Sending you back ;)"]
  play["click"]
  dd.close[]
  go["r01" "Dissolve"]
end

About Text

The text uses the Dialog system by Internet Janitor, you can open the dialog.deck from the examples folder to see how it works and what other features you can use.

Objects that Change on the Map

# In the room script, we update the state of the widget we want to show and hide.
on view do
CHECK_FLAG:"Item_Flag_0001"
# Show or hide birb
 if deck.cards["f"].widgets[CHECK_FLAG] then
   birb.show:"none"
  else
   birb.show:"transparent"
 end
end

Example, Speaking to Bird Picks it Up

#---------------------------------------------#
# SPEAK 
#---------------------------------------------#
CHECK_FLAG:"Item_Flag_0001"
 if G.verb = "Speak"
  dd.open[deck o]
  # See the example script in downloads for _speak details.
  dd.say[_speak]
  dd.close[]
  if deck.cards["f"].widgets[CHECK_FLAG] then
  else
    deck.cards["f"].add["button" CHECK_FLAG]
    # We alert to force the room to update and the room to refresh.
    # We could also go["card_name"] as well.
    alert["Item: ANIMAL FRIENDS - Bird added"]
  end
 end

Creating Fonts

I've included the font-creation tool in downloads that Internet Janitor outlines in the tutorial here. You can use it to create fonts to best fit your game.

Credits

Pixabay, Internet Janitor's widget collection, Decker, Damien Guard's Typefaces, Vinque Regular by Typodermicfonts, Short Music and Game by SysL

Game made for the 2023 Dec(k)er Jam

StatusReleased
PlatformsHTML5
Rating
Rated 4.7 out of 5 stars
(3 total ratings)
AuthorSysl
GenreInteractive Fiction, Adventure, Puzzle
Tags2D, Black and White, decker, macventure, Pixel Art, Point & Click, Singleplayer, tool

Download

Download
BrokenGate.deck 550 kB
Download
Decker Script - Default Interactions 2 kB
Download
FontImporter.deck 8 kB

Install instructions

Download the Deck and open in Decker to make edits.

Comments

Log in with itch.io to leave a comment.

(+1)

Awesome graphics. Well done !

(+1)

Ok it's amazingly cool and clever ! well done, I'll spread this link in the interactive fiction community ! 

(+1)

Cool little adventure-game engine you got there!