Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dab0mb/radial-snake
A tutorial for creating a Tron-style game
https://github.com/dab0mb/radial-snake
cpp emscripten es6 game-development javascript tutorial
Last synced: 21 days ago
JSON representation
A tutorial for creating a Tron-style game
- Host: GitHub
- URL: https://github.com/dab0mb/radial-snake
- Owner: DAB0mB
- Created: 2016-11-27T10:53:14.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-29T05:01:28.000Z (over 6 years ago)
- Last Synced: 2025-01-03T15:24:28.501Z (24 days ago)
- Topics: cpp, emscripten, es6, game-development, javascript, tutorial
- Language: JavaScript
- Homepage:
- Size: 1.01 MB
- Stars: 73
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# How to implement a game engine in JavaScript and build a Tron-style game
[//]: # (head-end)
![snake-demo-full-small](https://cloud.githubusercontent.com/assets/7648874/21073892/ae331a8a-bed2-11e6-9141-9554f9bb808b.gif)
This tutorial will guide you through the following steps:
- [**Step 1**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step1.md) - Creating a server
- [**Step 2**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step2.md) - Creating a game engine basis
- [**Step 3**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step3.md) - Creating a splash screen using a keyframe animation engine
- [**Step 4**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step4.md) - Creating a main menu screen using a font engine
- [**Step 5**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step5.md) - Creating a snake and related geometry shapes
- [**Step 6**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step6.md) - Creating a complex game screen with multiple layers
- [**Step 7**](https://github.com/DAB0mB/radial-snake/blob/master/.tortilla/manuals/views/step7.md) - Bonus! Re-implementing geometry in C++Make sure you have the following software installed:
- NodeJS with an ECMAScript 2015 support (v6.0.0 and above).
- Any web-browser which supports ECMAScript 2015, with a preference for Google Chrome.> The final project is a hybrid of C++ and JavaScript. A JavaScript **only** version of this tutorial is available [here](https://github.com/DAB0mB/radial-snake/tree/master%40step6%400.1.3).
This tutorial is mostly based on pure JavaScript, so people can have a deeper understanding of the language and its dynamics. In addition, this tutorial makes a great practice on how to build a nice architecture for complex systems, which can then be expanded and maintained with ease. Yes, it is specifically designed for games, but I truly believe that video games can easily get messed up if not planned and designed properly in terms of object oriented relationships. They are naturally more complicated then any web-app you gonna see out there, so if you can create a game engine and understand its flow, creating a web-app would be a piece of cake for you. By the end of this tutorial, your general sense for programming should be enhanced greatly.
So hopefully that I got you pumped up by now, let's get started!
[//]: # (foot-start)
[{]: (navStep)
| [Begin Tutorial >](.tortilla/manuals/views/step1.md) |
|----------------------:|[}]: #