Skip to content
Nov 29 10

Winter…

by Xography

… is here, at least here in Germany. And I caught a cold. And it began to snow last night. Sigh. I hate winter.
But on the other hand, I can’t wait for a special winter to come:

There’s a new Game of Thrones Teaser (#3) – the adaption looks promising, I expect it to be most awesome or I have to sue HBO ;) . I’m currently re-reading the books/listening to the audiobooks and it gets even better on the second run. If you haven’t read A Song of Ice and Fire yet and like non-mainstream fantasy, read them. Now. But a word of warning: After reading the books, other novels and series will feel utterly boring and poorly written, since they’re that good. Trust me I’m a doctor literature nerd with many books read to date *cough*, no really, just do it :) .

Nov 13 10

In the meantime…

by Xography

.. I’ll be posting a few pictures I took a week ago (Schwetzingen Castle gardens, which happen to be 10 minutes away from my place, lucky me):

Since I forgot my digital camera at home I had to take the pictures with my mobile phone, but the quality isn’t as bad as I suspected.

In other news:

As you (can’t) see, libRocket now powers the UI, but I have to port all User Interface definitions to RML, which will take some time. But there are some cool features (besides the new UI) coming as well, so stay tuned. I’m also assembling CMakeFiles for the projects’ cross platform build process, which requires some tinkering and cranking here and there because some libraries I use don’t come with build modules, but the basic build process already works on linux/mac os x. So the next release will (most likely) include a Mac Version with the obligatory diy-linux sources.

Oct 20 10

Migration finished + Arcomage status report

by Xography

So yeah, very few updates during the last weeks. The semester started again and I’m really busy (7 exams this semester, the f*ck). And, on top, I had the great idea to change the server which kept me busy for days. So what’s new?

Trac gone, SVN gone – Migrated to GIT and Redmine
I’ve decided to use GIT as version control from now on, since it’s much more flexible than SVN. Unfortunately it is quite complicated to handle for both administrator and user, but I think you can make good use of the complexity on contributor-side (since ready-only cloning isn’t that hard): An intended obstacle to check whether the willing collaborator is able to handle such a system. Yes, I’m evil, I know.
Redmine is a richly featured project management tool, offering much more functionality than the limited TRAC system (which is, of course, sufficient for most smaller projects).

I’ve migrated all data (except the outdated wiki) to the new tools:

Arcomage Status report

I’m currently integrating the whole Game to an Ogre3D Environment, which means basically:

3D Rendering (+ fancy effects!) coming soon.

On a more technical level, the API’s are being replaced, translating into the following new dependencies:

  • SDL, SDL_image, SDL_ttf – replaced by Ogre3D (includes freetype support)
  • SDL Input – replaced by OIS
  • SDL_mixer – replaced by OpenAL
  • POCO – gone:
    • new XML Parser:  AeonXML
    • ZipStream (Deflate/Inflate): Ogre3D
    • Logging: Ogre3D Logmanager
  • Boost stays as thread provider, filesystem layer, useful utility stuff

I’ve set a harsh deadline for all the new functionality (due in 8 days), expect everything coming much later than intended.

Also, check out the brand new project pages: http://redmine.gatewayheaven.com/projects/arcomage

I hope I can provide a few more details soon ™.

Oct 12 10

Migrating

by Xography

… everything to a new server within the next few days. The static content is already there. The main website is next: expect many broken things, I’ll try to fix up everything as soon as possible. :)
The new machine is now dedicated, the Quad Core CPU & 6 GB RAM are quite an upgrade to the old VServer with 1 Ghz and 768 MB RAM, it’ll take a while to reach its limits (hopefully).

Update: The blog has arrived as well, if you can read this, you’re on the new server (not that you’d care). Caching is currently disabled, so everything is slow as f*ck.

Sep 27 10

Arcomage Tribute 0.5.0.0 underway

by Xography

No, it’s not even near being done: http://trac.gatewayheaven.com/projects/arcomage/report/1

But I have some news, good and bad ones (how original).

The good news is, that I’m progressing quite well – despite my 24″ flat screen’s backlight dying after 11 months usage (at least there’s a three year guarantee). So while I’m waiting for the repaired screen I’m forced to program on my old 17″ TFT with a stunning 1280*1024 resolution, which feels like a postage stamp after nearly a year with 1920×1200 and lots of space to place useful IDE windows. After minimizing and shrinking I’m able to view more than 10 columns of code again, but I have to say, that in fact my self-imposed 80 column-width limit trades off for once. More lines would’ve completely destroyed my IDE workflow at this resolution. But there’s much more to say than just ranting about broken monitors:

Performance Issues

Arcomage 0.3.2.0 has some serious performance issues, since it is using SDL in software mode and doesn’t use hardware rendering at all. This is no big problem for a 2D Card Game, but while implementing the revised Animation Manager (finally fancy animantions – well timed and stuff!) the FPS drops troubled me; 50 FPS at 100% CPU Usage on my old 2.4Ghz Dual Core (yes, Arcomage finally utilizes threads!). So I did some profiling and the not-really surprising result was, that most cycles are consumed for blitting images onto the screen. I took some screenshots of the really neat Visual Studio 2010 Ultimate (which I happened to obtain for free thanks to my university’s MSDNAA program) Perfomance profiler:

Another Performance bottleneck is the current way I’m utilizing the Poco Logging system; every line being logged gets written to the file in a synchronous manner, which basically means the file gets opened and closed for every line logged:

I picked the Loading routine which parses the Cards and (for testing purpose) logs every Card’s name to a log file:

We can even jump into the notify finished function where the actual logging happens:

… well, enough advertising, but the VS Code Profiling leads to frequent nerdgasms for performance junkies I guess. At least ONE useful thing Microsoft added to the bloated Visual Studio IDE.

So, what does all this mean? In one sentence: I have to change the logging works (caching and infrequent dumping to the hdd) and change to hardware accelerated rendering. Which is the bad news.

Switching to Hardware accelerated rendering

If I ever want to visualize more than two images without using top-notch machine with a Hexa-Core CPU, I have to either switch to plain SDL GL (= Open GL) or use something with some more functionality out of the box:

I decided to utilize Ogre3D since I’m at least a bit familiar with its basics, and a plentora of plugins already exists. Thus I’m going to switch the rendersystem from SDL to Ogre3D, which will take quite a while, but the game logic wont be affected too much. I labeled this the bad news, because this means that it will take even longer for 0.5.0.0 to be released, but I (hopefully) can add some fancy visuals and stuff. I have to switch to OpenAL and OIS for Audio / Input as well, which means some more refactoring…

So stay tuned for a 0.5.0.0 release, but don’t expect it too son. On a sidenote: I’ve created a “Sandbox”-Branch in the SVN Repository for the sole purpose to show off some progress while I’m adding all the new stuff. I’m also going to switch to Git as soon as possible, but I have to figure out how to integrate TRAC with GitHub (or rather: if this is even possible). If not I have to decide what to use, but I’ll postpone this, since it doesn’t matter too much for development – it’s just convenience.