#gamedev #javascript
1. Generate a new repo from Goodluck.
2. Evaluate the idea with a prototype.
3. Implement the core gameplay loop.
4. Add features and polish.
5. Optimize.
1. Generate a new repo from Goodluck.
Goodluck is a hackable template which you can create a completely new repository from. You don't install it from npm. Instead the code lives in your repo; change it any way you like!
In this step I'm going to build an extremely simple and rough prototype just to see if the main gameplay idea is a promising one. The goal is to experiment and evaluate the idea for fun and feasibility.
Here I'll start adding features which are absolutely required for the core gameplay mechanic. I'll add projectile and wall collisions, terrain generation, and simple title and victory screens.
Here's where the MVP becomes something more. I'll add textures for terrain and enemies, perhaps re-implement the terrain generation, add some animations, UI, and audio. This step is about the juiciness of the final product.
And finally: optimization, both in terms of the size and performance. If this was a game for @js13kGames this step could easily take a few days or more. For my little experiment today I plan to remove some unused code to see what size the final build is.
gdlck.com/#FlyCamera
- Mouse events and pointer capture.
- 2D billboard-like rendering ("Hello" in the video above).
- Lights.
js13kgames.com/entries/a-mome…
2. sys_move reads those directions and translates them into algebraic operations on the camera's translation and rotation, stored in the Transform component.
4. sys_camera left-multiplies the inverted transformation matrix (also called the view matrix) by the camera's projection matrix (stored in the Camera component).
6. sys_render passes the transformation matrices of all renderable entities together with other data requried by the shader (light positions, diffuse color) to the GPU, and renders the scene.