Code Monkey home page Code Monkey logo

wired's Introduction

Wired

A puzzle platformer with wires.

Controls

  • Left/Right: Move left and right
  • Up/Down: Look at items above and below
  • X: Jump
  • Z: Select

Dependencies

  • zig to compile the code
  • wasm-opt to optimize the generated wasm file for release. It is a part of binaryen
  • wasm4 to run the generated cart

Building

git clone --recursive
zig build   # makes a debug build
w4 run zig-out/lib/cart.wasm
zig build opt -Drelease-small   # optimize cart size for release

wired's People

Contributors

desttinghim avatar leroycep avatar

Stargazers

 avatar Andrew Meier avatar hequn avatar wrmsr avatar Andrejs Agejevs avatar Hoang Phan avatar Isaiah Odhner avatar Benji York avatar  avatar  avatar Martin H avatar Loris Cro avatar Rafael Batiati avatar Garrett Hale avatar Steven avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

Forkers

leroycep

wired's Issues

Add wire spooling

Allow wires to be spooled. For the player this means that they can pick up the wire and move it without dragging it behind them. This mechanic should be an upgrade the player finds in game.

Add Death

Live wires should electrocute the player on contact with the sparking end. If the wire is pinned on both sides, nothing should happen. If a a player disconnects a live wire from a plug, they will be electrocuted. Upon dying, a short shock animation will be played and the game will load the last save.

  • Add electrocution animation
  • Reload save
  • Redesign levels so they can be beaten with death enabled

Store map more compactly

Currently two bytes are used for one tile. I could probably bring that down by using 1 bit to store solid/not-solid, 3 bits for special info, and 4 bits for conductance.

Complete Menu

Continuing from #5, just making a menu isn't enough.

  • Draw game title "WIRED" in a large font
  • Emphasize selected element in multiple ways:
    • Draw selected element in active color
    • Add wires going from edge of screen to currently selected element
  • Make some neat menu music

Possible upgrades

  • Patch tool - combines two wires into one (somewhat unrealistic but would probably be fun)
    • Wire cutter - turns one wire into two (might need to be combined with patch tool)
  • Spooler - see #12
  • Rubber boots - prevents shocks from walking over electrified things (wires are still deadly if you grab them)

Conductive platforms

Conductive platforms conduct electricity and present solid ground for the player. They can be electrified by live wires touching them or through conduit. In most cases these platforms will need to be turned off before the player can progress,

Make Menu

Players should be able to resume playing from where they last left off, start a new game, and view previous high scores. If I implement an in-game level editor, this will be how it is accessed.

Make checkpoints

Players should have their progress saved every time they collect a coin or enter a room. Only objects players can interact with should have their state saved, everything else can be computed. This means door tiles in the map, switches in circuit, wires, coins, and player position must be saved.

Save High Score

"High Scores" should be saved separately from the rest of the game data so that it will be persisted between new games.

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.