One of the latest features to make its way into Noble’s Land is the Minimap. In order to get the minimap in action I had to make some changes to how the minimap is generated. Each World Chunk and Custom Chunk has its’ own thumbnail that is used to draw a zoomed out view. Up until now to generate these thumbnails I was taking a 32 x 32 tile, down-scaling it to a 2 x 2 tile, then drawing the 16 x 16 Chunk to produce a 32 x 32 thumbnail. A big part of Noble’s Land’s style is having the black show through each tile, giving it that very old pixel look. When down-scaling the tiles there was no picking which tiles would be used, resulting in a lot of black space. I wanted something with more detail, so now you manually assign four corner colors to each tile.
By using the four corner colors there is no black space in the thumbnails, giving more detail in what you can see. The animation above shows the original down-scaling version and the new four corner color version and you can see how much more detail comes from the new style. In the fields you can see the flowers showing through, the island’s borders are much more prominent, and the tree mapping is much more accurate. The best part is that it now mimics each tile’s color more accurately, by having single black pixels mixed into the old version it ends up looking much darker then it really is.
When I first added the Minimap in-game I had it move every time the player did, allowing you to see exactly where you’re standing down to the pixel. While playtesting I found I was watching the minimap more than the World View itself, which I tend to do in every game that provides an in-game minimap. I didn’t waste all this time creating a World View so that players can stare at the smaller version the whole time they explore. To remedy this, it now draws an approximate view of where you are instead of being pixel perfect. The center of the minimap will always be the Chunk your standing on and it won’t update until you enter a new one. The way I look at it is, the player is looking at a map and assuming where they are instead of having some sort of GPS-like sixth sense. When playtesting further I found I was focusing more on the World View and using the minimap to plan where I would be going, instead of exclusively watching the minimap.
It’s been awhile since I’ve posted on the Developer Blog and I apologize for that. There are tons of little reasons but it mostly boils down to the fact that the majority of work lately has been “behind the scenes” so to speak, and not easily demonstrated. I’ve recently been rounding out tons of features, the latest being item stacking, and had a great opportunity to make some animations to show you. Here is a look at the more feature complete Item Stacking system.
This GIF demonstrates one of my personal favorite aspects of item stacking, the ability to stack similar items directly on the map. If after slaughtering a horde of enemies you find yourself standing in the middle of some remains, you can save some time and drag similar items together instead of dragging them one-by-one into your backpack. Items can similarly be combined the same way in both a backpack and the bank. Down the road I’d like to have the artwork change as the stack count gets higher, but it won’t be anytime soon.
In this GIF you can see that not all items can be stacked. Heavy and unique items are collected one at a time. Stacking is currently used for usable items like food, trade skill resources, and currencies. Demonstrated by the Blue Bat’s Wings, you can also have multiple stacks of the same items, they aren’t all forced into the same pile. If you pick up an item by dragging it from the map directly into your backpack it will be placed directly where you drop it. If you pick up an item by dragging it onto your character it will either be added to the first stack of that item, or if it’s the first one you have, it will go to a random position in the bag.
With these features done, I’m focusing on the next big feature: Item Weight. By adding weight restrictions to both backpacks and the bank, players will have to frequently return to town and either sell or store items. Up until now there was little motivation to return to civilization and players tended to spend nearly all of their playtime out and about. Next up is, another long overdue, Video Update demonstrating the weight system. I’ll be sure to post on the various social sites when it’s ready.
The latest major feature for Noble’s Land is the NPC system. NPCs act much like creatures. They can wander around, they have stats and item drops, they can be targeted, they can be attacked, and luckily for them they can fight back. Most importantly, there are multiple NPC types, each with it’s own unique uses.
Their is two NPC types in-game and a few more which I will be adding next. The NPC types “Banker” and “Guard” are the first two I’ve added. When a player Right Clicks a Banker, and their character is within range, their bank will appear. Banks act just like backpacks, except anything inside your bank won’t drop when you die. Now that players can leave the training island, Quarantine Isle, it’s important to save anything you wouldn’t want to lose inside the bank. The other NPC type, Guards, are around to keep the peace. Currently, guards will attack any creatures that make their way into the city. When the criminal system is added, guards will also attack criminal players.
All NPC types have the ability to drop items when killed, just like creatures. They wont drop useful items like gold, meat, or equipment. Instead, they might have a very rare chance of dropping some story related items. These items could be notes from loved ones at home, diary entries written by the NPC themselves, or MEMOS from their employers. These drops are used to add some depth to NPCs. If you get into a scuffle in town and find yourself attacking and killing a guard, you might find a note that might make you feel guilty for what you’ve done. On the other hand, you might find some incriminating information that might help validate your decision to murder them.
The next few Developer Blog posts will focus on the remaining NPC types and what they are used for. The private test for donators is coming up shortly, if you’d like to participate I’d appreciate the support. The open test for everyone is on track for the end of this month.
I have needed to create MANY World Chunks for along time, I’m going to knock it out and stream as I do it. If your interested in watching/discussing Noble’s Land as it’s being made, check out http://www.twitch.tv/besomegames.
After the Alpha 0.5 test I took a few days to fix the bugs players reported before I started on new features. I finished fixing the last reported bug, the invisible creature but, yesterday so tonight I started on the most requested features first. The two features I added tonight are the ability to identify items and the ability to stack items of the same type.
You can see from the picture above that descriptions of the items include some statistic information about that item, as well as different descriptions for singular and plural stacks. To identify an item you hold the LCtrl and click an item on the map, in your backpack, or an equipped item. When dragging an item onto your avatar to add it to your backpack, if you are already holding that item it will start stacking. So far only food has the ability to stack but eventually another item type, Collectables, will be able to stack also. Items like weapons, equipment, backpacks, and mounts won’t stack.
When I first started on these features I created a mock up of what it would look like using Tool tip boxes that appear when an item is hovered. To me, it didn’t fit the retro style and seemed really out of place. As systems become more complex and certain item types hold more values it might make sense to try something a bit different. I think what I’ll end up doing is having the option of “full” or “Simple” types of displaying identified information. “Full” will list it as you see in the picture where “Simple” would read “Item Name: Value”. I can see some people preferring quicker to read descriptions as opposed to the sentence like way they do now.
There are a few loose ends to add to make these feature complete. I need to add a way to split stacks both in your backpack and on the map, as well as stacking items on the map itself. I’ll tackle these tomorrow then move onto the next new feature, NPCs.
Here you can check out over an hour of gameplay from Alpha 0.5:
Last Friday saw the launch, and early end, to the Alpha 0.5 test. There were four major issues that brought the test to a grinding halt. I’m going tell you what each one was, what went wrong, and how I’m going to fix it before the relaunch. At the end of the post, I’ll tell you when I’m going to do the relaunch.
Launcher caching downloaded files
What It Is:
A launcher is pretty standard business for a constantly updating game, at least if your not on Steam. I wrote the Noble’s Land Launcher to serve two purposes, to update files to their latest versions and to configure settings before launching the program.
What Went Wrong:
It seems the C# widget “WebClient” caches download files by default. It not only caches files, but it shares a cache with Internet Explorer. This is probably the worst thing that can happen besides not running at all.
How To Fix It:
Fortunately, this is the simplest of the problems to fix. There are built in settings to disable the cache, problem solved.
Rental Server Underpowered
What It Is:
The goal of this test was to leave Noble’s Land online 24/7 going forward. I would work on the game as normal using my home PC to host the server while putting updates on the live server on a regular bases. To do this, I needed an off site server. Considering my $0.00 budget my only option was to use Amazon Web Services free tier, a T1.Micro server.
What Went Wrong:
Well, a T1.Micro server is not good for game hosting. While researching this the specs sounded pretty good. In practice it didn’t quite live up to my expectations. After installing MySQL alone the server was already using 80% of its memory and ~75% of its single core CPU. Even with just one player there was massive lag, not due to low bandwidth but the server running at a constant 100%.
How To Fix It:
Well, considering my budget hasn’t changed, I’m going to have to continue doing shorter tests hosted from my home PC. Having an always-on server is going to have to wait until Noble’s Land starts generating income. Fortunately my home PC has about 5MB upload speed and the server takes up ~15% CPU power it should be good enough for the short term, just kind of sucks it wont be online full time.
Unrelaible Home Internet
What It Is:
What Went Wrong:
Over the last few weeks I have had multiple appointments with our IPS. None of which was useful, the problems have persisted for way too long. Everyday, during the night, my moden would completely reboot itself. Being that it only happens after business hours the IPS claims there is no issue. Apparently on their end they aren’t seeing any downtime and I was unable to recreate the problem while they were here. After finding out the rental server was underpowered I switched to my home PC for hosting. After only about 15 minutes the damn thing goes down non stop for a few hours, essentially putting the final nail in the coffin.
How To Fix It:
Well, I just had enough of their bullshit. I threw a fit until they came and ran all new cords from the pole to the house. After that, I had them give us a new modem. Since then it’s been smooth sailing.
“Known” System Flag Bug
What It Is:
The “Known” system is used cut down on iterations through full lists of connected players, objects, and NPCs. When a character moves, the server iterates through those lists and adds pointers to on-screen entities to lists on the character itself. When performing functions like targeting users, updating movements, or basically any interactions with them, it uses these shorter lists. This is to help cut down on processing.
What Went Wrong:
It’s been so long since Alpha 0.4 that most of whats there has been played solo. When a creature walks it sets a flag on itself to note the change. When updating the character if it moved it alerts its known on screen characters of its new position. Well, I accidentally was resetting the flag after checking the first player instead of after the whole list. What this meant is that when a character saw an enemy for the first time it would display it on screen, but after that only the first character to see that enemy would get updates. This resembled severe lag, as players were getting hit by invisible creatures.
How To Fix It:
I’ll go ahead and move the call to reset the flag until after the iteration, as opposed to after the first call. Again, another smaller issue to fix.
I’ve already made good progress on solving these issues. I’m going to relaunch the Alpha 0.5 test this coming Friday, the 3rd of January. I’ll keep the test online until at least Sunday. If players want to keep playing I can leave it online for a few more days. If everything goes well this time I’ll be doing the Twitch broadcast and live mic chat about an hour into the test. Sorry again for the delay, this whole thing was pretty lackluster. Hopefully everyone makes their way back into the game come Friday.
Here is the long delayed Video Update 5 for Noble’s Land.
The newest feature to make it into Noble’s Land is the Region System. When using the World Editor you can assign sections of the world into different regions. Regions currently control three important settings: the name of the region, if it is a safe zone or not, and what music to play.
When you enter different regions the name of the area will display across the playing area. I’ve come across a lot of MMOs that do something similar, but not quite the way I’d have done it. Most of the time the name of an area will only display the first time you enter it. When it does display, it is usually pretty small. Every time I’ve pictured how this would work I pictured the text being very large and dominant. I want the world itself to be a major character in the game and I want players to learn about it as they play. By having the text large and dominant I feel people will not only be more likely to read it, but also remember it.
Having the music change as you walk around the world is very welcome. Although my resources are limited I’m trying to match songs to areas they best fit. Cities will have more uplifting songs while places like caves and forest will be much more somber. I’m so grateful for people like Kevin MacLeod who has hundreds, if not thousands, of royalty free music available on his site. One day I’d love for Noble’s Land to have a custom soundtrack but in the meantime I’m thankful to have such great options to work with.
Lastly, assigning an area as a safe zone will prevent players from attacking each other while occupying that space. Being an open world, always on, PVP heavy game there won’t be many safe zone, but they are a necessity. Major cities and spawn points really need to be combat free. If spawn points weren’t safe there would be guilds that send parties out to kill someone, and then send parties to a spawn point to kill them over and over again. If major cities weren’t safe then players would never be able to idle safely, or even just stand around and talk carelessly.
If you feel up to it, I’d be grateful if you would head over to Noble’s Land’s profile on IndieDB and vote for the project. No registration is required and it only takes a few seconds, just click on the big red button on the banner. To get there you can click on the green banner above this paragraph. It’s highly unlikely I’d win, but it would be awesome to at least place in the top 100. I would be going for the Unreleased Game of 2013 award which has a cash prize which would go directly into funding the game.
For a long time now I’ve been conflicted when it comes to the subject of player advancement. Up until now I have been using a class based system. I had intended to have a mix of skill and class progression. With this system you could freely change your class in towns. Classes would limit what weapon and armor type you could use. After a lot of thought, I’ve decided to change this completely. The main reason I used this system was to make paper-dolling for avatars easier and require less resources and that’s just a bad reason to do it. Instead, Noble’s Land will use a true skill based system for character advancement. The more you use a particular skill, the more experience it gets. The higher a skill level is, the more effect it becomes.
Now when creating a character, instead of picking your starting class you’ll pick a weapon skill to start off with. To put this new system to use, I’ve programmer-arted a new weapon type, axes. Axes hit slower then swords do but also deal more damage. You can only equip weapons if you’ve learned that weapon type’s skill and have the right amount of experience with it. Although new characters get one weapon type, there will be NPCs around the world that you can do quests for to learn different ones.
With this system, characters have a lot more customization options. Everyone has the ability to be a jack of all trades, the only thing required is time. This way you can also mix and match equipment to create as many custom builds as you can think of. I’m not sure yet how this will effect avatars. For now, avatars will change when you wear a full set of armor, with weapons no longer being included in the decision. Avatars will also be shown holding a sword, even if an axe is currently equipped.