All Projects → nroutasuo → Level13

nroutasuo / Level13

Licence: apache-2.0
Incremental browser text adventure

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Level13

Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+5135.92%)
Mutual labels:  entity-framework, game
Entitas Cpp
Entitas++ is a fast Entity Component System (ECS) C++11 port of Entitas C#
Stars: ✭ 229 (+122.33%)
Mutual labels:  entity-framework, game
Entitas Sync Framework
Networking framework for Entitas ECS. Targeted at turnbased games or other slow-paced genres.
Stars: ✭ 98 (-4.85%)
Mutual labels:  game
Micro Racing
🚗 🏎️ 🎮 online 3D multiplayer neural networks based racing game
Stars: ✭ 100 (-2.91%)
Mutual labels:  game
Punchandkick
A simple 2D Fighting Game.
Stars: ✭ 99 (-3.88%)
Mutual labels:  game
Zelda
A Zelda clone in C++
Stars: ✭ 98 (-4.85%)
Mutual labels:  game
Qake
Qake voxel-engine demo
Stars: ✭ 100 (-2.91%)
Mutual labels:  game
Efcoreinaction Secondedition
Supporting repo to go with book "Entity Framework Core in Action", second edition
Stars: ✭ 96 (-6.8%)
Mutual labels:  entity-framework
Cloud Game
Web-based Cloud Gaming service for Retro Game
Stars: ✭ 1,374 (+1233.98%)
Mutual labels:  game
Opendiablo2
An open source re-implementation of Diablo 2
Stars: ✭ 10,057 (+9664.08%)
Mutual labels:  game
Isocitysim
🌇 A simulation of a city using isometric tiles
Stars: ✭ 100 (-2.91%)
Mutual labels:  game
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+9720.39%)
Mutual labels:  game
Julius
An open source re-implementation of Caesar III
Stars: ✭ 1,353 (+1213.59%)
Mutual labels:  game
Roguebot
My simple rogue-like game for Telegram
Stars: ✭ 100 (-2.91%)
Mutual labels:  game
Geotic
Entity Component System library for javascript
Stars: ✭ 97 (-5.83%)
Mutual labels:  game
Matchimals.fun
🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web
Stars: ✭ 101 (-1.94%)
Mutual labels:  game
Unity Platformer
Unity platformer framework: IA, Ladders, Jumps, WallStick, WallJumps, Slopes, MovingPlatforms, OneWayPlatforms/Walls, Ropes and more...
Stars: ✭ 97 (-5.83%)
Mutual labels:  game
Nuvie
Nuvie - New Ultima VI Engine
Stars: ✭ 99 (-3.88%)
Mutual labels:  game
Ascii Runner
An infinite runner in your terminal
Stars: ✭ 100 (-2.91%)
Mutual labels:  game
Tetris
An almost complete tetris
Stars: ✭ 102 (-0.97%)
Mutual labels:  game

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 early development. You can play latest (semi-) stable version here.

Level 13 is a personal side project but has received some fixes from the community along the way. If you are interested in contributing, check the contributing guidelines first.

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

Major features still missing are story and RPG elements. Player progress is currently also limited to certain levels - it is not yet possible to reach the actual ending 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. The playable version lives on the gh-pages branch whereas master may contain untested and unbalanced features.

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 its own UI system.

Player Actions

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

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.

Contributing

If you want to report bugs or suggest new features please read the contributing guidelines first.

Links

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:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].