Well, I guess that doesn’t really matter because it doesn’t have an effect on the gameplay or anything. But I think it will be a nice aesthetic once you’ve added it.
Are you using an engine for the collision and stuff like Box2D or have you created your own system?
I’m Using just one simple class called Box, which is Basically the Rectangle class but a lot simpler and well works fine for me :x
Uploaded new Video!
Changed the Character art so it doesn’t look that much like Magicite anymore.
Implemented Multiplayer (Removed Animations due to changes to my Entity System but it will be reimplemented soon)
lv1rK3nVDbA
With implementing Block breaking (or basically it’s changing cause there’s no difference if i set air to stone or if i set stone to air) i got a bug that just lets the change happen on the first client connected. KryoNet’s Server.sendToAllTCP(change); works fine (every client prints out that they received the packet) even the handling works fine. after it changed the value in the chunk when i print them they print out the new value, but the rendering somehow takes the old one (same for collision detection) that’s the next thing i’ll fix ???
Do you also update the chunk when you receive the packet, and not just only print the new value out when you received it?
The Value gets put into the Chunk it belongs to and printed out from there (To make sure it is in there)
found the Problem: on the second Client the Chunks were created twice (so it renders 2 layers) but the change just applies to one of those. I still don’t know why it sends the CreateChunk twice but i fixed the problem now by disabling the creation of a chunk when another active chunk has the same x and y coordinates so basically it’s fixed but i still didn’t find the thing that causes it
Are you sure you don’t create a chunk on behalf of the client itself, and then another one when the server tries to send world?
The Client itself doesn’t even have code to generate chunks, so it’s just the server sending it and if that’s the case Client 1 should have the same problem.
Improved rendering A LOT! With Occlusion Culling the Clients can now hold much more Chunks (so for example if you’re falling down and the server can’t send fast enough you still can’t fall off the world because there’s many chunks loaded below)
Next thing i add might be an Inventory System (or reimplementing smooth animations)
When is the demo coming out? You said there would be one once the multiplayer is implemented. I guess you don’t have that many features in yet, so that’s maybe why.
yeah, there’s not many features so i might add the inventory system(So it can hold Blocks that you place instead of just breaking it) and then release a demo
Fully implemented Saving! Chunk files contain the block data and entities that were in this chunk when it got saved (except players, they get saved seperately) Chunks get saved every second and when they get unloaded (when the players are too far away)
What will be next: reimplementing animations, implement inventory, demo release
Showing off how the inventory will be:
Slots for:
Amulet
Head-Armor
Arrow
Shield
Hand-Armor
Weapon (Basically the item that handles the mouse input, so place a block here to place it in the world on click :D)
Ring
Body-Armor
Ring
Pet
Foot-Armor
Aura
Crafting goes: 1/2 items result in 1/2 items
and there’s 18 basic inventory Slots.
Inventory is working but I found a big problem, For the drops (they’re basically entities too yes?) it would need a new class for each entity, so each Item has an Entity just for the drop coming with it and that’s not supported by the game because for now they’re limited and i don’t want it to have that many Entity classes. working on a solution
You only need one entity class, with varying lists of attributes and abilities.
Just make an ItemEntity class which is an entity and has a reference to an item.
Fixing Problems (Or Mabye Change it at all) about the Entity System (Mainly because of the Items but also because it made it difficult to give players certain stats or statuses) Demo release after that