Ludum Dare October 2021 Notes (Hell_OS)

artificial intelligence, robot, ai

Synopsis

Ok so my idea for a LD48 game this time around is to build a multi-level alternate reality challenge game.

A challenge prompt is displayed to the user in a web browser. The player must correctly answer the prompt to proceed to the next level.

Tech stack

I want there to be a good degree of security, so players can’t just cheat to get to the next levels, so I want to use SSR for all sensitive responses. For this reason I’ll go with what I know. express-hotwire

Also despite my habits of open sourcing everything, the git repo will need to stay closed source until the first several players win the game.

Story

A great story is a pivotal part of any good game. I would like to come up with some kind of story, perhaps related to the LDJam theme, or perhaps related to my previous ld36 game Agents of D.E.C.T.I.L.E: The Rotchford Incident

Challenges/Levels

Beat a series of increasingly difficult levels, to arrive at the final difficult level.

I think it would be good to allow players to skip ahead to different levels, in case they get stuck on a certain level. Perhaps it’s the final 3 levels which require all levels prior to be completed before they can access those levels.

Here are some potential challenges.

Music notes spell out the answer

A song is played which using note letters A-G, spells out the answer

Riddle

A classic riddle is asked. The answer to the riddle is the password to unlock the next round.

Steganography

The challenge answer is hidden in the metadata of a photo.

base64

The answer is hidden in a base64 image which is sent via chat

Phone number

I will purchase a phone number through Twilio or Plivo which players can call or text. A response is given to them which reveals the answer to the challenge. This could be a voice prompt such as a fake voicemail.

Video

I upload a video to a new odysee channel which has the answer hidden within. I could RP as a character from the ARG world.

Tweet

The player must @ a twitter account, which responds with the challenge answer

Web page

The player must visit a webpage which reveals the challenge answer. I could use Neocities for this.

Security Camera Feed

A clue appears on a video stream at regular intervals.

Morse code in PDF

Mose code encoded in the margin of a PDF. Perhaps mimicking the yellow dots that some printers put on every paper to better track potential printer use in a crime

NFT

A $0.01 NFT which the player must have in their wallet to unlock the next round

rot8000

An answer is hidden in rot8000

rot13

An answer is hidden in rot13

Cron

A cron definition (https://crontab.guru/) is displayed in chat which shows the player at what time of day the answer is visible. A 5 minute window is all they get!

Persistence is key

At some point in the game, the player’s progress is intentionally reset by the server. The player is meant to be dismayed, and rewarded with the answer only if they choose to continue

Player from the past

At an early level, the player’s KB & mouse input is recorded and saved while attempting to solve a problem. Later, the player encounters a time dilation where they see their past self trying to solve a problem. The current player must give the answer to their past self.

Player from an alternate universe

A player must assist a player from an alternate universe by creating an answer and giving it to them.

Stow-away

A player must use a code which was not meant for them in order to get an answer

Ghost chatter

The chat is shown on-screen (video chat), but there’s a person who’s messages appear in video chat that isn’t a player. This ghost chatter reveals a clue/answer

Player count

The level starts at 0 with 0 players

1 player joins chat, the level becomes 1

2 players in chat means level 2

3 players in chat means level 3

… and so on

For each level, a sound track is played. Additional levels add a sound track. The stacked tracks playing simultaneously create a progressive ambiance as the levels increase

emote

Players are shown a single emote on the screen. They must type the name (keyword) of that emote in chat to advance. There could be several rounds of this, starting with easy (global) emotes and working up to more obscure (small channel) emotes

Collaboration

The players will probably get stuck. It might be good to have a subreddit or comment system where they can collaborate to get through the game

Prizes

Prizes are awarded to the players beat the game in the fastest time.

First Prize

Large amount of Bitcoin & leaderboard

Second Prize

Small amount of Bitcoin & leaderboard

Third Prize

Smaller amount of Bitcoin & leaderboard

Twitch Stream

OK new idea. Instead of finding clues, players must exhaust their in-game lives. 9 lives, for example.

The whole game is played via a Twitch.tv stream using chatbot commands

Players get prompts using !<number> (prompt command)

Players answer prompts using !<number> <answer> (answer command)

If a prompt is successfully answered, the player loses a life. To win, players must exhaust all lives and have a NDE.

Same sort of puzzle challenges as the notes I put above.

once a player reaches a certain level, the chat bot mentions them in chat @ with a link to the final challenge, which is a website that awards the prize. The website will require Twitch sign-in so the correct player is the only one who is allowed to enter. Naturally, other players who have not won are also trying to sneak a win by visiting the link. This could cause them to lose a life which is meant to be part of the game. Of course I would have to seed this somehow because there has to be a player who gets through in order for the first player to get through. Maybe an auto-bot that unlocks the final stage every 1 hour.

The answers are unique for every player. Player edgelord666 can’t use peter_taco4‘s answers because each answer is generated using some entropy from the user’s name or their ID.

Other players can watch and see how challenges are solved, but for them to actually make progress in the game, they must get their own prompt and solve their own challenge.

using a prompt command such as !1 queues a job in the software which is rendering the display. Jobs are executed as quickly as possible and the appropriate prompt displays on-screen for all livestream viewers to see. Along with the prompt is an overlay which shows the prompt number and the player who triggered the prompt. This way, the players know which puzzle belongs to which player.

Checklist

  • [x] Disable VODs on Twitch so I can play whatever music I want
  • [x] Change homepage settings so e-Mail tab doesn’t show up automatically
  • [x] Have snacks
  • [x] Tune the Pomodoro timer. RESPECT the Pomodoro timer!
  • [x] Disable syncthing
  • [x] Increase wifi bandwidth limiter

Code

I’ll be using glitch so I can easily share code if people want to see

also it’s a badass af editor!

https://glitch.com/edit/#!/shorthaired-elegant-rainstorm

THEME

The theme is UNSTABLE

Conclusion

I got way too stressed out during the jam, so I dropped out. I’ll try again in April!

My Ludum Dare 49 Experience

Looking for VOCALOID trading cards?

Check out Sakura Blossom Trading Post