Code Monkey home page Code Monkey logo

level13's Introduction

Level 13

Level 13 is an text-based incremental science fiction browser adventure where the player must survive in a dark, decayed City, (re-)discover old and new technologies, and rebuild a civilization that has collapsed.

The game is in active development. It is a personal side project but has also received some fixes from the community along the way. Bug reports and feedback are very welcome, but please check the contributing guidelines first.

Quick Links

Game Overview

Features

  • Survival and exploration
  • Base-building and resource-management
  • Randomly generated maps
  • Items, equipment and environmental hazards
  • Technologies that slowly unlock new aspects of the game

Code Overview

The project uses jQuery, Require.js, and Ash.js and is structured according to an entity system framework into entities, components and systems.

Branches

  • master is a development branch and can contain unfinished and buggy features
  • gh-pages is more stable and contains whatever is currently live

Entities and Components

All game data is stored in various Components that are attached to entities such as the player or a sector. Entities are simply containers for Components. The EntityCreator gives a good overview of what kind of entities have what kind of components.

Systems

Various independent Systems use and change data on Components and make stuff happen in the game. They generate resources, update movement options, resolve fights and so on. Each area of the UI is taken care of by its own UI system.

Player Actions

Everything that the player can do in the game - mainly button clicks - are called "player actions". Each action has an associated name, costs, requirements, cooldown and so on. The PlayerActionFunctions class contains a function for each action and handles their results. Various helpers take care of checking requirements, deducting costs, unifying random encounters and so on.

World Creator

At the start of a new game, a seed value is assigned to the game. The World Creator generates a unique world based on this seed and only the seed needs to be saved between sessions.

samplelevel2 samplelevel3

(Sample level structure)

The world is generated in roughly the following steps:

  • WorldGenerator determines rough structure of the entire world and important points like camp and passage locations
  • LevelGenerator adds more details to each level
  • StructureGenerator determines the structure of each level, placing sectors and paths according to constraints set in the previous steps
  • SectorGenerator populates the sectors with features like resources, item stashes, environmental hazards, movement blockers etc

Two important units for balancing the world are the camp ordinal and the level ordinal. Level 13 where the player always starts has level ordinal 1 and camp ordinal 1.

Other games

Level 13 is heavily inspired by A Dark Room. Other great text-based and / or incremental games that the game owes much inspiration to include:

level13's People

Contributors

nroutasuo avatar brilliand avatar somall-dumpling avatar heinoustugboat avatar foodforarabbit avatar adapap avatar dperelman avatar syzgyn avatar toby222 avatar unihedro avatar pokeball99 avatar

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.