The primary of our first PoC is a static site export that can easily be pushed to one of the popular free host providers:
⚔️ Salutations fellow legends! ⚔️
Wow! Time has passed quickly since our last blog post, however, much progress has been made! Today, we're going to go over the technical aspects of the core engine for Legend of Worlds and what has been accomplished so far. The core of the engine has been completed, and now we are at the point where we can focus on gameplay and world creation logic!
Legend of Worlds is a cross-platform, cross-play, 2D online sandbox multiplayer experience where you can join, play, create and share player created worlds. This blog post covers the open-source game engine I've created in order to build this game.
In the last post, we discussed the benefits of Rust and WebAssembly in our game engine architecture. Rust gave us many benefits, but one issue it gave us was long compile times, depending on the more code and libraries we jammed into one module. This was getting to be a problem, as a Rust project starts off on my machine as a few seconds to compile
I started filling in the gaps in my home-made physics implementation. In this post I go painstakingly detailed about my adventures in implementing one-way platforms and prematurely optimizing broadphase collision detection. Bonus yak-shaving sections on bevy_screen_diagnostics, and bevy_sparse_grid_2d
Why on earth am I making a physics engine when there is Rapier?
As I've now experienced first hand, and we'll see in the rest of this post, making physics can be a deep rabbit hole, with so many yaks to shave you never get out.
[Posted 22. February 2022] [Author: Erlend]
Our 🌶Spicy 🦞Lobster studio venture is among the first of what we hope will become a common type of company, designed first and foremost to Do Good by means of radical openness.
Cargo Space devlog #3 - Sprites, de-syncs, cross-platform p2p, kayak_ui, cargo-deny | Johan Helsing Studio
I drew a couple of sprites, added cross-platform multiplayer, added some ui using kayak_ui and fixed a lot of network-related bugs. Last time, I thought I would be able to take a break from the technical side. It turned out I was wrong. I had a lot of tough bugs, both with de-syncs, and NAT-traversal. I guess it’s one of those reasons why they tell you not to make a networked multiplayer game.
Last time I thought I’d managed to get a completely deterministic simulation. As I tested more thoroughly with friends over the internet, that turned out not to be the case. After a long time of playing, positions of players and the ship would go slightly out of sync.
I’d run out of obvious non-determinism bugs to fix (
"How I Didn't Clip the Sound Effects" Redux - Handling Sounds During Rollbacks Handling sound effects during rollbacks is a difficult problem!
Now that all the issues with sounds-during-rollbacks are resolved in Skullgirls, I'm gonna document what I did so that everyone else doesn't have to figure it out from scratch.
The title is a reference to Mauve's now-deleted article about Rollcaster, titled "How I didn't clip the sound effects" (archive.org) which is incomprehensible. I feel okay saying this because when I started working on sounds-in-rollbacks I talked to Mauve, who said, and I quote, "This is incomprehensible, why did I write it like this?" :^)
Now, I lied - handling sound effects during rollbacks is fairly simple. You just have to have someone else think about it for a long time first to come up with the simple way. :^P
Many systems in games, like well-written menus or even the characters in FPSes(!), sometimes work by keeping two states: a "desired" state, and an "actual" (or "displayed")
If you already know what an ECS is, jump to the "Comparison With Other ECS" section.
The title is a lie. In reality, this is an Entity-Component-Resource-System library.
First, let's start at the beginning. What is an ECS you ask?
Event Chaining as a Decoupling Method in Entity-Component-System | |
Joël Lupien (Jojolepro, jojolepro@jojolepro.com) | |
https://patreon.com/jojolepro | |
================================================================================ | |
Context | |
================================================================================ | |
In game engines, we often have a lot of dependencies between modules. | |
For example, the user interface often depends on the renderer, window and |
### Amethyst | |
**TODO**: **_ping @erlend-sh!_** | |
### Amethyst tooling | |
- Amethyst Engine v0.13 was released. A new `amethyst_tiles` crate was added and the Pong tutorial is now complete with the addition of an audio section. | |
https://github.com/amethyst/amethyst/releases/tag/v0.13.0 | |
https://book.amethyst.rs/stable/pong-tutorial/pong-tutorial-06.html |
### Keybase proof | |
I hereby claim: | |
* I am erlend-sh on github. | |
* I am erlend_sh (https://keybase.io/erlend_sh) on keybase. | |
* I have a public key ASANSV_y13B_rLvgFpB25kwGFy6JWqoZktFT72DBJ1en5Qo | |
To claim this, I am signing this object: |