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.

Jan 24

Site update, nifty-gui bug

Posted on Monday, January 24, 2011 in Development, Website

It’s been a while since my last post and I must say there are some changes.¬† First of all you may have noticed that the site has undergone some changes. The home page is extended with some screenshots, news items feed.

And the there’s now a download page! With thanks to the STK team. There were so kind to let me use their OS icons. You can see them here:


Jan 15

Development update #8

Posted on Saturday, January 15, 2011 in Development

Here’s the eight development update.
There are some changes and the good news is that I’ve just committed the last engine changes for V0.1.2. Meaning that only the content needs to be added/updated, with exception of the AI and bug fixing of course.

Here’s the list containing the changes since the previous update:

  • VSync can now be set in the options menu.
  • Collision checking is improved.
  • Point system is unified, removing tons of duplicate code.
  • Aliases for points are possible, with exception of PuzzlePoints.
  • Interaction with AIs is now possible.
  • Mouse is unnecessary for conversation, but still possible.
  • Old save-files are detected and rejected, a new game starts.
  • And a lot of bugfixes!

As you can seen on the TODO-list artwork is the most important thing left!

Dec 31

Development update #6

Posted on Friday, December 31, 2010 in Development

Here’s the last development update of this year. There are some changes but none of them is very big.

  • Screen resolutions now fully supported, hopefully.
  • Added the camera mode CENTER, the mode will be changed to PLAYER if the resolution is to low.
  • Added the next three scenes that will make it in the V0.1.2 release.
  • Updated the Object system, example can be found in the Castle Hall scene.
  • Rewritten the rendering system, now a Camera Class handles locations.
  • Compile script added, which also generates a run script.
  • PoA is now 100% fps independent and VSync is automatically enabled.
  • Improved the castle tileset a bit.

Next on the list are:

  • Adding some way to handle cut-scenes (maybe EventPoints that can interact with the AI of an NPC).
  • Make a tileset for the outside of the castle.

The next update will probably be mid January because of some family situations.
But don’t worry, when I get back on PoA I’ll try my best to get V0.1.2 out end January/ begin February.

BTW, I’ve posted some suggestion of what could be implemented next in PoA.
You can find them here: Suggestions

Dec 27

Resolution support

Posted on Monday, December 27, 2010 in Development

I’ve just committed revision 35 and it contains some big changes.

  • First of all the scene doesn’t get stretched and scaled but instead more tiles are displayed.
  • The player now moves through the scene instead of just being drawn in the middle.
  • Made a Camera class which handles the moving over the scene.

The following things are still to be done before resolution support is done:

  • Tweak HUD and Menu to fully support different resolutions.
  • Add and load the POINT mode in the camera.
  • Fix ConversationPoints getting started before sliding ends.
Dec 23

Development update #5

Posted on Thursday, December 23, 2010 in Development

Here’s the fifth development update. There’s some progress.
Most of them are fixing some annoyances, thanks to the user made video.


  • Added notification system.
  • Fixed music bug.
  • Updated the HomeInn scene (added conversation points).
  • Improved the Castle tileset.
  • Extended item system (including collision)

Here you can see the improved tileset:

Now the goal is to extend the story by adding the King and Scientist.
Program the “Artefact” puzzle and add the artefact puzzle.

Implement some sort of cut-scenes system to handle the King talking to you and leaving the scene.