Code Monkey home page Code Monkey logo

speedrun's Introduction

Overview

A speedrun game. The goal is to reach the white box as fast as possible.

Build instructions

Since I'm not sure I want to commit all binary resources twice, go get won't be possible in the near future. To build it yourself, execute

git clone https://github.com/mlesniak/speedrun.git
cd speedrun
go generate
go build

and start the executable speedrun.

Controls

  • Keyboard left, right and up for movement. N for a new level, R to restart the current one, F to toggle fullscreen.
  • Gamepad: left analog stick to move, B to jump, ZR for a new level, ZL to restart the current one.

Changelog

The changelog for the current and all previous releases can be found on the releases page.

Topics for the release currently in development are

  • Add splash screen with 'Start'-Button (beginning of menu)
  • Improve physics
  • Simplify code structure (number of files, call hierarchy and global objects)

TODOs and IDEAs

  • Better gamepad support
  • Ability to enter level codes
  • Release downloadable packages
  • Tiled support?
  • Highscore list stored on server, choosing of levels possible (maybe with thumbnails)?

Based on /u/jerf's comment

From a game perspective (rather than a Go perspective), the relatively quick arrival at top horizontal speed probably means the optimal run ends up looking like Super Mario Brothers 1 speed run, where the name of the game is just to stay at top horizontal speed while moving vertically around the obstacles as needed.

I'd suggest A: making the horizontal move more of an acceleration move, that asymptotically approaches a top speed (and not necessarily terribly quickly) and B: consider making jump take out some of the horizontal speed as well, perhaps even making the height of the jump partially dependent on horizontal speed. Another interesting thing I'd consider is making the "jump" button, when you are already in the air and very near a platform, reverse your horizontal momentum. I'd actually be inclined to play with not changing the vertical at all, though maybe a small boost might feel good. The idea is that maybe a skilled player might find a place in the level where the optimum move is to jump up and bounce off of two platforms to hit some hole at a higher speed than if they just came at it at the right, but slower, speed to jump through it directly.

That ought to give the physics a lot more character, and depth. Especially with horizontal speed determining jump height, there may well be a plodding, but safe, path through the level, but it would be slow. A more daring path might involve a lot more air time and higher horizontal speed, but with a greater chance of bonking. (Bonking time penalties proportional to the speed you bonk at might also help the risk/reward balance.)

License

The source code is licensed under the Apache license

speedrun's People

Contributors

mlesniak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mewbak

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.