Building your own things

After taking a bit of a break after the release of 0.1.8, I have started work on two systems that are scheduled for 0.1.9; the House Builder and the Ship Customizer. Read all about it in this post, with some more information about other stuff that’s in the works near the end.

House Builder

I’ve talked about this a lot in the past, and now it’s finally time to start really working on it. The current builder that’s in the game has the bare minimum of functionality, and frankly isn’t that great to use.

houseBuilder3.gif

First iteration after adding isometric camera mode. Notice how you have to click once to place each tile. Not very intuitive.

In the above GIF you can see one of the additions I made, which is the isometric camera view. It can be toggled back to regular 45 degree mode too, don’t worry. It’s mostly there to make it possible to place tiles behind walls, as the linecast doesn’t go through the roof tiles of walls. Plus it looks kinda like Sims 1, so that’s something. However, you can also see that each tile has to be placed by clicking each grid. That’s why I made it possible to click and drag instead, shown below.

houseBuilder6.gif

Much better! Also the tiles are a bit more faded.

That’s much better, don’t you agree? Tiles can be removed by holding down the Modifier 1 key introduced with 0.1.8 (default Left ALT).

I’ve also made some changes to the toolbar in the lower left of the screen where you access everything to place in your house. It currently looks like this. The big buttons changes the categories, currently Wall, Floor, Furniture, Door, Light and Environmental. On the right there’s another small window with some more editing tools. The first button is to toggle the grid, the second changes the camera angle. The pencil and bucket do what you expect, though I haven’t gotten around to making the fill function just yet. Lower left toggles the interface off. Re-enable it by pressing Escape. And the last one rotates the tile you’re placing. Fancy! The camera can also be panned around by using WASD or the arrow keys.

houseBuilderToolbar.png

And last but not least, placing furniture. Currently you can only place a few basic ones such as a bed and the alchemy table, but more is coming. Furniture can be purchased in Stonehaven in the furniture shop there. Placing storage chests will also be a thing.

houseBuilder5.gif

Furniture is still a bit glitchy to place, but it works.

Ship Customizer

This was kinda added in 0.1.8 by allowing you to fix your ship in Clearwater in Cafror by talking to the man working outside at The Ship Brothers. 0.1.9 brings in a new interface to add and change different parts on your ship. It looks a lot like the house builder interface, because consistency is important.

shipCustomize.png

Current iteration of the ship customizer interface. The 0 at the top is supposed to be the name of your boat.

Currently you can only change the sails, hull material and the cannons, but I also want to let you add a fishing net for deep sea fishing and some other tools to survive at sea.

On the left of the screen you can see the statistics of your ship. The top bar is the speed rating, which goes from 0-100. The one under is the turning rate, which also goes from 0-100. Adding new sails and better hull materials increases these ratings. The last icon is your crew counter. The max amount of crew increases by improving your Sailing skill. Improve that skill by just sailing around.

I haven’t fully decided on how you get the different parts for the ships yet, apart from outright buying them from merchants. It could be fun to craft the different parts yourself, but the problem lies in the gathering of wood since trees cannot be cut down at the moment and adding that functionality would take even more time than upgrading the NPC dialog system (which is still in the works!) Though if this is something people want to be able to do, I can look into it. Leave a comment with your thoughts.

Other progress

Progress on maps in Sedresh is also coming along nicely, below is a WIP screenshot of one of the new towns called Oaksprings. The inn, called Red Oak Inn, is fully functional and the same is true for the general store. It still needs a lot of work, but the base layout is complete. The basic story of the town is that is was built as a home for the people working in the mines directly east of the town.

oaksprings.png

Oaksprings village, home to a lot of miners.

And here’s a small screenshot of the biggest city in the game, Nagana. It’s split into two maps, the Lower and Upper parts of town. You can already travel here by boat, but there’s not much to see or do here just yet. It’s still gonna be a while until this is the main focus of development as you can probably tell by looking at it.

aslaryLower.png

A small snippet of the lower parts of the city of Nagana over to the east in Aslary.

And last but not least, polish on clothing and hair sprites is underway, because it’s severely needed. I have no ETA of when this work is complete, but it will take some time. It’s not difficult, just very tedious because of all the frames of animation that has to be drawn. 6 frames of animations in 5 directions, each for Walking, Idle, Slashing and so on. It’s a lot of work. If you’re a decent pixel artist looking for work, send me a message if you’re interested.

headIdle_preview.png

Idle animation for a new headgear. No, your eyes aren’t red in-game.

That’s all for this post. I hope to have more info soon, so make sure to follow me on Twitter to get a notified when the next post arrives. I should probably become better at posting other stuff over there too..

Ship Mechanics & Status Update

For this weeks post I thought I’d talk a little about ships and the cargo hauling system currently being implemented into Tales. Ships are already available for purchase in the currently released version, but they aren’t really that great. Next version, 0.1.8, aims to add a whole new level of complexity to the ships; cargo hauling. This means that you can purchase goods in one region, and sell it in another for more, or in some cases less, gold based on the demand and availability of the cargo. At the end there’s also some information about other new features coming in 0.1.8 that you can look forward to.

How do I trade?

cargoHaulSign

The Warehouse in Fiks

Very simple. In most towns of a certain size you find near the coast, there will be a Warehouse which you can enter and talk to a trader.

Before you enter though, you must make sure that your ship is docked in the town you wish to purchase from or sell to. You can still browse what the have to sell, but you cannot purchase anything if the ship isn’t docked.

If you still haven’t purchased a ship, this can be done in Fiks right next to the Warehouse. Convenient, yeah? After 0.1.8 goes live, the price of ships will be increased, so you should get there as soon as possible to get it for cheap.

Buying and selling

Once you’re inside and ready to spend some gold, talk to the trader inside. This will bring up the following window.

cargoHaulWindow

The trading window for cargo.

cargoList

Currently available cargo.

On this screen you can browse the cargo available. Click an item to learn more about the value and its weight. Your ship can only hold a certain amount of weight, to prevent sinking. This can be upgraded at the Ship Brothers, a new workshop in the town of Clearwater east of Fiks.

Some items will be more valuable in other regions, such as Timber being very valuable on Ceth, and Wool in Usmor. You’ll have to experiment on your own to find the other combinations that work.

So far there’s 24 different items you can purchase, with more being added at a later time.

Hiring crew

Another new mechanic for ships that’s coming in 0.1.8 is the ability to hire crew members to work for you on your ship. Crew members have jobs which they will fulfill, such as mate, cleaning, cook and cannon shooting. For 0.1.8 only the Mate job will be available, which lets you use your ship for fast traveling between ports that you’ve already visited. Without having a crew members in this job you have to sail there yourself. Planned for 0.1.9 is piracy mechanics, allowing you to board ships, take loot and gain notoriety as a pixel pirate. Yarr!

Crew members can be found in taverns and sometimes through quests. So far there’s only three that’s available. Same as with the cargo hauling, your ship needs to be docked in the port where the crew member you wish to hire is located.

What else is new?

It’s been a long time since the last post, and my activity on Twitter has been lacking a lot. I have however been working hard on systems for the game. Some of the new things you can find/see/do in 0.1.8 include the following stuff:

Achievement system

Do tasks, get XP, show your friends how great an adventurer you are. So far there’s 30 achievements you can unlock for doing various things. Explore all the capital cities, complete amount of quests, cook some food, craft an item, rent a bed and so forth. Many of them are rather simple tasks, but unlocking achievements is still fun, right?

New map screen

We can all agree that the old map screen wasn’t all that good, using premade tiles in a grid with different graphics to display the type of map it is. Below is a very old screenshot of how maps used to be. Not really optimal for a huge world, is it?

mapscreen

Now instead, the map screen looks like this

newMap

New map screen.

The new map screen has several useful features, such as showing icons for shops and points of interest in maps you’ve explored, zooming in/out, custom markers and panning. The top right text is the current region you’re in, while the empty box next to it tells you the name of the town/area you’re currently hovering with the finder (dark brown circle in the middle). The map graphic isn’t complete yet, as you can probably tell, but it’s a nice indication of what to expect (just pretend it’s done).

As I mentioned, you can also place custom markers/notes on the map wherever you want with a unique color to it. Now it’s much easier to remember the position of those bandits that keep killing you or a dungeon you’re too low level for.

customMapMarkers

Placing custom markers with colors and notes.

Skill system

skills

A new skill system is being implemented, allowing your character to get better at a variety of life skills such as Smithing, Cooking, Herblore, Archery and Mining. Currently only the skills related to Crafting and Gathering have been implemented, as the combat ones will take a bit more considering balancing and all that jazz. On the right you can see a small preview of the current skills in the game.

When you look at it you can also see that there’s 5 columns with Levels in them. Once you reach this level in the skill, a new perk is unlocked for it. These are still subject to be changed,  but I’m happy with most of the ones that are currently in. As you can see, if you want to smith armor, you’ll have to increase your smithing skill rather high. Makes sense right, since it’s (probably) much easier to forge a sword than it is to forge armor. I haven’t done it myself, but it makes sense. Same goes for all the other crafting skills. You gotta crawl before you can walk.

Interface improvements

As part of the bug smashing process, interfaces have received a complete overhaul. Performance in many cases have improved, and navigating them is much easier. Previously when scrolling down your item list, the selector would jump over to the category selector at the top, which is no longer the case. In all interfaces with a category selector (the thin buttons near the top of a list) can now be changed by using A and D (or whatever buttons you bind to move your character Left and Right), or clicked with the mouse. Gamepad support is also improved, taking use of the bumper and trigger buttons for navigating categories and interfaces.

The quest log has been broken for a while, but not any more. In 0.1.7 the names will often be wrong, and clicking a quest can bring up the wrong quest description. This is no longer a problem. How I even let this slip through I don’t want to think about.

Calling out for NPCs

Don’t you just hate it when you’re following an NPC and they keep walking faster than you or out of range so you can’t catch up with them? This is no longer a problem, at least in Tales of Astya. Now you can press the X key on your keyboard to shout for an NPC to stop and wait for you for a few seconds. This is still early, but it works. The plan is to make it a bit more context sensitive, so that if you’re calling for a guard your character says different things than he/she would to a regular person.shout

When is 0.1.8 coming out!?

Hard to say, but it shouldn’t be long. I have ironed out most of the bugs that I’ve been able to find and that have been reported. The one thing that has taken up the most amount of time and I’m not yet done with is updating the Uspya region to use the new dialog system with portraits and animations. It’s getting there though, and I reckon at least 80% of the dialog has been converted.

That’s all for now. To get the latest news, follow me on Twitter. I’ve also started streaming some of the development over on Twitch, you should stop by some time! It’s a good time and lets you see some of the inner workings of the game being made.

Day and Night lighting in 001 Game Creator

For this week I figured I’d do a behind the scenes look at how the time of day lighting system works in Tales of Astya.

The first step was creating a huge array in 001, to hold each of the overworld map locations, like so. You can also see that it says Z 1/24. Each of the Z layers holds the color information for that hour.

Setting up the array

Skjermbilde 2017-07-05 21.28.59

Now that’s all fine and dandy, it’s time to delve into the scripting side of it. The system consists of four different events, detailed below.

  • Initialize Sun color
    • Used at launch to fill the array with the correct color info, rather than doing it by hand. Efficient!
  • Set Map Sun Color
    • Sets a specific color for a specific map, at a specific hour.
  • Set Region Sun Color
    • Same as map, but for an entire region.
  • Update Region Sun
    • Updates the sun color to the correct color, with color blending.

The code behind it

Let’s take a closer look at each of them, starting with Initialize Sun Color.

Skjermbilde 2017-07-05 21.37.34.png

A very simple script that allows me to specify a color for each of the hours and fills the array on that Z index with the color code. Nothing fancy about this one.

Set Map Sun Color as well, very simple. It gets which region to use, then applies the proper offset on X and Y. In this screenshot the offsets have not been applied just yet, but it is in the game now. Skjermbilde 2017-07-05 21.41.27.png

The code for Set Region Sun looks pretty much the same, just with two for loops going through the X and Y axis.

Then at last, it’s Update Region Sun Color, the one that took the most amount of time to get working correctly. It consists of two more for loops, going through the X and Y axis of the array. Skjermbilde 2017-07-05 21.48.37.png

The above screenshot is from the X axis loop, where it uses Change Sun Color (built in event to change map lighting) to the specified color inside the array, and then changing the Fog Color to the same color, just a bit lighter to add depth to the scene. The Sub Script in the middle labeled DEFAULT is the legacy lighting system and is no longer being used. It was placed there as a fallback before I got around to making the Initialize Sun Color event in case the lighting value was 0.Skjermbilde 2017-07-05 21.51.23.png It was pretty bad, and would only update four times each day, instead of 24 like the new one.

Updating the lighting at runtime

That’s all for the code part of the system, but what about the implementation? Very simple! In a trigger on the player which is triggered whenever Hour is changed, this code is placed to update the lighting correctly.

Skjermbilde 2017-07-05 21.53.46.png

Benefits of this system

One of the biggest benefits of this system is that it allows for dynamic changing of the sun color, either on a regional or local level based on actions by the player. The sun/night sky could be different colors while the player is on a quest for example, or it could be contstant day all the time. The possibilities are endless.

That’s all for now, make sure to leave a comment, either on this post or Facebook telling me what you think or if you want to read more posts like these 🙂 It was a lot of fun to make, so thanks for reading!

 

NPC Mailing and Player Housing

It’s been a while since the last post, primarily because of vacations and me taking a small break from gamedev to avoid going insane. But now the break is over, and development is continuing once again. Some interesting new stuff this week, so keep on reading!

Mail system

The biggest new feature is the mail system. This allows NPC’s to send the player mail in game, which may contain gold, items or both. Or none at all, as it could also be spam or advertisements(not real ones, obviously). Your mail can be checked in any mailbox throughout the game, either at that regions Post Office, or at your house if it has a mailbox outside. Some of the letters can be worth following up, even if they look a bit shady. You never know what you might find.

mailBoxes

Small GIF showing off the interface and how it works.

Letters can also be configured to take several days to arrive, or on the same day they’re sent, as well as being randomly generated from time to time. This randomization mostly applies to spam being sent to the player, but others can be as well.

Player Housing improvements

Since very early in the project, the player has been able to purchase property where they get access to a bed for sleeping, which provides some extra bonuses when waking up. That was as far as the housing system went, and it felt kinda underwhelming. You own the property after all, why wouldn’t you be able to change it more to your liking? Well, now that’s possible. Each of the houses purchased has one or two “slots” where you can put a furniture of your choice to provide services and/or buffs to your abilities. If your character is an alchemist, place down a alchemist table. Or maybe you favor cooking delicious food? Place a oven instead. There’s not a huge variety of furniture just yet, but it’s easily added. Furniture can be purchased at various furniture stores throughout, the first one being in Stonehaven.

Other changes/additions

  • Started work on ships sailing around the world, landing at docks and offering the player rides for a sum of gold.
  • Added uniforms/outfits allowing the player to dress up as servants etc to sneak in to locations they’re not supposed to be.
  • Added various furniture items for placing in player houses
  • Cleaned up various maps and dungeons.

Not much to write this week, sadly. But it’s better than nothing at least! See you again soon, I’m hoping to have more by then.

Break time is over

For the week I’ve taken a small break from gamedev, instead focusing more of my time on actually playing games and doing some other things instead of spending the usual 3-5 daily hours working on Tales of Astya. Now I’m back for full, refreshed and ready for new challenges. I’ve mostly been playing Rainbow Six Siege and some Watch Dogs 2 in between. The new map and DLC operators are really awesome! If you haven’t played Siege yet, I absolutely recommend you try it out, it’s grown so much since it’s initial launch. Watch Dogs 2 turned out to be a much more enjoyable game than I initially thought it would be judging from gameplay trailers released before the game came out. Good stuff, Ubisoft!

I started working again fully this monday, fixing various bugs that testers have sent me and adding new features to Tales. These are some of the new things;

  • Barber shop, with custom RGB hair color editing and new hair styles
  • Animal husbandry
    • Sheep that can be sheared
    • Chickens that lay eggs
    • Basic animal AI (grazing and walking around)
    • Placeholders for sounds
  • More recipes to cooking and alchemy
    • Wine and beer brewing
    • Small food dishes
    • All potions that can be purchased can now be crafted (except quest/unique ones)
  • New ingredients to go along with the new recipes
  • Made the full world map (not just the region the current game takes place in)
  • Merchant prices based on the player and merchant Cunning statistic
  • New factions that can be joined
  • More unique dialogue for NPC’s that better fit their personalities
  • Thieves and highwaymen trying to rob the player
  • Shields

And as usual, here’s some screenshots and GIF’s

skjermbilde-2016-11-02-15-06-48

An oratory

skjermbilde-2016-11-03-14-35-46

Small personal library

skjermbilde-2016-11-23-08-03-18

Barber shop interface

chickenpeck

Chickens

sheep

Sheep

shields

Shields

 

That’s all for now, more will follow soon-ish! Cheers.