https://github.com/stemkoski/bagel-javascript
The Basic Adaptable Game Engine Library, written in JavaScript.
https://github.com/stemkoski/bagel-javascript
Last synced: 10 months ago
JSON representation
The Basic Adaptable Game Engine Library, written in JavaScript.
- Host: GitHub
- URL: https://github.com/stemkoski/bagel-javascript
- Owner: stemkoski
- Created: 2022-02-06T21:11:53.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-01T18:08:33.000Z (over 4 years ago)
- Last Synced: 2025-07-11T16:55:03.901Z (11 months ago)
- Language: HTML
- Size: 2.17 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BAGEL-Javascript
BAGEL: The Basic Adaptable Game Engine Library (JavaScript implementation)
The meaning behind the BAGEL acronym:
* *Basic*: built from first principles and does not make use of any other software libraries
* *Adaptable*: can be used to create a variety of video games
* *Game Engine*: a software framework primarily designed for the development of video games
* *Library*: a collection of reusable functions and classes that serve a particular purpose
[BAGEL Documentation](https://stemkoski.github.io/BAGEL-Javascript/out/index.html)
Example games available:
* [Starfish Collector](https://stemkoski.github.io/BAGEL-Javascript/examples/starfish-collector.html)
* a collection-style game (the "Hello, world!" of game programming)
* [Starfish Collector Deluxe](https://stemkoski.github.io/BAGEL-Javascript/examples/starfish-collector-deluxe.html)
* an improved version of the Starfish Collector game; includes automatic Sprite update system, Physics, world boundary and wrapping functions, and Gamepad support
* [Space Rocks](https://stemkoski.github.io/BAGEL-Javascript/examples/space-rocks.html)
* an Asteroids-inspired game; play with keyboard or (XBox-style) gamepad
Notes:
* Running locally requires a web server. This is easy with Python, but requires a bit of configuration so that *.js files are served as "application/javascript" and not "text/plain"; this is handled by the file `server.py` in the root directory.