RSS Feed
May 12

Development update #11

Posted on Thursday, May 12, 2011 in Development

Here’s another development update, it isn’t an exciting one mainly because there hasn’t changed a lot since the last.
The biggest change this time is converting the use of the scene id by the scene’s name.

It has several advantages to use the name instead of the index.
Here’s the situation before the change:
swappoint(54, 8, static) {
destination = 3,0,11,1

As you can see the destination is to scene 3. But which scene is scene three?
That depends on the order of the scenes which are defined in the World file:

The counting starts by 0, so the third scene will be the Castle Hall.
But what if the order of the scene changes, this means we need to change every destination to point to the new index.

Luckily this isn’t the case any more, the new swappoint code will look like this:
swappoint(54, 8, static) {
destination = CastleHall,0,11,1

Although the index of the scenes is still decided by the World file it isn’t important any more since it checks the scene name.

I hope to make more changes but I’ll be unable to do so the next few days. :(

Apr 16

PoA is multithreaded!

Posted on Saturday, April 16, 2011 in Development

The new loading system is in revision 108. It’s been a long time since the last update, and although there aren’t many changes some of them are quite big. One of the most important changes is the new loading system. There’s now a separate loading thread that loads the resources in the background. And while the loaderThread is loading the main thread will display a loading screen. This causes faster load times and PoA doesn’t freeze any more while loading.

How does it work?
The concept is quite simple, you have two threads running, the one loads the needed resources and the other waits until the resources are loaded. Although this sounds easy it turned out to be a real challenge. One of my first and biggest problem was the fact that openGL runs in one thread and isn’t thread safe. So any action requiring openGL commands must be run in the openGL thread. To “solve” this problem I’ve split the loading of resources in two, loading and preparing.

In the loading process the data is read from files as much as possible.
When the main thread has time left (at the end of an update cycle) the thread will prepare a resource if there’s one to be prepared.

Mar 4

Development update #10

Posted on Friday, March 4, 2011 in Development

There hasn’t changed much since the last update because I was very busy this week. But I have some good news. The artist allowed me to commit my recent changes together with the new menu, HUD and player graphics.

What has been implemented is a “basic” worldmap and particle effects. Here’s a short video demonstrating some particle effects:

PagesOfAdventure Particle Effects from Edward Lii on Vimeo.

Particles can be placed in two layers. In the background, above the background tile layers, and in the foreground, above the foreground tile layers. Luckily Slick delivers a simple but powerful particle editor, Pedigree.

Feb 12

Development update #9

Posted on Saturday, February 12, 2011 in Development

As I promised I’m going to keep you updated. I’ve mostly been working on weather effects and adding more audio effects. Let’s see what has been added:

First of all there’s now a basic implementation of weather.
Here’s a demonstration video:

PagesOfAdventure Weather effects from Edward Lii on Vimeo.


Jan 30

Development release V0.1.2

Posted on Sunday, January 30, 2011 in Development, Release

PagesOfAdventure V0.1.2 is finally released. Sadly it isn’t released in a state I hoped to release it. That’s because the artwork isn’t done yet.

If you look at the TODO-list you’ll see that most of the tasks are done. But you can also see that there’s still some artwork needed. I found an artist who’s happy to help but set two conditions:

  1. He wants all the current artwork replaced. Tilesets, portraits, HUD, menu etc.
  2. And I may only release it when he’s done with replacing all the artwork so far.

Although these conditions are pretty strict I think it will work out perfect in the end. And don’t worry that the main character will be very different, I’ve seen the new one and I must say he’s almost the same except he hasn’t got that big head any more.

What does the future hold for PagesOfAdventure? Well, V0.1.2 is going to be a development release. This means that only a source and javadoc package will be released. And the next major release is probably going to be V0.1.5 (random version number :P ).

While the artist is creating the needed assets I’m going to keep an offline repository to keep revision, but I’m unable to commit the changes to the public SVN. Don’t worry, I’ll keep you up to date.

V0.1.5 will include better item management, weather, “magic” powers and scene instability.