:::: MENU ::::
Monthly Archives: October 2017

Survival MMO Devblog #2

Current Goal: Create a playable v1.0 Alpha.
Current Version: 0.2b

One lesson I’ve learned in 10+ years of making games is that just because you put a lot of work into your project doesn’t mean it’s FUN for those who play it. Many indie developers ironically fail to realize that they should work just as hard at making a game fun as they do the actual features and gimmicks of the game. Yes, anything you put hours of your time into will be valuable to YOU, but not to other people. Why am I saying this? As a reminder to myself of what I want the release of this game to be. It doesn’t have to be revolutionary or be loaded down with impressive features. It only needs to be FUN, and I hope to achieve that.

Graphics & Sound

720p

I am now making the game to work and look good in 720p so that the game can more easily be scaled for different resolutions. There’s a lot of work to be done converting everything to 720p as I originally made the game in 800×600. Menus, GUI and other rooms are kind of funky at the moment.

Changable Resolution

Since I a now working with 720p, I’ve added the ability to change the resolution while maintaining aspect ratio.

3d Sound

Sound effects are now 3d. You will hear them at different volumes depending on how close you are to the sound source.

Zoom in & Out

Since most sprites are 32×32, I’ve added the ability to zoom way in or out.

Spriting

I do need some help with spriting, as it’s not my strong point. If you’d like to help out with that, specifically the sprites of the players (genders, hair styles, faces, bodies, etc) then please feel free to Contact Me.

Hotbar

Usable Items

You can now use items equipped in your hotbar. For example, you can now swing swords and axes. I’m pretty proud of this system. All the item data is kept server side, and each item that is in-game is given a unique id and loaded into a ds_grid. This gives me the ability to give items hitpoints, special attack bonuses, etc… It also opens up the ability to let users ‘mod’ and ‘repair’ items in the future.

Combat

Attacking

I’ve started the basics of combat. Currently only melee attacks work. Damage is currently only based off the base attack damage that your weapon has. Everything is calculated server side (including attack cool downs). In the future it will consider armor and other bonuses.

Death

The beginnings of the death system is in place. Currently you die and respawn immediately, while leaving a lovely little corpse. The corpse will look exactly the same as your player, and even have the same armor on. Aww, how cute. In the future you will be able to loot these corpses.

Room Changing

You can switch between rooms. The server will only send what is going on in the room you are currently in. This is great. It is the beginnings of the system for multiple planets, and possibly instances!

Movement

Made some progress on movement. The server now keeps track of players x and y position at all times, and can detect when players are walking. The client will predict and try to stay in sync with the server, and so far it’s doing a great job. If the client and server get out of sync, the server will detect it and make a correction. Right now it’s kind of choppy, but shouldn’t be noticed by anyone other than those with a high ping. This system should protect against any speed hacks or teleport exploits.

Resource Gathering

Tools Work

You can now gather resources by harvesting “nodes”. Each tool you use gives a different amount of resources. In the future picks will work better with ores, and axes will work better with trees.

Node Deteriorate

The node sprite will change depending on the amount of resource left. That way you can tell which nodes have more resources.

Node Respawn

Once a node is harvested, the server will start a timer to respawn that node. It will be randomly placed back on the map after the timer is up. Of course this is just the first step. Node spawning will eventually have to take into consideration player made structures so it doesn’t spawn in the middle of someones base. ๐Ÿ™‚

Sound Effects

Instead of the same repetitive sound over and over, sounds tend to change as you hit the node. In the future each tool will have a unique sound when it hits a node.

Resource Distribution

Nodes

Servers now generate and keeps track of a specific number of nodes. Each node has a unique id, much like items do. There are four types of nodes: Trees, Metal Ore, Sulfur Ore and Stone Ore. All of these are subject to change.

Distribution

Started the first steps towards a resource distribution system. After the server is started it creates a data structure of resource nodes and where they should be. Players will then connect and receive that info from the server, which will create the nodes across the map for them. This is literally the first baby step, so right now nodes can spawn inside other objects.

Server Console

Added a little quality of life improvement for my self (and future server hosts). You can now type in and execute various commands into the server. I’ve rigged up a system that detects in your string what command you’re using and what you type after the command. For example for a command like, “/kick Wizirdi” the system will detect and split “kick” and “Wizirdi” into two different variables.

Through the server console you can kick, kill, ban, message, teleport and give items to other players. Pretty nifty.
I’ll also be making a similar version of this for clients later. That way you can grant admin to players, and they can use their client-console to run different commands.

Twitter

If you’d like to follow these updates as they happen, follow me on Twitter! http://twitter.com/wizirdi

Other Changes

+ Added sound effect for nodes when they change sprites.
~ Changed the Magic skill into Science.
~ You can now hold the left mouse button to auto attack