Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikesmullin/coffee-canvas-game-engine
Game Engine with CoffeeScript + HTML5 Canvas
https://github.com/mikesmullin/coffee-canvas-game-engine
Last synced: about 1 month ago
JSON representation
Game Engine with CoffeeScript + HTML5 Canvas
- Host: GitHub
- URL: https://github.com/mikesmullin/coffee-canvas-game-engine
- Owner: mikesmullin
- License: gpl-2.0
- Created: 2014-10-26T04:45:48.000Z (about 10 years ago)
- Default Branch: develop
- Last Pushed: 2023-02-20T05:42:09.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T14:50:56.515Z (9 months ago)
- Language: CoffeeScript
- Size: 5.74 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Coffee Canvas Game Engine
=========================Features:
* Mimics [Unity3D API](http://docs.unity3d.com/ScriptReference/) in [CoffeeScript](http://coffeescript.org).
* Uses [RequireJS](http://requirejs.org) to load dependencies between its object-oriented file structure.
* Optionally compiles to [HTML5](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5) + [JS](https://developer.mozilla.org/en-US/docs/Web/JavaScript) format good for statically-hosted single-player games.
* Includes [Node.JS](http://nodejs.org) + [Websocket](https://developer.mozilla.org/en-US/docs/WebSockets)-powered multiplayer game server. All traffic goes over tcp/80; bypasses firewalls/proxies!
* Imports [Blender](http://blender.org) models via export to [COLLADA](http://collada.org) and the new official Khronos Group JSON-based [glTF](https://github.com/KhronosGroup/glTF/blob/master/specification/README.md) 3D format.
* Works in all major browsers on desktop as well as mobile devices--especially [iPad](https://www.apple.com/ipad/) and [Android](https://www.android.com/).
* Supports mouse capture as well as multi-touch input devices.
* Supports both 2D and 3D modes with [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).Code is here:
* [`src/public/behaviors/global.coffee`](src/public/behaviors/global.coffee) Bootstrap
* [`src/public/behaviors/objects/Cube.coffee`](src/public/behaviors/objects/Cube.coffee) Sample Cube game object
* [`src/public/behaviors/Engine.coffee`](src/public/behaviors/Engine.coffee) Engine
* [`src/web.coffee`](src/web.coffee) Sample Room-based Multiplayer server logicStatically-hosted demos:
* [Demo 1: Simple maze game](http://mikesmullin.github.io/coffee-canvas-game-engine/)
* [Demo 2: Transformations](http://mikesmullin.github.io/coffee-canvas-game-engine/snapshots/2)
* [Demo 3: Visibility and lighting](http://mikesmullin.github.io/coffee-canvas-game-engine/snapshots/3)
* [Demo 4: Perspective light and shadow](http://mikesmullin.github.io/coffee-canvas-game-engine/snapshots/4)
* [Demo 5: Seeker game](http://mikesmullin.github.io/coffee-canvas-game-engine/snapshots/5)
* [Demo 6: Hider game](http://mikesmullin.github.io/coffee-canvas-game-engine/snapshots/6)## Building
The multiplayer server (used in most recent demo).
```bash
docker build -t mazehunt:local .
docker run --name mazehunt -p 3000:3000 mazehunt:local
```Dedicated server is hosted here:
https://games.mikesmullin.com/mazehunt.html