/uRTS

A tiny JavaScript + HTML canvas real-time strategy game

Primary LanguageJavaScriptMIT LicenseMIT

uRTS

uRTS is a tiny, HTML5 canvas real-time strategy game. It was built entirely on the web — starting as a jsFiddle, then graduating to GitHub and Cloud9 once it was big enough.

Architecture

Game

Central coordinator. Manages configuration and running of all game systems.

Systems

Controls various aspects of game, such as rendering, interaction, and AI.

Scene

Defines the entities and systems needed for a particular configuration of the game.

Input

Collects raw keyboard/mouse input and translates it into meaningful game control.

GUI

Draws the user interface details and sets up e.g., button controls.

Display

WebGL/THREE.js entity rendering.

Entity/Component Framework

Unity3D-inspired entity/component framework.

Entity

Component

Factory

Component Index

Todo

  • Expand terrain generation, especially feature selection (trees, water, rocks)
  • Add interesting low-poly meshes. Rendering/shading very important here.
  • Build actual RTS UI/UX
  • Play with AI, especially Utility Theory (Game Coding Complete, p630)
  • Improve pathing -- navmeshes, flocking, "flow fields" (ala SC 2)
  • Explore "chunking". Infinite-map sandbox+RTS could be cool.
  • Reconsider fog-of-war. Does it make sense in an "infinite" map?

Resources