GithubHelp home page GithubHelp logo

mminer / ggj2022 Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 2.0 29.16 MB

Dungeon, With Friends! (Global Game Jam 2022)

Home Page: https://matthewminer.com/ggj2022

C# 81.85% CSS 4.89% HTML 13.26%
unity unity3d globalgamejam globalgamejam2022 ggj global-game-jam global-game-jam-2022 gamejam game-jam

ggj2022's Introduction

ggj2022's People

Contributors

bradkeys avatar cabogie avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ggj2022's Issues

Generate and display P1 & P2 glyphs

Each player will have an assigned glyph that can be seen when they access the exit door (glyph selection). Their assigned glyph is static, cannot be changed.

There is a second glyph slot that requires the other player's glyph from their exit screen.

Order doesn't matter.

Add door art to glyph entry screen

Spruce up the glyph entry screen using @cabogie art and only display the selector glyph.

Change title to "a door to bridge two worlds" and update the subtitle to be more helpful.

Limit visibility

One mechanic we can try is limiting one or both of the player's visibility.

Allow spawning pits along walls

At present pits only spawn in the middle of rooms. This ensures that players can always circumvent them, but it also means they can easily avoid them by only walking beside walls. Instead we could check if you can circumvent pits by doing a pathfinding check from the entrance to the exit.

Create spike pit

For a first obstacle, create a spike pit that one player cannot see.

Implement map generation

This seems like it could be a gnarly task if we attempt to do it from scratch. My vote is to integrate an existing library. I found a few:

  • libtcod: C++ library, but perhaps we could pull it in as a plugin
  • RogueSharp: loosely based on libtcod; has field-of-view calculations which might be interesting for providing lighting (e.g. if the player holds a torch)
  • GoRogue: also inspired by libtcod

Make monsters move

To start we could have a few simple patterns, e.g. they only move in a square.

Write editor script to regenerate dungeon

It'll speed up map testing if we're able to quickly tweak parameters and see the result immediately, or type in different game codes while playing the game to see what map it corresponds to.

Limit game code to unambiguous characters

Certain characters are difficult to distinguish from each other.

  • O and 0 (remove 0, O is already not allowed)
  • B and 8 (remove B)
  • S and 5 (remove 5, S is already not allowed)

Add sound effects

I don't think we need to spend too much time on this. Unless sound plays a meaningful role in the gameplay, which could be interesting to explore.

Add mute button

When we add sound effects in #7, we need a way to mute those bad boys.

Create instructions

This could be on the Join/Host screen, or on a web page if we make a WebGL build

Place player and exit

We have a few options here.

  1. Always start the player and exit on the same tiles
  2. Completely randomize the player and exit locations
  3. Preselect a few tiles (e.g. the four corners) and randomly choose between them; whichever preset spawn point the player is on, choose the opposing one for the exit

I'm partial to option 3. Whichever route we choose, we'll have to carve a path in the dungeon if the spawn points ends up in a wall.

Add UI

  • Title screen with player 1 / player 2 prompt (#3)
  • Player 2: game code prompt
  • Game code (just keep it visible in corner?)
  • Game over screen

Also #9 and (possibly) #6.

Prevent player movement while on Monument or Exit screens

When the full-screen UI for the monument or glyph selection is displaying, you can still move your player around with keyboard commands.

It's weird and also messes with being able to dismiss the UI via a keyboard command because the button loses focus (I think).

Create rivers

These will be slightly different from walls in that you can see across them, but not move across them without a bridge.

Spawn monsters

These could be like pits where you die if you run into them, unless you have a weapon.

Make WebGL build

Make sure there are no problems with WebGL. I don't anticipate any.

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.