Wednesday, March 20, 2013

Return to the village

Hi everyone, :)

Here is a little summary of what has been done last month in Valyria Tear:

First of all, let me thank

Now, let's start with the two major features developed by IkarusDowned and Codergreen which are basically finished and have been merged in the master branch. This means Valyria Tear now has minimap and trade support! :D

The minimaps are auto-generated from map data, making them seamless when designing maps (yeah), additional features, like displaying map exits, or interesting spots will likely happen a bit later but it's already very great to see it in full use. So, I thank again very warmly Ikarus for this feature. :)

at night at the forest entrance, with a minimap ;)

Trading support will also help the gaming experience as a key point, since it will permit me to propose improvement to equipment against special materials, sell rare wares with special conditions, among other things, so that the player will later be able to tune up his/her equipment for the next dungeon!

Trading support, with the additional required items to get the stuff!

You may have noticed the forest entrance is displayed at night, as I indeed added the story part where the characters goes back to the village while night falls dynamically on your return. I intentionally stopped the game before the actual arrival to the village as the village content is sill WIP at the moment. More in the next piece of news! (Sorry Shirish ;]). Still, here is a small teaser:

- Other little things

You might have noticed that I added a nameplate under the name of character, which should help with the name readability. The idea isn't mine as it was simply disabled code from Allacrost missing the needed graphics but still this is refreshing. :)

The battles also have a new stamina bar (seen on the right when fighting) and several other small tweaks have been made in the same trend.

- Contextual and c-format strings translation support

In the other area of the game, I added contextual translation support and c-formatted strings (i.e.: "Paul has %u Drunes."), both permitting to help translators in their hard work, based on their requests.

- Balancing

McMic and BioHazardX also requested to get the first new skills a little bit earlier in game and talked about the enemy experience points rewards in general, leading to a global rescale of enemy XP, and Drunes (gold). In order to stay relevant and fair, I made a spreadsheet giving me hints on how much XP and drunes a monster was worth based on its stats, weakness, items and skills, and used that as a base to rescale everything.
The result isn't a spectacular change as it only led to tweaks here and there to those values. The most noticeable change was a fix to the mistake in the HP of the Fenrir second encounter.
I thank everyone for their polite and sensible feedback on those points.

- Performance

The fading system was also simplified to no longer apply a color on each and every image on every draw calls and use an overlay instead. This has simplified the draw code for the images and other elements of this kind and should lead to a slight but welcome increase in performance. I, myself, have no longer slow downs in the shop mode (why not?) and while fading in and out. :)

- Map data format

Another key work was also done on map data :
The map tile data and the map scripts are now two separate files. This has several advantages:
- The map load time has decreased in general.
- The map data is reusable and is reused when returning to the village without the need to twist the village center script even more.
- This permits also to remove the max length cap the scripts could have as the map editor would then no longer load the map file after reaching that cap.

This move has also got another goal. I'm currently planning to remove the use of a setenv() function in the map data script and simply use a normal table, and drop context switching support, as this (even strong) feature is only used once and isn't very friendly in term of data handling. This can later be readded  with the support of loading several map data files at the same time, but I'll sincerely go without, for now, if at all.

Why all that? Because I'll then be able to start working on creating a tiled plugin and use Tiled as the Valyria Tear map editor, and this, for obvious reasons due to the fantastic maturity of this open source tool. :)

Thanks a lot for reading!