GET LUCKY
GMTK Game Jam 2022 [Roll of the Die]
48 Hours | July 2022
DESCRIPTION
Get Lucky is a graphic novel dating sim where the player attempts to persuade Lady Luck to let you pay for dinner. I was one of nine developers and acted as one of the two programmers. This Game Jam was only 48 hours.
​
Working with one other programmer, we each developed half the systems for the game and worked together at the end and tied the two halves together.
​
My primary accomplishment was the dialogue system. The structure was easy to implement without sacrificing functionality. In addition, I streamlined the dialogue pipeline that saved valuable time for the writing.
​
Out of 6,147 entries, Get Lucky was ranked #407 overall and #163 in presentation!
RESPONSIBILITIES
-
Processed dice rolls.
-
Developed and integrated dialogue system.
-
Integrated various UI elements.
-
Organized dialogue data.
-
Assisted in main game flow integration.
-
Polished game.
Engineer Skills Learned
-
Rapidly creating data structures.
-
Identifying and implementing core systems early.
-
Identifying pipeline issues and creating tools to assist.
-
Rapidly implementing systems.
-
Maximizing limited time.
Design Skills Learned
-
Designing a system described only in concept.
-
Rapidly iterating systems.
-
Polishing existing systems.
Engineering
Dialogue State Diagram
-
Once the game loop was decided, I got to work and drew diagrams for the game.
-
Having these diagrams while implementing the system ensured that they'd worked the first time and maximized our development time.
-
This state diagram mapped out what goals were needed from the system and how player input would be handled.
-
This also doubled for planning out how the UI flow would work.

Click to view in a higher resolution

Click to view in a higher resolution
Dialogue Manager
-
Having a well thought out manager and data structure for the dialogue was essential to completing the game in time.
- DialogueOption contained the writing and reaction images options for Lady Luck.
- DialoguePool held DialogueOptions in groups and would retrieve options when requested. It auto repopulated as well!
- DialogueManager was the main driver for the system, deciding which pools to use and when.
Auto Dialogue Parsing
-
With such little time, I wanted to ensure our writers had the time they needed to write and proof read without worrying about engine implementation.
-
I created a tool that would take in dialogue that automatically broke the text into 'lines' which fit inside the dialogue box.
-
This allowed out writers to quickly move their writing into one spot without worry of the dialogue being too long for the system to handle. We estimated that it saved 8 hours of testing and bug fixing in a 48 hour project.
- As it was compartmentalized, it was easy to add functionality such as changing text color based on the character speaking.

Click to view in a higher resolution

Click to view in a higher resolution
Lady Luck Poses
-
My favorite part of polish was changing Lady Luck's pose based on the player's dialogue choices.
-
This felt to tie the entire game loop together as it made the interactions with the character more genuine.
-
This was tied to the dialogue system so we could offer relevant reactions based on her dialogue.
-
My favorite reaction pose was where she ducks under the table and lifts up her fox that acts as her scarf who and holds a gun.
Reaction Images
-
Although we were confident in our writing, we wanted to add another way to show which 'tone' the player selected when they chose dialogue.
-
As such, I was asked to tie in the reaction images into the dialogue system. It was easy to implement and added another form of player communication to it.
-
When reading comments for the game jam, multiple players understood how the system worked, and we believe this addition contributed a lot to that understanding.

Click to view in a higher resolution
Design

Click to view in a higher resolution
Stats Allocation
-
I worked to make the starting stats allocation screen more intuitive for players to use.
-
I wanted to make sure the player knew when they could continue and make sure they didn't get confused by the options available.
-
To do this, I added and changed the states of the buttons based on the surrounding stats. The buttons that modified a stat only activated when they could be changed appropriately and the final confirm only unlocked once all stats were spent.
Buttons Polish
-
One concern brought up by the team was communicating that these two elements were buttons to continue.
-
To help, I suggested and added the glowing spinning sparkles to them!
-
The added brightness and movement helped draw the players attention and helped communicate it was intractable.
- In addition, it felt to add some charm to the UI as a whole.

Click to view in a higher resolution

Click to view in a higher resolution
Background Waiter
-
I was concerned that the game would feel stale during certain moments. There was smoke added to candles but I felt more could be done.
-
To add some extra movement and charm, I recommended we add a silhouette of a waiter that passed the background every few seconds.
-
After receiving the sprite from an artist, I used the Unity animator to animate going in both directions at randomized intervals.