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!
Some new camera effects were added to the game! Camera Follows Mouse
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.
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…
~ 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.
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
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.
Since I a now working with 720p, I’ve added the ability to change the resolution while maintaining aspect ratio.
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.
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.
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.
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.
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.
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!
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.
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.
The node sprite will change depending on the amount of resource left. That way you can tell which nodes have more resources.
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. 🙂
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.
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.
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.
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.
So, this is a project I’ve wanted to make for about 4 years. My goal was to finish Splatternauts to brush up on my online networking skills, and then move on to this. I lost interest in Splatternauts, for now, and working on it was no longer fun. I still felt like I needed to finish it before moving on to this project so I didn’t touch GameMaker for nearly a year. What did I learn? Ambition is a great thing, but too much of it can kill your projects and your motivation in the long run.
Needless to say after a very long break, I’m back at it. I’ve begun work on a 2d rogue-like multiplayer survival game.
I’m working on all the basics first, and once it’s good to go I’ll be adding in more complex features.
I’ve purchased an amazing RPG Rogue-Like Graphic Pack that you can check out with that link. And this is what I’ll be using to get started with.
The project name is “Warden Online”, though I’m sure I’ll think of something better. Here’s the description and main features!
Warden Online is a 2d online multiplayer survival game. Featuring rogue-like graphics, the land of Tenorais is a harsh and unforgiving place. You shape your own path in this world. How long will you survive in this land of foreigners and strangers? Who will you trust? Build a base, grow in ability and strength as you progress, learn ancient spells from scrolls you found in runes and craft tools and weapons nessicary for your survival.
– Base Building. Claim land as your own, and build a place to call home and store your treasures.
– Weekly content updates. We have weekly updates and patches that will always keep you coming back for more!
– Magic System. Magic is learnt through finding rare ancient scrolls throughout the game-world. Though rare, Magic is extremely powerful.
– Needs System. Not only does your character need to eat, drink and relieve themselves, they also need social interaction to help skill progression and sleep.