Replies: 1 comment 1 reply
-
Nice! What would you say is the closest analogue in terms of gameplay? Factorio? I'd like to know more about the server-client stuff if you don't mind. Or even if you can point me to resources to learn about it. I haven't been able to find anything that explains things in simple terms but also in practical terms (as in guides you towards an actual implementation). |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello and welcome to my first devlog about Ante!
Ante will be a game about utilizing the various systems and resources existing in the world to achieve your goal of building up the first habitat on a foreign planet.
It is meant to be technological progression game, with a focus on optimizing resource pipelines as well as efficiently using the tools at your disposal to achieve ever more complex structures.
But, before all that becomes reality the whole things needs to be made, and this is what these devlogs will be all about.
I have already made a very rough prototype (which you can check out here) where I tried to implement all the base features I'd need to get started: Semi-efficient voxel rendering, as well as interacting with said world. The issue is, the computation and the rendering were so far intermingled. Since I think seperating these concerns is beneficial, (and envision of having some networking at some point) I decided to bite the bullet now rather than later and refactor my code.
Previously the setup was rather simple:
Given we're using an ECS these steps were all loosely tied together, which allowed me to advance rather quickly. For example: the world is split up into chunks to make things like rendering a bit easier. Then, whenever the player moves around, it's "current chunk" is updated, which in turn instructs another system to check if all chunks exist/are visible around them (commonly called 'render distance'). It then generates the chunk entities with their mesh as needed and spawns it into the world. Chunks that are too far away are removed so as to take off load of the GPU. And any chunks which had their mesh modified will be updated (through their
Handle<Mesh>
)The new setup is similar, but instead of just a single application it's split into a one-to-many architecture.
Current line count:
Beta Was this translation helpful? Give feedback.
All reactions