The game is also more optimized as far as knowing who needs to receive action messages and movement updates from any given object. Basically, the world is separated into zones, though it will be seamless to the player. These zones are also cut up into 20x20 (meter) cells that I call the Scene Matrix. Objects send and receive messages from all objects in their cell, and all adjacent cells (a 3x3 grid). When a player moves to another cell, the server will send the player all the object information for cells that are 1 cell away, and the client will destroy objects that are >1 cell away. Using this method, instead of just doing distance checks, really is an obvious improvement, but in more ways than just not having to do distance checks. Before, every object would have to 'ping' by sending a movement update to all objects in action range, even when they weren't moving. This forces the network to use more network, not just by the ping, but when the player receives it, their client doesn't know the object information, so must request it. This new method is not much more complicated, but is a lot more code. It took a few days to get objects to spawn in correctly when traversing the Matrix.
What is Next?
I haven't really decided what to work on next, so let's make a list of things that should be in before it becomes a playable game, which means I can make a demo for people to play:
- Skills - This is a very important aspect of the game, but I don't feel it has reached the point where I can start implementing it. I still don't know exactly how I want skills to work. They are necessary to the game, but I don't want the design to be susceptible to AFK macroing, so it needs some careful design, and I really should get some others' opinions.
- Scavenging - This action is exactly how the game Xsyon does 'resources'. Depending on the terrain you're standing on, you can scavenge for things on the ground. Most of the time it will be grass, dirt, and rock, with the occasional twigs and small branches. On junk piles it could be any number of things, and with the excavating skill, you will have access to even more.
- Harvesting - Almost exactly like scavenging, except that you use an object to get resources, this may be a plant (herbalism), a rock (mining), a tree (logging). This action does not always require skill, like picking a flower, or medium sized branches from a tree. I may make excavation use this system, instead of scavenging, because it may be more clear and simple.
- Crafting - Most of the time, this will require skill, but I believe in making everything possible from the beginning, without training. I haven't talked about crafting yet, but my intentions are to make it feel like you are building things, like Minecraft.
- Combat - Some of this is already in, but it is a complicated system that involves many. The player can already 'attack' an object, which is to use his main hand item on an object while in attack mode. This already results in an animation based on the weapon, but it does not actually do anything to the object. To make the object's health go down and update on all clients seems really easy, and it probably is. That, however, is not all their is to combat, but it is a good start.
- Chat - This definitely needs to get in, and probably some form of it should be in before I release a demo, so the basic chat system, which will be text over heads, is pretty high priority. A global chat system will not exist, but whispering and party chat (and parties) will need to go in at some point in the near future.
- Avatars - Currently, I am using a premade model of a female, but ideally, players will be able to choose their avatar and customize the skin color, face, hair, etc. I have developed a system that would allow this before, so it shouldn't be too hard, but the problem is that I have no art. The Commoners and Warriors pack is great, but it's not the genre I want, nor does it have females.
I will have to take some time to figure out what I want to work on, but at least I have several things to point me in the right direction. And I'm sure there are things that need to get done that aren't on this list.
No comments:
Post a Comment