GithubHelp home page GithubHelp logo

macaco-maluco / day-one Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 0.0 12.91 MB

๐Ÿ‘ฝ Explore and colonize an infinite procedurally generated universe

Home Page: http://day-one.macacomaluco.space/

JavaScript 90.40% HTML 1.89% CSS 7.71%

day-one's Introduction

Day One

Build Status

The game runs on top of a procedural generated universe, with solar systems, planets and other celestial objects that are born and die.

It was implemented as part of the Node Knockout 2016 hackathon. Check a video to see it in action.

You start the game very close to the beginning of time (hence Day One) and must fight to survive for as long as you can before the heat death of the universe. Each game session will last at maximum 6 minutes, which is the lifespan of the universe.

Your goals as the commander of the ship are:

  • Construct Dyson Swarms around stars to "harvest" their energy to keep your ship running;
  • Find suitable planets (with water) to settle populations so that they can grow.

Features:

  • Procedural generated universe with a time arrow (things born and die);
  • All the different celestial objects (stars, accretion disks, supernovas, black holes...);
  • Complete life-cycle of stars (formation to death);

Instructions

We recommend Chrome to test the game, but it should also work in mobile devices (try adding it to the Home Screen so that you get a fullscreen experience). In Firefox, the accretion disk animation is a little bit broken, but the game is fully playable;

Interface

  • As the player you control the ship in the middle of the screen by clicking on where you want it to go.
  • You can interact with any stellar object by clicking on it. On selection, a contextual interface appears in the bottom of the screen with additional information.
  • On the top hud you will see a "progress bar" growing from the "Day One" to "Heath Death" that indicates the time left in the game;

Energy

  • Your ship needs energy constantly to keep functioning, If it runs out of energy the game is over;
  • By clicking on a star, it is possible to construct a "Dyson Swarm" to harvest the energy produced by it. It costs 1000 energy units to build a swarm and you can collect energy back in increments of 2000 units.
  • Different stars have different lifespans; try to choose stars with longer lifespans (Red dwarfs) to construct the swarms.

Population

This is a feature that we didn't fully complete, so it won't interfere with the outcome of the game, but nevertheless you can play with it.

  • Your ship contains a number of survivors in cryo-pods;
  • You can find planets with water to populate with survivors;
  • You can later come back to a planet and off-load parts of its population back to the ship to continually colonize the universe.

Procedural generation

  • Refresh the browser window, the infinite universe restarts from day-one... but it is still the same; Stars will be in the same place and will follow the same lifespan.
  • Travel any amount of distance to any direction and come back, whatever you saw, will still be there;
  • The only thing that exists is what is on the screen, all derived from a function of (x, y, width, height, time).

Known issues

  • No introduction screen: we had an introduction screen that explained how to play... but we had to remove it because it prevented people from seeing the game. Hope you find the information above was sufficient;
  • The Firefox rendering issue mentioned above.

Resources

  • Sagui
  • React
  • Redux
  • React Motion
  • SVG for all the game rendering
  • Alea (for the seedable random function)
  • Express

The game idea and visuals were heavely inspired by the Kurzgesagt videos and No Man's Sky.

day-one's People

Contributors

pirelenito avatar

Stargazers

Hilton Perantunes avatar Jorge Guberte avatar Filip Malinowski avatar Fernando Via Canel avatar Klas Mellbourn avatar  avatar

Watchers

 avatar Fernando Via Canel avatar James Cloos avatar Klas Mellbourn avatar Nikola Pejoski avatar Sakina Crocker avatar

day-one's Issues

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.