:::: MENU ::::

Survival MMO Devblog #9

Version: 0.4.7
Goal: A 1.0 Playable Multiplayer ALPHA Version!

Crafting!

Finally! Another main feature of the game has been added: Crafting. This wasn’t terribly difficult since I’ve already had much of the machanics for crafting already in the game, only used by other things. For instance, the same script that checks if there are enough resources in the player’s inventory for base building is the same script I use to check for crafting. I also use the same script as I use for base building to remove ‘x’ amount of items from the player’s inventory. The hardest part here was just getting the GUI up and running, which is tedious work that I’ve done hundreds of times.

The crafting is seperated into different categories. When you find an item you want to make, you simply click craft. The server will then check if you have enough resources. If you do, it will then remove those resources from your inventory. Then after you wait whatever the crafting time on that item is, it will appear in your inventory!

Arms


Arms have been removed from the body sprite. This means arms can be doing one thing, while the body and legs are doing another. For instance, we can swing a weapon and the arms will play the proper animation and walk at the same time. This completely messed shirts up. So I’ll have to resprite them, and also include swinging animations on every shirt.

This also means, if I want it to look right, I have to make animations for every holdable item for every action and every direction…

Blood Effects

I’ve added a very cool blood effect to the game!

Other Changes

Cursors
~ If the cursor was over the inventory when you closed it, it wouldn’t allow you to left click and use hotbar items. I fixed this.
~ Fixed other cursor glitches – I’m sure there are others lingering around.

NPC’s
~ Fixed glitch where dead npc’s were still spawning as if they were alive for new players.
+ If NPC’s are walking when player logs in, they won’t pop around like before, but will be walking.
+ Added another option to NPC’s behavior. They now will sometimes just stand and do nothing. Fun.

Armor Slots
+ You can now throw items onto the ground from your armor slot.

Misc
+Damage numbers now appear when you attack NPC’s.

Inventory
+ You can move (x) amount of items from a stack onto other stacks, or split stacks into new stacks.

Needed features for v1.0

Here are many of the features that need to be complete before we have a working v1.0 Alpha Version! These are not all of the planned features for the game, but only the ones that are needed to be working before we enter into the testing phase!

  • Complete and Expansive Crafting System
  • Expanded combat system – Guns & ammo, bow & arrow,Β  etc
  • Stat Bars should all work – hunger, thirst, etc…
  • Chatroom Overhaul – Add colors, local/global chat & other features
  • Farming & Gardening – Ability to plant and grow food
  • Base Building should be fully functional – Doors, windows, locks, beds, protective zones around bases
  • Looting System – Lootable corpses… Also will affect campfires, furnaces, etc…
  • Improved lighting system
  • Procedural generated mapΒ 
  • Working serial key system
  • Server lobby overhaul
  • Main Menu overhaul
  • Sound track
  • Multiple playable races and planets
  • Expanded NPC’s
  • (Maybe) Complete graphic overhaul! – I may break away from the ‘rpg’ look and move towards a style like Rim World.

Survival MMO Devblog #8

Version: 0.4.6
Goal: A 1.0 Playable Multiplayer ALPHA Version!

Combat Overhaul

Server Side Combat


Up until now, most of the hitting of nodes, other players and walls has been done client side. When you used a weapon or tool, it would create a slash effect, and at a certain frame it would create a hitbox item and if there was a collision with a certain object, it would tell the server it’s hitting something and the server would respond appropriately (do damage, gather resource, damage a wall, etc)…

Obviously, this could be abused by hackers so I’ve fixed this up!

It’s now handled completely server side. When you use a tool or weapon, all the client does it tell the server that you want to use a tool/weapon.
The server then
1. Sees if you can actually use that item.
2. Checks players cool down (so they can’t spam attack)
3. Calculates where the hitbox should be
4. Checks if there’s a node, player, base wall, etc at that position
5. Runs the appropriate script (damage player, damage wall, gather resource)
6. Lets clients know what’s going on.

This is a lot less messy, and has made about 15 scripts obsolete since the client doesn’t have to let the server know everytime he hits a node, tree, player, etc… πŸ™‚

NPC’s – Farm Yard Animals

Attacking & Killing

You can now attack and kill the barn yard npc’s that I added in the last update. Animals will leave a corpse, which you can then hit with any tool and it will yield resources.

Farm Animal Drops – New Items

Hitting dead animals with a tool will give you items. Depending on what tool you’re using will determine how much loot you get! I went ahead and added the following items to the game: pork, steak, chicken, bones, feather, leather, fat and wool! Now that we have all these new resources (and ways to obtain them), I can start working my way towards crafting!

Better Collisions & Path Finding

Barn Animals now consider resource nodes, walls and players and will no longer walk through these things. If they collide with something, they’ll try to find a better path rather than mindlessly walking into them. Also, when they are hit or take damage they will attempt to run away.
Players also collide with Barn Animals (and nodes) and will no longer just walk through them.

Sound Effects

I’ve added appropriate sound effects to the animals for when they get hit, or if they die. There are 3 hit sound effects per animal, and one death sound.

Base Building

New Walls


A special thanks to Cole Monpas on YouTube for suggesting this new wall style. He also sent me a project file of his own. Though I didn’t use his code, I certainly took his suggestion and I think this style makes a lot more sense for now!

Sign up for a free Alpha Key

Since a lot of people are following this project (some on and off) I’ve decided to go ahead and start allowing people to sign up for free Alpha version keys. You will receive an e-mail once the alpha is released with a game key and download link once the Alpha version is ready to be played. Feel free to sign up while keys are available!

Sign up for free Alpha version key

Other Changes

~ Did some upgrades to the code behind resource nodes so they can support more than only 100 at a time


Sign-Up For a FREE Alpha Key

If you’d like to join our alpha testing phase of the game and receive a free alpha serial key, let us know by joining our mailing list!
All who join will receive a free serial key to play the game once our alpha is released.

Sign-Up For a FREE Alpha Key


Survival MMO Devblog #7

Current Version: 0.4.8

NPCs / Farm Animals!


I took the first huge leap towards NPCs and added some non-aggressive farm animals such as chickens, sheep, cows and pigs. This all syncs very smoothy between the server and clients.

So far all they do is walk around and occasionally stop to eat grass.
Here are some planned features with these guys:
– Chickens will lay eggs which can be used as food / hatching more chickens
– Cows can be milked and used as food/hydration
– Sheep can be sheered for their wool to craft and make clothing and other items
– All animals can be killed and harvested for their meat + other resources (feathers, hide, etc)
– Farm animals will be tamable and will follow you for a short time when tamed
– You will have the ability to breed animals and potentially have your own animal farm!
– Perhaps… Mountable horses in the future? πŸ™‚

This is all still a work in progress, and I can’t tell you how much will actually be done before I release a playable alpha.
Also, this gives me a huge step forward towards making enemy ai, and overhauling the combat!

Base Building

Thanks for all the input in the last video. I really got some great ideas that I will be unvealing in future videos!

Resource Cost

Placing items with base building will now cost resources. Repairing your base will also cost resources. This new script also allows me to start implementing crafting as I can now remove “x” amount of resources from the players inventory.

Damage, Destroy, Repair & Upgrade…

You can now damage, destroy or upgrade your walls and foundations!

Movement

There is now a new movement system in the game. The system handles collisions very smoothly.
The server and client should also better agree on the position of the player & slaves.
Also fixed a glitch that was passing up the players walking sprites when changing directions, making the player moonwalk.

Server Changes


For the sake of testing, the server can now display a lot more information. You can basically see a rough view of the game world now. This help me a lot when implementing the new movement system. I might remove or expand on this depending on any server performance issues it gives me in the future. Either way, it’s very nice seeing exactly what the server sees for now! πŸ™‚

Other Changes

~ Fixed inventory glitch that was crashing the Client when you moved items around
~ Fixed skin tone glitch that was making some tones look really wonky
~ Updated the stone axe sprite.
+ Servers can now send clients error messages
+ Server has a new command “/resetserver”, this will clear ALL files (player files, server saves) at once and have a fresh server.


Survivalnauts Devblog #6

Version: 0.4.5
Goal: A 1.0 Playable Multiplayer ALPHA Version!

Let’s make a multiplayer online survival game my brain said. It’ll be FUN it said… Kidding aside, I am enjoying this! And it’s even more enjoyable when people like you are following the project! I can’t wait to finally have a playable version for us all to survive together on!

New Character Models!! (Again)

Let’s face it, character models have looked horrid up until about now. I’ve finally come up with some character models that I’m pleased with. I’ll now be transitioning the game to fit in with this new art style. I’ll also probably spend this week getting all the kinks worked out as well as making sure all the skin tones look good.

These character models were the last thing I added this week, so some of the screen shots still have the old models.

Line of Sight

I started working on the line of sight system. Currently works well with bases. You will be able to see the foundation (floor) and the outside walls of a base. However, you need to actually go inside of a base to see what’s in it. This way raiders won’t know the layout of your base, or what’s inside… πŸ™‚

In the future, players will be able to see their own base without line of sight.
Line of sight now also affects nodes and items on the ground.
I may also make a memory system, where what you “see” will stay on your screen even after you’re out of the line of sight. However, what’s there will not update or change (if changed by other players) unless you go back and look at it again.

Base Building


Base building is now (finally) officially in the game! Basically this means you can place building objects into the game world, and those objects will load for all the other players. It also saves onto the server. Each base objects in the game are assigned a unique id which contains their hp and who placed them (their owner).

Building Plans


I’ve added Building Plans to the game. While holding this item you are able to choose what kind of base related object you’d like to place into the game world.

Constructing a Base

While holding the building plan, you can place foundations which are also your flooring, and walls whereever the foundations are!

Containers

I finished up some work on Containers. You can now equip & unequip armor from containers, as well as swap items from containers back into inventories. Last week you could only move items from your inventory to containers. Moving stacks of items also works well.

Sound

Always hated working with sound effects on games, and this is no different. But, oh, what a beautiful difference it makes!
Here are some places I’ve added sounds:
+ The inventory, when you mouse over a slot
+ When you grab an item from your inventory
+ Each item has a unique sound that it place once you move the item
+ Containers make a sound when you open them
+ Sound effect for movement

Walking Sounds

Characters will now make a different sound when walking based on the terrain they are walking on!

Cursors

I hate dealing with cursors almost as much as dealing with sound – But look! It’s fancy!

Item Name Tags

Dropped items now show name tags. I’m not too pleased with the blue glow, however I do need to add something since the items will blend in too much with the environment, but we’ll see.
I’ve also added item name tags to the inventory/containers as well.

Other Changes

~ Fixed glitch on dead bodies that was making hair displaced
~ Fixed a glitch that was messing up the server-client walking sync when you went to other rooms.
Server was creating multiple players with the same id everytime you changed rooms
+ Added a ‘teleporter’ to change planets, rather than the big black square that’s been there.
+ Did some work with Depth. You now will appear behind other objects like trees and walls instead of walking over top of them.


Survival MMO Devblog #5

Current Version: v0.4

Let there be LIGHT!

Lighting System

First thing I worked on this week was a good lighting system.
I love lighting, because it can change the whole mood and feel of the game.

Day / Night Cycles

I’ve added day and night cycles to the game. Each last about 2 minutes right now for testing purposes.

Bigger Characters

I want the game to be primarily made in 64×64. Up until this point, it’s been 32×32.
This demanded bigger character models as the old character models were under 32×32.
Sigh, I’ll miss those little guys.
This makes the game look a lot better when completely zoomed out.

Soon, I’ll begin the process of separating the hands from the body sprite, make a state-machine and then make it look more like the character is holding onto items as well as using them (swinging, holding, harvesting, attacking)

As I’ve been saying, the graphics aren’t set in stone.
Eventually, I’d like to raise money and have all the graphics redesigned! πŸ™‚

Maybe we’ll use the old character models as Garden Gnomes? πŸ˜›

Eye Color

There are now several eye colors in the game, rather than just blue. When a player joins a server his skin color, hair and face, and eye color are all randomly generated. The player can change all of this way later into the game.

Base Building

Placeable Objects


You can now place certain items on the ground, and they will stay in the world even after a server restart / server save. Unlike items you throw on the ground from your inventory which disappear after the server restarts or after a short period of time. So basically the server now saves placeable items on the ground onto the harddrive.

What this also means is I can now add items like beds, work benches, anvils, campfires, etc… So this paves the way so that I can start working on base building. This also allowed me to make working storage boxes (containers)!

Containers


I am PLEASED to announce that Containers are now in the game! These are items that you can place in the game world, and store your items (Storage Boxes, Chests, etc…). What’s cool is the server will assign it a unique ID, and save the items you put it in. When you shut the server down (or do a server save) it will save the items onto the hard drive. When you reload the server, it loads all the containers and their contents! Woohoo!

Debug Venting
I think I faced the Final Boss of Debugging with these things only to find out my issue was that two variables in two separate scripts were named the same. That sounds like an easy catch, but when there are about 60 other possible reasons why it’s not working, and you have to debug EACH of those possible reasons, it’s not very simple.

Death and Respawn

Started work on death and respawning. You used to just instantly respawn upon death. Now there’s a death screen, and your character will be removed from the game world (besides your corpse) until you respawn!

In the future, this screen will show stats about your player while he was alive as well as possible respawn points.

Server Changes

Ground Items Fix

The server has a ds grid of every item in the game, and another ds grid for the items thrown on the ground.
Whenever the server is shut down or the server is saved it removes the items on the ground.
Fixed a huge glitch that wasn’t removing the items from the ds_grid that were deleted from the ground during server saves.
This meant there were phantom items that would stay in the servers item ds_grid even though they weren’t accessible.

So basically whenever you restarted the game the items that were on the ground before were still technically in the game, just no where to be found.
This was fixed!


Survival MMO Devblog #4

Alpha Release 34%
Current Version: v0.3

Sleeping!


This was one of the more difficult things I worked on this week since logging and and logging out touches nearly every part of the networking code.
You will no longer just disappear and reappear when you log off and on. Instead, you will sleep in-game.
In the future you’ll be able to loot as well as kill sleeping players.
So you’ll need to seek out a safe place to sleep, or build some sort of temporary shelter until you have a base of your own.

More Armor Types

Shoes

In the beginning, your pants were also your shoes. I’ve gone ahead and separated them.
You can now equip and unequip shoes with your armor slot.
Shoes will provide various buffs / bonuses, just like any other armor type! Weeeee…

In the future, all clothing will be craftable and upgradable. πŸ™‚

Helmets

Why stop at shoes!? I went ahead and added helmets as well.

Usable / Consumable Items!

Food & Poisons

That’s one small step for Survivalnauts, one giant leap for the developer! There is now consumable food in the game which will heal you. Big deal right? Well, this means I can now add in a lot of different consumable items such as potions, poison and drinks! In fact, I went ahead and also added rotten meat to the game which damages your players health (a nod to Minecraft).

Basically, the server detects the X and Y position of your inventories ds_grid and acts accordingly.

Inventory

Dropping Items

Dropping items is now a thing. It will only stay on the ground for a few minutes and then disappear. This will be a way to get rid of studd that you don’t want.
In the future, items you do want will need to be stored in a chest.

Now, this wouldn’t be all that impressive if it was a single player game. However, since this is a survival MMO with server-side inventories this is what happens..

1. You select the X and Y of the clients inventory ds_grid and send that to the server.
2. The server sees what you have in this inventory slot and grabs the item id (itemid is a unique id for that item for another ds_grid which contains that items name, hitpoints, who created it, and other info)
3. The server removes this item from your inventory.
4. The server then adds this items id as well as it’s x and y pos to a grid called “floor_items” so that whoever logs into the game later, or loads that chunk will load that item when they’re near it.
4 & 1/2. If someone logs in after you throw the item, near the item, it will send a packet telling them there’s an item near them and where it’s at.
5. The server then detects who is near you
6. Server then sends packets to you, and every other player that is near you.
7. Once you receive the packet, it’ll then remove the item from your inventory and throw it for you and everyone else near you.

ALL THAT FOR THIS:

Minor Fixes to Inventory

~ You will no longer swing your weapon when you left click while using the inventory or hotbar.
~ When you drag your items, it no longer shows a little man but the item you are actually dragging.

Resource Gathering

How much of a resource you gather from nodes now depends on the type of tool you’re using. For example, an axe will be better to harvest wood and a pick will be best for ore. Eventually using your tools will damage them, and using the tool for the wrong purpose will damage and break the tool a lot faster.

Since this change now affects my testing of the game, I went ahead and added Pickaxes to the game! πŸ˜€

Other Changes

~ Fixed a glitch with the shaders where the clothes animations were not matching the walking animation.
+ Added a green “Wizirdi Shirt”… Got tired of looking at the blue shirt πŸ˜›


Survival MMO Devblog #3

Current Version: v0.2.2a

Graphics and Sound

Shaders & Skin Color

At the start of the project I was tediously respriting and recoloring each skin color. There were three skin colors: White, Tan and Black. I’ve now utilized the power of Shaders! This means I can handle skin color a lot more efficiently, as well as add interesting effects in the game (such as your face turning green when you’re sick, custom item colors, etc). This also means that instead of 3 skin colors, I can add a whole range of skin ‘tones’. This is huge, and I’m sure I’ll find more uses for it than just skin color such as custom colors to items.

I went ahead and added 8 Skin Tones to the game.
I will also be releasing an example of the method I used in an upcoming devblog!

Camera Effects

Some new camera effects were added to the game!
Camera Follows Mouse

Shakey Cam

Procedural Map Generation

Most of my weekend was spent working on the game world. The system works by first generating a large image of what the map should look like. I’d like to thank “Puhloo” for his example on this.

The system will then create 64×64 chunks of every pixel. Each pixel then represents a 32×32 tile. It will then put those chunks into a buffer and save it on a hard drive. Later, when the player is in the game it will load up the chunks from the hard drive around the player.

This has still got a long way to go, and probably won’t be finished until next week.

Game Lore

I’ve started working on the lore for the game. Humans will no longer start on Earth, but on a terraformed Mars 45,000 years into the future. Earth is uninhabitable after a mixture of nuclear fallout and natural disasters devastated much of the planet. Mars is also devastated and barely inhabitable as well after an alien invasion that was provoked by Human meddling on alien planets. Basically, humans have a reason to hate Alien races, and Aliens have a reason to hate Humans. I can provide more lore in future dev blogs, if you’d like.

TL;DR – This game is a survival game on a terraformed Mars. Weeeeeeee…

Other Changes

~ GUI now re-positioned for the new 720p resolution
~ Head were being clipped by armor/shirts. Heads now draw above armor/shirts.
+ Added a new facial expression
+ Screen shakes when you hit a node
+ Particle effect added when you hit a node
+ Added meat item, currently no way to eat it.


GMStudio Example Highlights #1

Procedural Square World Generation Example
https://forum.yoyogames.com/index.php?threads/procedural-square-world-generation-example.4457

Sprite real-time multi-recoloring using shaders
https://forum.yoyogames.com/index.php?threads/sprite-real-time-multi-recoloring-using-shaders.12601/

WizNet v1.1 – Networking Example

WizNet v1.1


FatalSheep’s Tutorial – http://gmc.yoyogames.com/index.php?showtopic=604116


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


Pages:12