:::: MENU ::::
Browsing posts in: Uncategorized

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 #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


Splatternauts: Nostalgic Inspiration

Paintball 3 EXTREME! Looks like they made quite a mess

Paintball 3 EXTREME! Looks like they made quite a mess

In 2003 I was hopelessly addicted to a game called Paint Ball 3 EXTREME by indie dev ZoopTEK. This was an online paintball sandbox game with a small niche community. I found the game by simply using Yahoo! and searching “Online Multiplayer Paint Ball Game” and fell in love within 20 minutes of downloading it.

The game featured a pretty great server lobby with a chat room to make friends, Map Making, totally sandboxed gameplay and the ability to make your own custom paintball gun. Being called Paint Ball 3 EXTREME, it lived up to its name. You earned credits by killing players, and used those credits to buy items from the store. These credits and your inventory followed you to whatever server you decided to play on. In the store you’d find different camouflage that was sprited to look like the ground tiles. Different camouflage was useful for different terrain. You would also fun several pre-made guns, military grade flash bangs (it’s EXTREME, remember?), smoke grenades, aesthetics, paint BULLETS :O, body armor medkits and (wait for it)…. A freaking motorcycle that made you the fastest paintballer on the intertubes.

There were several game modes, but most players kept it to deathmatch. What made the online game so special was how much of a sandbox it was. Players could spend a lot of their time at the store modifying their gun or deciding which body armor upgrade to buy next while the game went on and on. Once you finished up, you’d test out your new guns on the other players who were off in their own little world. Players would be found hiding in the grass with camouflage on, or trying to draw smiley faces with a spray can or sometimes standing in a building chatting with eachother.

What’s cooler? The world was pretty destructable as well. Snowblocks could be shoveled away, walls could be knocked down and windows busted out. Sadly the servers were shut down in 2004 as the creator began working on Paint Ball 4, which was never finished. ZoopTEK still has some great titles and you should check them out.

Splatternauts Map Maker

Splatternauts Map Maker

I am attempting to satisfy my nostalgia with another project called Splatternauts. I have made quite a lot of progress so far and will be revealing it through this blog as I hit benchmarks.

So far I’ve finished:

  • Server Lobby with Chatroom (SNON)
  • Map Maker with ability to share maps through server
  • Online Multiplayer (Most of the networking is done)
  • Store system, ability to buy new weapons
  • 3 Games Modes, CTF, DM and TDM
Splatternauts Server Lobby

Splatternauts Server Lobby

Player buying a new gun.

Player buying a new gun.

It still has a ways to go before it’s done, but the project will be a waste of time if it doesn’t have players. So I hope you follow this project and get involved. I will need help with beta testing very soon. I will be posting information on how to join beta in the next post about Splatternauts.

As a show of support, please comment in this blog letting me know what you think and what game makes you most nostalgic? 🙂