- 22 Dec, 2020 6 commits
-
-
Rahix authored
Also make sure webpack will deploy the resources/ folder alongside everything else.
-
Rahix authored
Add more text to the README for people to read. Adds the following things: - Marketing and Branding - Contact Information - Update existing parts to reflect current state of the code-base. - A level design guide with a lot of information about the pitfalls.
-
Rahix authored
Extract the current version from git during build-time and display it ingame in the bottom left corner. Currently, this is done at WASM build-time so we might not capture changes to the www/ part which happened after a WASM build. A possible solution would be to display a second version from JavaScript if we detect that the two are different. Fixes #18.
-
- 21 Dec, 2020 26 commits
-
-
Rahix authored
Run all the web builds as well, in the pipeline for merge requests.
-
Rahix authored
-
Rahix authored
Cache cargo build directory (`target/`) and npm's `node_modules/`.
-
-
-
-
Rahix authored
Let's hope we don't make them loose it D:
-
Rahix authored
Make sure the player spawns don't put the player into a wall collider.
-
Rahix authored
Load all spawn positions from the `spawns` layer in the map SVG and store them as level data. As a first use, make the player spawn at one of the player spawnpoints randomly.
-
Rahix authored
-
Rahix authored
-
Rahix authored
-
Rahix authored
-
Rahix authored
This allows one to debug wrong colliders in-engine. Quite helpful if inkscape messed up the SVG again ...
-
Rahix authored
The values passed to Cuboid::new() must be half extents and the position of the collider must describe the center. In SVG, rectangles are described by the top left corner and full extents which was incorrectly passed to the Cuboid::new() constructor. Fix this.
-
Rahix authored
Don't move the player if it is colliding with the world
-
Rahix authored
Add a basic level with proper colliders.
-
Rahix authored
Control the player with WASD like a pro gamer.
-
Rahix authored
-
Rahix authored
-
Rahix authored
Add plumbing for the most basic player: - A `Player` component to mark the entity which is the player. - A `Player` resource which holds the entity ID of the player. - A `draw_tmp_player_system` to draw the player as a circle (for now). - A `create_player` function to create the player entity. - Update the `moving_system` to put the camera at the player position.
-
- 20 Dec, 2020 1 commit
-
- 19 Dec, 2020 7 commits
-
-
Rahix authored
Due to the camera translation, the clear is currently not actually happening over the entire visible canvas. Reset the transform before clearing to ensure it's working correctly.
-
Rahix authored
Just as an example to build on.
-
Rahix authored
It's only relevant for mouse events so only make it available there.
-
Rahix authored
During state cleanup, remove all registered handlers from the DOM again.
-
Rahix authored
Turns out that e.g. an out-of-band event() will trigger the loop again, thus leading to two loops running. This of course kills performance really quickly.
-
Rahix authored
Don't ever leak the handlers, keep track of them and drop them when they are no longer needed.
-
Rahix authored
We currently have a `state` and a `states` module. This is confusing, rename the state module to `gamestate` to make a more obvious distinction.
-