Challenge accepted
Makapar Games
Creator of
Recent community posts
Thank you very much :) I managed to reuse a bunch of code from another WIP project, otherwise this would have been impossible...
It was still very difficult to pull together something working and a ton of ideas were scrapped in the process. My code is not very flexible, so I had to rewrite a bunch to get basic things working. Some systems built in this jam will be ported over to my more ambitious long term project, and I had fun experimenting on this, so for me it is time well spent.
Thank you very much :) all SFX were recorded and edited by me
About the rubber banding... Servers are in Europe, but even in EU they can be laggy. On my MacBook I can host a server with 1000 enemies without ny noticeable lag, but Heroku (the host) even struggles with 25 total enemies.
I regret not picking a better host like AWS/Azure, or maybe even adding an option to switch server between different regions. Oh well, now I have something to do post-launch :D
Cool, that really proves that you don't need a lot of technical know-how to make an appealing game. Your game looks way different than the examples shown in easyfpseditor-ce, I would not guess it is the same engine from just looking at the two. Keep it up!
What is Wave Function Collapse? (WFC)
Wave Function Collapse (WFC) is an algorithm for procedural content generation. It creates complex and coherent structures based on predefined patterns and constraints, ensuring that each generated tile fits seamlessly with its neighbours.
Implementing WFC in ZomdeadZ
Here’s how we use WFC to enhance ZomdeadZ:
- Dynamic Environments: WFC allows us to generate diverse and believable game worlds by adhering to specific patterns, ensuring that every playthrough is unique yet coherent.
- Handling Constraints: We’ve adapted WFC to work with different tile sizes and types, from large buildings to detailed vegetation, maintaining a realistic and engaging world.
- Logical Placement: WFC ensures that new tiles fit logically with adjacent ones, creating realistic layouts and enhancing the gameplay experience.
- Performance Optimization: To keep the game running smoothly, we pre-generate map chunks and only send nearby data to players, balancing performance with rich, varied environments.
How we "train" our algoritm.
We built a level editor. Here we define different "modules" which are essentially presets for each chunk. Based on this the rules for our world generator are generated. We do not defined exactly how the world should look, these are fed into our generator and can give us results even we did not expect.
The Impact on Gameplay
Using WFC in ZomdeadZ results in:
- Enhanced Replayability: Every game session offers a new world to explore, keeping the experience fresh.
- Immersive Environments: Realistic and varied landscapes heighten player immersion.
- Unique worlds: using WFC lets us handcraft beautiful pieces and let the computer take over and make its own version of it.
Looking Ahead
We’re excited to continue exploring WFC’s potential in ZomdeadZ. As we refine our approach, we aim to bring even more dynamic and engaging worlds to our players.
We decided to make a custom game engine for this project. The first days the game looked like this and had no real gameplay.
A bit further along in development we started using assets for our character, got animations working and multiplayer networking was being worked on
World generation was added to the game. At first it was entierly client side and would make the user stutter. It was slow, and prone to cheating.
Fog was added to the game in order to hide the world loading, and it was optimized for better performance, it was also made entierly server side to both offload the clients, and to prevent cheating.