Monday, December 24, 2012

Merry Christmas and first Release "Candidate"

Hi everyone,

Let me wish you all a Merry Christmas and all the best to you and your families. :)

Just in time and although while having a tight schedule in those year's times, I'm happy that to say that I was able to create a very, very first release "candidate" (Windows installer) of the first half-episode of the game, that you can download here.

A lot of energy has been put in this release, by myself, but also by many other people who will recognize themselves. This release is also a good preview of it all, even though many little glitches and fixes should actually be done to make it complete, but I'll talk more about it later, once the year's over. :)

Best regards,

Friday, November 16, 2012

Slowly reaching the end of the dungeon...

Hi everyone!

It's been again some times since I've post something here and again a lot of exciting things happened since then.

First of all, some of you might have noticed the come-back of Tyler Olsen aka Roots, leader of the Hero of Allacrost project which is, simply put, the base project I took over to start what has become Valyria Tear since then. ;)
Roots already dropped by and offered a kind help by doing some balancing in the game and fixing some little rough edges he saw while playing. I wish him the best for his return and his will to revive Allacrost. I would have, btw, given a link to his blog post but it seems http://www.allacrost.org is down at that very moment.

Speaking of which, Roots asked me whether I could have a look at upgrading a bit the GUI skin to make it a bit different from Allacrost so that both games have clearer identities, and I did. :)
Safir-Kreuz (from Deviant Art) also gave one nice helping hand and finished the new awesome Bronann portrait!!

New GUI skin and new Bronann's portrait :)

Thanks to the unstoppable work of Zabin, the wood tileset saw new additions coming, making possible for me to use new trees within the forest. My goal will then to use them all along the forest maps in the near future.

You might notice new smaller trees around.
On my side, there have been numerous small features additions, bug fixes and overall work on the forest maps. Thus, the forest path has been upgraded up to the first cave path where new puzzles and monsters are awaiting, along with the additions of two new save points.
The first cave part, where you'll have to actually make way. ;)
Note also that the game German translation was kindly updated by NaN, which reported that the items, skills and other global scripts related strings weren't translated even when provided by the translation files. Thanks to his hint about it, I had the necessary test cases needed to fix it. :)

The game in German - with the item names correctly translated.

 As a last note, I shall tell that the dungeons is not very far from being fully done, and thanks to everyone's work around this project, I'm able to officially say that a first Valyria Tear release is planned rather soon, still this year. :)

Stay tuned!

Thursday, October 25, 2012

Battle effects!

Hi everyone,

Au menu this time, quite some things happened since the last piece of new, I even had the occasion to take a break and have some vacations. ;)

Code-wise, a lot of work has happened around status effects and their appliance in battles:
Elemental, and status effects are now loaded and shown correctly in the shop mode. While on it, I also made shops actually support different price levels, so that the buy and sell pricing can vary according to your friendship with the seller.


In battles, a lot of work was made to show properly status effects and make them apply and last correctly.
For instance, you can now visually see it better when several active status effects are triggered, and the effects will take the battle time factor in account and correct their duration during fading out times, making them a bit more fair and more realistic, at least in my own eyes. ;)
(I also added a fully functional stun/paralysis effect. :])
Multiple status effect display

Another addition that won't go unnoticed ;), is battle particle effects support.
Let me explain, particle effects were already supported in all the game modes, but I had to make the particle effects be rendered at the right time so that it does overlap any sprite behind it, but doesn't overlap any other sprite in front of it.
The nice fact about this is that I was able to add support for the very first spells with visuals: Fire burst, First aid, and soon Haste, and Wave. ;)
Battle particle effects for spells.
I also rewrote the basic battle AI so that it can choose between all the currently supported types of skill, and not only the basic point based attack ones. This permitted to give them defensive, support and offensive skills and spells support also ;)

Another nice thing I wanted to do since some time now, is the addition of missing battle animations for Bronann and Kalya. I also made them whisper their spell at warm up time, and have a custom spell/support skill cast animation. I also added the quite missing Kalya victory pose :]





Last but not least, quite the best for the end in fact, thanks to the magnificent work of Zabin (from Open Game Art), a lot of improvement went into the mountain, winter and forest tilesets, permitting also to link better the mountain and the forest together. :)
All those nice additions shall be used quite extensively and shortly.

The mountain tileset, now with a cave entrance, new stone, grass, ground types, ...
Stay tuned!

Wednesday, October 3, 2012

Nice new video!

Hi all,

Qubodup made a nice video showing the latest progress made: Live!


A big thank to him for that :)

Tuesday, October 2, 2012

In the middle of the woods...

Hi everyone,

A lot of time has flown since the last update and here is what has been done since then:

A lot of work has been done to the forest area and related features, and the forest has been enlarged by two new maps, tree variations to make it more colourful, and a new event (Beware of that one!).

New tree variations and new maps.

The map monsters will be also a bit smarter as they will now try to catch your character even out of their wandering area, as long as they can see you.

As for battles, the forest has gained a new shiny battle background thanks to Tamara Ramsay (vectorgurl.com), and a lot of work has been done in improving the battle logic, with the addition of three battle types (wait, semi-active and active ones) making the enemy wait for you to execute actions for your characters... or not. ;)
I also started to work on the very first boss sprite... (Please don't laugh, it's a draft ;]).

Aww, a boss...


More likely now because of this particular monster, I worked on battle character defeats and the battles can now also be lost without forcing you to restart the whole game...

Oops, let's try again...
I also took time to work on updating/upgrading the font used within the whole game to make them a bit more readable, for instance:

New font above, old one below...
 Now as for the invisible coding part, some profiling was done on the code, and I personally made optimizations in the OpenGL draw calls and in the font cache iterations to gain ~20% fps at draw time (according to the two computers I tried so far.)
A warm thanks to 4144 (author of Manaplus) for that.

I would like also to thank Jetrel (Frogatto & friends) for the nice work done on the desert tileset :), Shirish for all the testing and reports, and Nemesis for his willingness in joining the development effort.

Stay tuned! :)

Tuesday, September 11, 2012

While in the making of the 'dungeon'...

Hi all! :)

As told in the title, while in the making of the first 'dungeon' which will be the layna forest, I worked and polished several things that are, IMHO, already improving the map scenes.

Here is a patchwork of several small things added recently:

Emotes, particle effects, and more...

And the change list:
Most notably, I finished the addition of Emote support which makes all the character speeches much more lively. :D
Using all that, I finished the introduction in the forest entrance map. Now, what happens there is much more logical.

Based on feed-back and personal bad experiments ;), I also Polished at bit the battle command logic to prevent most severely to block a player with sometimes a never-ending command at the end of a battle
I also made Kalya's arbalest arrow visible in battles when firing.

 I brought fixes in the shop mode to make it remember the right and sell prices. Better that way, isn't it?

I spent some time also in refactoring the particle engine code to avoid memleaks and permit to stop and restart particle effects, making the save points much better looking for instance.
And finally, I did some code cleanups or style fixes, still on going , btw...

Stay tuned! ;)

Friday, August 24, 2012

Very first battle...

Hi everyone,

This week, I've been doing quite some efforts in bringing a few key features in game:

First of all, music fade in and fade out are properly working again, and are used in the most dramatic areas of the introduction story.

I also completed the forest entrance map, and finally, after some effort on putting the required infrastructure in shape, added Map particle objects, and used them to improve the look of save points.
(You can also watch a particle effect when healing at the spring, btw.)
This is a key point as it will permit me to go further in using them for better map and battle effects, for instance.

Trees, squirrels, butterflies, and particle effects!

Also, another key thing that finally went in game, is the addition of the very first game map enemy, thus permitting the very first battle to happen:
First battle, Kalya will help you with the basics.

Note that the forest background is WIP, any improvement on it is welcome, btw. ;)
To avoid high-level grinders, I also a level cap system (currently set to lvl 6) telling the players when they have reached the current maximum level. this will prevent people from going too far, before the rest of the content has reached the repository.

Fighting on level 1 should not be easy at all, and you'll have to find a way to at least reach lvl 2 before being ready to deeper in the forest. (once I've added it ;])

I also made a slight change on the collision computation in the map editor. Now, the map editor will consider a collision area passable if a passable tile is put over an unpassable one on the ground level. This will permit the addition of bridges, for instance, without the need to tweak collisions out of the editor scope.

Stay tuned ;)

Thursday, August 16, 2012

A nice video!

Hi everyone,

I took all the guts I could have and asked qudobup to make a video, ... and he accepted!

Enjoy!


 
http://www.youtube.com/watch?v=Q2xNr9bCN1E

Wednesday, August 15, 2012

Forest early start & other improvements

Hi there!

Lately, I've been busy integrating the latest upgrades in the village, mainly adding treasures, props, new water :), flowers, new sounds, ect...
As for me, the village is somewhat reaching the "release candidate 1" level. ;)

Example of new props (Flowers, ...)

I also fixed a crash in the save dialog and when a treasure chest was empty. This permitted me to add the very first map (Still WIP atm in the repo): the forest entrance.
Note that the interesting part of it is not the map but the fact that I added support to show the battle front character as map sprite, in this game area.
This was kinda requested by qubodup and Lilou for instance. ;)

You can now act as Kalya in the forest depending on the battle formation.

Regards,

Thursday, August 9, 2012

Polishing, polishing!

Hi everyone, :)

A lot or stuff has made its way in the repository lately :)

First of all, I changed the way the battle animation scripts are called, permitting to get a battle animation per character and per skill. That will permit to set up some great stuff when you trigger an advanced attack for instance ;)

You can already test that by triggering the Blade Rush attack from Thanis in the debug battle mode, and see him hit the enemy third times.

I also spent a lot of time in polishing the sequences in the village, preparing props (not in yet), adding houses interiors, fixing small scene glitches, ect... and added three noticeable things you might be happy to look at:
The village has now got parallax cloud shadows, light flare effect on windows and... the promised new game credits!
I'm quite glad to take the opportunity to thank everyone who somehow made this possible to happen. :)
Do you notice something new? ;) 
 Another big step done is the fact that I rewrote the way map sprite animations are loaded, permitting me to make them loaded in a much more flexible way:
Now a map sprite animation can be loaded with custom frame duration for each frames, for an arbitrary number of frame, in an arbitrary order, and one can add the same frame several times if needed.
I also made the walking and running animations factored by the sprite movement speed, which will permit me to later fine tune the frame durations and remove the roller skating impression you've got for certain sprites.

I'm now planning to finish the new houses interiors, add those missing props, add a bit more scening, add all those hidden treasures ;), and then move on to the forest dungeon scripting. :>

Best regards,

Monday, July 30, 2012

Almost in the forest!

Hi,

Yesterday, I added the last village sequence before the hero can leave the village, so for those who were starving to fight monsters, there is not that long left to wait. :)

Good news, you'll even be able to get a sword, and a team mate!!

As for the other news, I've done a invisible but necessary engine change: Now, animations scripts (used to load every animated objects (or not, btw) you can see) have gained a much more flexible format permitting me, for instance, to directly load certain objects from the tilesets (thus, reducing the memory used), and to use any frame, an arbitrary amount of time, in an arbitrary order. (Compared to the fact that I previously needed to create an image with the frames in the right order.)

There is nothing much (new) to see as for now, since I adapted the existing animations to just look like before, but it will soon permit me to make the map sprite loading code much more flexible and add a true custom animation support for our heroes, making them laugh, being surprised in a more visible way. ;)

I'll also take the time here to talk about a issue the map code has been having for a long time:
Which is described here if any OpenGL specialist wants to have a look: https://github.com/Bertram25/ValyriaTear/issues/2
The map code is having a pixel shift on tiles that are on the bottom-half of the screen, making certain tiles not look completely "right".
According to the clues I have gathered so far, it seems that the texture and/or vertices coordinates computation is wrong somehow, so I take the opportunity to ask for help if anybody is interested in fixing that low point.

Best regards!

Monday, July 23, 2012

Slowly shaping up!

Hi everyone,

It's been a while since I didn't write something here. A lot has happen though, even if quite some of it is still behind the scene.
Most of the people compiling the game will already have noticed it for days, but the end of the hide and seek quest has been scripted.
A special Don't-Desperate point to Iwan and Shirish who have been chasing that funny kid all around the starting village. It seems I'll need to add some hints there and there from the other inhabitants.

You should anyway be able to obtain the item needed to finish that small first quest.

You might also notice that, now, the map music doesn't interrupt when switching from a map to another with the same background music. To achieve this, I added an ownership system to the audio files, letting the game modes own a music file and free it from memory when not needed anymore, but keeping it untouched as long as a game mode needs it.

This permitted me to remove the sound loading and freeing micromanagement done in the map files, and will let the scripts do more stuff sound wise without cluttering the memory more than necessary.

Another thing that you might have noticed in the last post is that Safir-Kreuz did a first version of the new Bronann's portrait (a big thanks to him!), and I also removed the weapon from the Bronann's back, which will fit more the story beginning. The actual plan is to make the sword appear on his back based on his equipment. :)

I also spent some time on upgrading the treasure system and the key item handling, which needed a bit more love than I expected. You'll then be able to open treasure chest again :)

The 'open a treasure' dialog.


A small warning in the menu's item description should also tell you when an item is a key item or a shard.


Key items.

I'll add much more treasure chests around in the village, but only once I've finished the game up to the point where you can enter the forest. More to come about it, then. ;)

So what about now:
I'm currently fighting a nasty bug in the event handling making random crashes appear for a certain set of events. The bad news is that it is preventing me to push the next part of the story, the good news is that I've found the bug and most interestingly why it is happening. I shall then fix it quite soon, hopefully.

Best regards,

Tuesday, July 10, 2012

Game start

Hi,

I've been quite busy on refining the starting plot lately with Lilou (The second story maker), and we finally agreed on the episode I full story. (Which is quite something, already).
I then started to script the first minutes of the game (and scripting can take time also!).
Catch me if you can!
Like everything, a lot of work is still waiting but the engine state has proven once more that path finding problems are gone, making it possible to make use of it extensively.

Along with this, I finished and added a first version of the shop map and Kalya's house exterior, and wired them with the rest of the game. The village exterior is now considered complete, even if it is still full of small map tiling bugs I'll try to correct little by little.

I also upgraded the Allacrost branch to make its demo playable with the latest engine version.

Note that things might sound silent code-wise, but I've got my bag of unreleased (and unreleasable) stuff I wish to finish by the next weeks. ;)

Last but not least, here is a little surprise preview:
Can you notice anything new? ;)
 'Till next time!

Monday, July 2, 2012

Maps and engine dev

Hi everyone,


Since the last time, I spent some time at adding several maps and some other elements to expand the starting village exterior. And if I'm counting right, there is only one exterior map left to cover the village part. (which I'm currently doing (and re-doing) atm.

The transition to Kalya's house map. Beware, the path is on survey. ;)
I also finally finished merging the script support from the boot and the battle mode into a script supervisor, which will permit me to add custom (scening and dialogue mostly) scripting for any game mode. :)

Last but not least, I couldn't resist anymore and I reached a first step in a long time wish:
In the battle mode, the characters now have custom scriptable attack support, and use of it!, which means the hero will now jump to its enemy before hitting it with his sword.
I also fixed the battle actors drawing order so that the enemies behind one another aren't overlapped anymore, and the characters going to face their enemy don't walk over the ones below, for instance.
You might also notice that I started working on Kalya (Laila) attack sprites and several other little additions.
Bronann (Claudius) now jumps to his enemies.

'Till next time.

Wednesday, June 20, 2012

Editor and allacrostian work

Hi all,

I've lately been working on several things (again):

First of all, I took care of a long time wish, check whether the allacrost demo could work with the newest engine version. It's now done! The HeroOfAllacrost branch is now up-to-date again. You can try the former game demo by compiling this branch now. :)

It was quite a good proof of concept to make someone else's work function with the scripting language changes I've put. And I'm a bit reassured about the current engine state now. ;)
It also permitted me to fix two bugs related to invalid halo images and context inheritances.

I also kept on working on the editor to further easing the pain of map making. There is still work to do, but you can now create layers, and move them up or down as long as they stay contiguous by type. E.g.: A ground layer cannot be displayed after a sky one.
You can also hide/show a layer; the editor will hint you about what layer is visible or not using an eye icon left to its name.

What is left to do is to add the possibility to remove a layer, and to change its type or name.

The editor, now ported to QT4 and with some new options for handling the layers.


With all that, I should have a basic yet sufficient base to keep mapping a bit, and look at what tool could help me next.

I also thank qubodup for pushing to add support to boost 1.49. I guess he gave the right little nudge at the right time, as it now done. :)

Till next time!

Thursday, June 14, 2012

Some pixel art

Hi,

Lately, I've been busy at putting in shape tilesets and other sprites for what will be next in game.

Ruins exterior tileset beginning - from Daniel Cook's free graphics.


A new npc character has made her entering (by finishing some of Jetrel's work), and I made several adapted to be tileable additions from the Circle 2D free graphics from lostgarden.com

Lilly (I only made the left and right walking frames)

I also added a draft of a new map (which is veeery ugly atm.) and I must say that I'll tend adding several (even unfinished) maps simply to be able to test the scripts and what's next in the story before entering the polishing phase.

While on it, I came back on working on the editor which is still in need of a lot of love. For now, I simply removed the texture smoothing there (wasn't helping when looking at tiles transitions.), and ported it to QT4.


Best regards,

Thursday, June 7, 2012

Outline fix (Hurray!)

Hi,

I'm happy to say that the outline of magnified (enlarged) sprites is now fixed. As that one took much more time to fix that I thought (since I've been on this point since several weeks now.), I'm quite happy to say that those white artefacts are now an old story.
For some odd reason, I wrongly thought it came from the coordinate system used for the map mode, and I've trying workarounds and fixes in that area for some time already, without realizing that the smoothing method (GL_LINEAR) was simply using the RGB values of the nearest transparent pixels, leading to those white and grey edges on sprites borders. Here is the result:

If you look carefully, you'll notice the white outline on the left, black on the right.

Might sound simple for some OpenGL experts out there, but I'm pretty glad to see this fixed.

Best regards,

Tuesday, June 5, 2012

Shop & Co.

Hi everyone,

My computer broke two weeks ago and it was kind of painful to put it all back in shape before starting development again. Fortunately, I didn't lose any data regarding Valyria or not, thanks git and thanks backups. :)

So here are some news from all what happened since my last post:

- I added several new tilesets, and characters sprites set up out of mockups gently given by Jetrel.
You can see the mockups here if you're interested: http://www.http://wesnoth.org/jetrel/Allacrost/
I take the opportunity thanks him warmly for letting me use his work and keep on working on and with it.

To sum up, I gathered all the props in one tileset, added small ground variations for the harrvah, and the mountain landscape, and added the wood, snow, and desert house tilesets. (some of which still have WIP parts).

This will permit to finally add the first game "dungeon", but I'll come back at this part later.

The Wood tileset, 95% based on Jetrel's mockups.
- I also had a fair amount of work on the shop mode, which seemed to be in a not quite good shape after all.
A bit of word about it, if you allow me to:
When analysing the code, and the overall logic done throughout that mode, the main design drawback leading to crashes and display flawed logic was the fact that the deal types (weapons, items, ...) were computed against the items to buy, while those were also used for the items the player can sell.
All this was tricky to sort out, even on a higher level, as several piece of code were initialized once and set in stone, even when the items present there had changed.

To make it cleaner both in my little head and in the code readability, I had to separate the items to buy and to sell, their own deal types, and to make sure they would not be mixed again (as for the readability), I put the deal types in their respective interfaces, since there were only used there.

In the end, the shop is starting to look good, even in the memory management there needs some improvements. I don't know yet whether the text or some other memory management objects are in cause, but again I'll see that later.

The Shop mode, not crash-prone anymore (hopefully) and with the character's sprites display for equipment.

Now that the main parts of the games are, if not fine for a bigger project, functional, my next priority will be to add more space to the three-maps sandbox the game is, atm, and why not reach the state where the first battles can be encountered! :)

Depending on my time and luck on it, I'll also have to review the map display code to finally sort out the bad tiles offsetting seen in the map mode (which was there from the beginning, as for me.), and see whether I can have a go at removing the white edges around the sprites, when the images are enlarged.
Fun to come indeed. ;) Would I fail on this task, I would then look at putting a map view making me out of these kind of problems. (The worse, the better sometimes, eh).

Till next time! :)

Monday, May 21, 2012

Dependencies and path-finding.

Hi everyone,

The last week-end, I spent a bit of time in changing Valyria's Tear dependencies.
Just like anything sensible, the dependency problem is something tedious one has to take care very softly.

To be honest, and since Allacrost already used SDL, I took the way of adding the SDLImage dependency that will take care from now on to load the image data.
Since the SDL Image library is made by specialists and tested by a lot of people, it will ease the pain of testing libpng direct calls for that case.

More importantly, I've also been working on the collision detection algorithm.
After a lot of pain and struggle with the existing system, I simply took the step to rewrite it from scratch, and it came out much more simply than I thought.
The previous algorithm was splitted into about four functions, each containing their own limitations and historical bugs, making it all a nightmare to debug.
The new implementation is much smaller and permit to fix most cases, uncluding pathfinding and sprites untangling, and permit also not to block the player or a NPC when it is walking diagonally against a wall, by making it fall back to the free straight direction in that case.

I guess a big final step forward as been made in this sensible area, as you can see, and the only blocker left to make a first complete episode so far (art excepted) is the rewrite of the shop mode :)

Stay tuned ;)

Tuesday, May 15, 2012

Visual debugging

Hi,

Lately, I've been still working on several little things:

I Merged the sprite position and offset into one float, both in scripting and in the inner API.
I left proper pixel perfect rounding where necessary, to keep avoiding the flipping seen because of the map mode view point and technique chosen.

Based on that, I'll be aiming at using float based path coords for path move events and collision detection which should all in all simplify a bit everything.
To start with something helping, at least IMO, I added a debug view in the map mode showing the different collision types in a visual way:

The blocking area can be displayed for debugging purpose.


I also removed the fringe layer support in both the game and the editor, and made other minor fixes.
I guess that pathfinding apart, the engine is quite in a good shape to go further in the story now. :)

Friday, May 11, 2012

Scripting system simplifications and other fixes

A lot of behind-the-scene work has been done to the scripting engine lately, as told before, and I must say I'm quite happy with several of the schortcuts added. :)

Namely, the Event and dialogue Managers are the one important pieces there, cleverly thought by Tyler, IIRC.

In a first row, I added mostly support for several shortcuts, using handlers as parameters, instead of Ids.
Permitting to avoid this :

local character = ...
...
local character_id = 1
local dialogue = hoa_map.SpriteDialogue(1)
local text = "My Text";
dialogue:AddLine(text, 1);
DialogueManager:AddDialogueReference(dialogue);
character:AddDialogueReference(1);
...

Imagine now a map with 15 npcs, two important characters, and I didn't speak about events there, yet.
Do you think you can still remember the id used there without making a bunch local variable retaining the important ids?

The equivalent code is now:
local character = ...
...
local dialogue = hoa_map.SpriteDialogue()
local text = "My Text";
dialogue:AddLine(text, character);
DialogueManager:AddDialogueReference(dialogue);
character:AddDialogueReference(dialogue);
...
No more ids, in that case. Same philosophy for events. And it does seem to work quite well so far. :)
Don't worry, I still left the former way of doing it, so that one can go back using it when needed.
EDIT: Note that events still have ids, but they are now string based, and I do think it more readable so far.

The second problem I had to fix is the event chain handling, which appear to not handle chain breaking, and delayed event pausing. This is now done, and permitted to make the hero's mother to stop waking here and here, and come and speak to him when he tries to get out of his house. Sounds quite a simple case, but believe me, that one gave me some hard times.

The hero's mother can now come and speak before he can leave the house.


I, then, started to rework on the maps, and fell on the context handling, which was currently only handling the base context inheritance, which is fine in itself.
As I'm a little bit crazy, and saw that the editor was semi-prepared to welcome the feature of context inheritance for something else than the base context, I hopped on finishing the feature, both in the game app, and in the editor, and while on it, I made the context and its inheritance be declared in the same table in the map files. The context data is still declared at the usual place, but I guess it's fine in the loading logic for now.

With all that so far, we (yes we were two on this.) worked on the three first maps corrections and finally added inhabitants in the village map. (Hurray!)

The village feels less empty now.

Thursday, May 3, 2012

Translation system fix and preparing the story characters.

Hi all! :)

Everything is in the title:
I fixed the translation system yesterday, making the boot menu option texts reload when changing the game language.
For those using CMake, the mo files are auto copied upon po file modification in the local (testing) translation location, so you can directly see in game what you've just translated by making modifications to the po file and typing 'make'.
Here is an example:
The menu, in French.
We also discussed the beginning of the story yesterday and I started to revamp the characters' sprites data accordingly.
Most notably, Claudius portrait will be renamed Thanis and be used with the former Kyle sprite, which will kinda stay the Hero's rival in the story.

Warning dev notes below!

Last but not least, I've been lurking in the darkness of the scripting system, most importantly in the event supervisor, to look after possible scripting simplifications: (I've also put the end notes about it here for further self-reference, I must admit :])
- I first removed the need of event id, making the system auto-using the object pointer as reference internally.
On the user-side, it first came as a brilliant idea for simple cases, but had many flaws (and it was already a lot of work just to test it.) For instance, I had to declare the event chains in the reverse order, which is very confusing.
- I also looked at integrating functions that auto-create the event needed in the object. Again, nice for simple cases, but horrible for advanced scripting.

I then fell on the conclusion that even if the event id use was not optimal, it was necessary for not too uncommon cases. I also learned where a simple case is and where it is not, and I might add some shortcuts functions later, trying to simplify simple npc creation.
As the use of Integer id for events is simply hard to carry, I fell on the simple fact that it could be changed to string based ids. After all, it's not more error-prone than integer, and can be used in a more readable way, IMO.

Now it's settled, the next story update should come rather soon.

Best regards,

Monday, April 30, 2012

Working on maps

Hi all! :)

As said in the title, more work is being done on the maps. Note that everything is still very drafty, and extremely WIP  for now. But we're advancing.

For now I'll concentrate on adding the mere basics needed to have a game start until the first save point and battles. All that will permit me to have base sandbox to improve things from.
This will permit me to establish something looking like the final map format, so that I'll be able to improve the editor accordingly and make the mapping workflow faster.


Speaking of that, now that the editor and the game can support an arbitrary number of layers (even if you have to add/delete them manually in the LUA file to handle them for now.), and as the engine code isn't optimized to display a layer types that is drawn at the same time than the map ground objects (characters, items, ...) without a costy draw() logic, I finally (after a lot of tests about it) decided that the best way to add proper drawing logic there was to (re)add better map object support.

And here is why I created the map objects catalog file, where you can call easily existing and reusable objects, and place them on the map.

The idea is not entirely mine as something in editor had been done toward it, even if not functional, and still tile-based at the time.
Hence, the actual evil plan will be to readd map object handling support in the editor later on, so that creating maps will be as easy as possible.

But enough talks and a bit more pictures :)
The hero's room (used as introduction for now)
What will be the hero's home. The map is a bot too big for now, but great for tests. :)

The Mountain Village of Layna is simply an adapted version of the demo village for now, with custom scripting.



Again, note that those maps are WIP and will contains many logic(al) problems, and glitches that I'll fix little by little.
I also took the responsibility to retake the mountain village map since I simply found it beautiful. We're planning to expand that little village later, to make the story fit.


Code wise, I made the map loading code not crash the game on the first scripting error in most cases (except for certain luabind exceptions, such as missing parameters) so that it would actually report the error first before dying in those cases.
I also made the location images not displayed when no image is defined, to avoid a the white rectangle problem in such a case.

'Till next time.

Best regards,

Wednesday, April 25, 2012

Equipment, formation and first maps!

Hi again,

Yesterday, I added equipment removal support in the inventory window,
as well as formation switching support.

I also added the possibility to disable a character from the available ones without erasing its data.

As for the editor, work has been kept on:
I made no more tolerated to put custom scripting before the map editor data in map files.
This permitted to more easily add:
- Auto namespace writing at save time,
- Storing of context inheritance, map name, and map location image filename.
(No menu to edit the last two fields in the editor yet.)
This is making the edition of map much more smooth in term of workflow so far.
I also quickly added back the fill layer option, and added a (disabled for now) layer handling toolbar.
(There is still a lot of work considering that sensitive part.)

The starting plot has been internally discussed (we are two story authors ;]), and the first map are being worked on.
More about that later :)

Best regards,

Bertram