I’ve made improvements to the inventory system. It’s actually just a 16 sized ds_list containing the “id” if each other. That ID links to a ds_grid with all the info of that item, such as its name, sprite, and stats.
+ Ability to move around inventory
+ Split stacks and move them
+ Swap items around
I’m pretty excited about this. The health tab let’s you see how your character is feeling. You can select the body part. There are 5 areas you can check: Head, Chest, Gut, Legs and Arms. If you are injured or sick it will glow red. You can click the body part and it will tell you what’s wrong.
There’s also a 6 slot inventory in the health tab where bandages / medicine will automatically go when picked up.
Added stackable notifications to display info such as when you purchase something / events. I also added Stackable Notifications on GameMaker Marketplace. You can check it out here.
Buy Mode: Info Boxes
Nice little info boxes to added to items in buy mode 🙂
I will be posting regular dev blogs for my latest project, which is a Survival Life Simulation Game! So far I have just been making the basic mechanics of the game, but expect weekly updates on the blog and YouTube!
What is this game?
Think The Sims and a survival game had a baby! You will have some property in which you make a house, furnish it, and then.. live! The goal of the game is to stay healthy mentally, physically, financially, socially and emotionally! This game will have consequences and the environment will be opposing you. Sometimes it will feel down-right unfair. The game is about making a story. For example, you could accidentally be exposed to toxic radiation, get a life-threatening illness, and suddenly you are burdened with medical bills. Hopefully, you made enough money to have health insurance!
Every play-through you will learn something new, and play accordingly. I’d like every play-through to feel completely different than the last.
I owe you all, who have been following this project, an explanation as to why there hasn’t been an update in so long.
First, thank you for the support, and input. Your time and thoughts are highly appreciated and will help me in future projects!
I made the stupid mistake of storing all the game files in Dropbox. That way I could work on the project on my laptop and desktop, and figured if my harddrive went down (which is how I lost a project before) I wouldn’t lose the source code. Well, I ended up putting Dropbox on about 3 other computers where other people were also using dropbox. As files were constantly syncing from device to device, HUNDREDS of files just disappeared. I tried looking for “deleted files” in Dropbox, but could find none. They’re simply gone. These are all, mainly, extremely important scripts that I could never sit and rewrite without just remaking the entire game.
I was keeping backups, but my last backup is not a starting place I want for the game. I learned A LOT from this project. I mean, a lot. In the 10+ years I’ve used GM, I had never made an inventory system before. And to make a fully working inventory system that synced with multiplayer for my first go at it was an achievement I’m proud of.
Where am I going from here?
I feel like the game suffered an identify crisis from the start.
It went from a survival game, to this city simulation, to a stardew valley rip off. That was unfortunate.
I would like to restart this project, as there are SO MANY things I would like to code differently than the original.
However, it will NOT be an “mmo” or hold servers for 64+ players.
I want to make a Multiplayer game, however I think it will be more of a single player game, with the option of online.
Think Factorio or Minecraft, where ideally you can play with up to 5-6 friends, but have just as much fun offline.
On a side note: I’d like to think the community for turning me on to Rimworld, where I’ve spent about 500 hours this year! LOL
For the past 12 Devblogs I’ve called this project “SurvivalMMO”, “Survivalnauts” and “IndieMMO”. I really want to give the game a proper name, or at least something I could refer to the project as. I’ve kicked around “Sandusky” and “Starlight Town”. Nothing official yet. Any suggestions? Tweet me.
I’m excited about this! NPC Dialog! It’s still in it’s infancy, but when it’s done it will be able be really flexible!
Craftable & Placable Tables & Chairs
Chairs and tables are now in the game, and can be crafted! They can also be placed in the game, moved and rotated.
I’ll probably not add the ability to ‘sit’ on the chairs for a long time into the development. But this is an important step in giving players the ability to interact with all objects in the game to some extent, even if that just makes moving them around and rotating them for now.
Toolkit / Game Design Tools
I announced in the last video that I would be developing a toolkit for the game, which would help me basically generate INI files needed for the game to run. This will be developed over time along side the client and the server. It will help me (and others) make necessary changes to the game without having to do any changes to the actual code of the game.
With this tool you will be able to
– Create NPC’s
– Edit certain aspects of the Map
– Create and Edit Quests
– Create Items
– Create Monsters
People have been irritated with me recently, accusing me of being too ambitious.
However, this is not as ambitious as it sounds and it will speed up the development of the game in the long run.
All I’m really doing is making a glorified INI file editor.
INI Files for Items
Items are now ini files rather than created by code in the game. This was actually a major since a lot of the items were hardwired into the code. For this to work I had to make the system more flexible. It created A LOT of glitches and other problems that I’m still hammering out, but it is so worth it!
Crafting data is also now configured through the server. This means that the server host can easily change some INI files around to change crafting info for all players. This way I don’t have to make an entirely new build and patch of the game in the future when I need to update crafting things. 🙂
Server Save / Refreshing
I mentioned in the last video that NPC’s would have homes that could be basically wrecked, but would refresh after the server is saved.
I’ve implemented this into the server.
The server keeps track of what objects need to be refreshed at server save, and does so.
So far it’s just keeping track of tables and chairs, and can tell the difference between chairs/tables placed by the player and the ones that need to be put back in place at server save.
I’m not claiming to be the best at composing music, but I did make a little tune for the game using FL Studio!
~ Fixed longstanding glitch that would crash the client if you previous logged out in a different room.
~ Fixed glitch with crafting that was making crafting buttons appear in weird positions.
Goal: A 1.0 Playable Multiplayer ALPHA Version!
GameMaker Studio 2
The game was originally made in GMStudio 1.4. I’ve been working this week on converting the Client, Server and Main Server (SNON) over to GMStudio 2. I’m pretty excited about this since GMStudio 2 does have a lot of great new features. The game originally transferred to GMStudio 2 with ease. To my surprise, I can run the game just fine within GMStudio 2 with no outstanding issues. This is because GMStudio 2 generates scripts for you, and pretty much makes your game become compatible.
GMStudio2 made 937 changes to my game in order to make it work without issue.
It also generated a number of scripts to replace code that is obsolete in GMS2, which was nice.
Water tiles are now fully animated!
NPC’s and Monsters
I’ve made a lot of changes to NPC’s and Monsters. Originally I was just going to make NPC’s and Monsters a part of the same group, using the same data structures and code. However, which the change of the game direction I thought it necessary to split them into two separate groups that do two totally different things. Monsters are generic creatures that you can kill and get resources and items from. NPC’s will be more dynamic, and will be able to talk, give quests, sell/buy items, etc…
Monster/NPC INI Files
Instead of creating data in the actual server (hitpoints, name, walk speed, etc), I decided to create it in ini files instead. This way, if I need to tweak things with monsters or npcs I can just update an INI file and restart the server rather than creating a whole new server build. I plan to do this for items as well.
~ Sometimes code that needed obj_player was running before obj_player was created resulting in a crash has been fixed.