Code Monkey home page Code Monkey logo

bgj2024's Introduction

Blind game jam entry 2024

Run 'npm install && npm run dev' to test.

bgj2024's People

Contributors

jookia avatar xiithrian avatar

Watchers

 avatar

bgj2024's Issues

Add a heist clock

There should be a clock that starts when your heist starts and ends when your heist ends by failure or success. Actions in interactables should decrease or increase this clock.

Investigate Webpack and Tailwind

It would be great to have a better solution to CSS that supports dark mode and nice looking things. This will necessitate a move to Webpack to make everything build at once.

Put GUI code in a module

A lot of the GUI code is accessibility-specific and shouldn't be touched that often without testing. It should be put in its own module.

Debug line endings on Windows

During development with Xiithrian we found out that some files were being line converted on Windows and causing spurious git diffs.

This needs to be troubleshooted and fixed, ideally by using a tool that preserves the newlines. But gitattributes may work too.

Organize locations in to sets

Not sure exactly how this needs to work yet but it might be a good idea to organize locations in to sets with different properties such as whether the clock ticks, or there's safety from police. Levels perhaps?

Add locations

The core of the game loop revolves around being in a location filled with interactables that you give you choices. So we need some locations and a way to present a location to the player.

Something like this should work for now:

  • Keep a table of locations in JSON
  • Note which location we're in
  • Look up objects that are in the location
  • List the objects

After that the objects can start doing things such as displaying text, or changing your location.

Add items

Items should go in the inventory and have their own interactables and data file. These should be hooked in to getActions.

General worldbuilding/writing

We need to decide what type of world this is, what's the tone for flavor text, and what type of content should be in the game.

Implement failures

Some interactions might fail (such as picking a lock), implement the opposite of success for these interactions.

Add sound design

Sound is a nice to have to give audible cues based on action outcome- so you can immediately tell the general outcome of your action without reading. An example is if you're picking a lock: Success or failure should play a different sound. Sounds here are intended to be a cue to avoid having to read a lot of repetitive single-line flavor text in game loops.

Xiithrian prototyped this yesterday using Howler and it worked on Windows, so we'll probably do it that way.

Character creation

We want to be able to create a player at the start of the game and have some cool options to select.

Don't override default browser font

The default font is often set for accessibility reasons, we shouldn't override it. Asking Tailwind to stop doing this would be very helpful.

Add enemies

When the game clock gets low enemies/NPCs need to show up and conflict with the player.

Support multiple successTexts

Ideally we should pick a random successText not equivalent to the current feedback. So we should probably pass multiple feedbacks and let the gameState choose which one to display.

Add two heist locations

We need two locations to explore and find loot in:

  • Supermart (Gives clothes and furniture)
  • Foodshop (Gives food)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.