Archives - February 2008
2008.02.26
I'll be honest: I haven't touched Neverfall in quite some time. Today I tried out a sneaky little test that yielded no results. I was going to attempt forcing vsync while using vanilla Allegro, but as I suspected that didn't work so well. Since Allegro on OSX doesn't use hardware acceleration (as I've stated way too many times, now), forcing OpenGL to do vsync didn't really solve anything. That's basically the extent of which I've touched the game since the last post.

Aside from that, I've been expanding my horizons with DS development. Moving from a very, very basic demo with simple sprites and static 16bit backgrounds, I have no moved into the realm of tilemaps, sounds, and music. Very cool. You can preview the latest stuff I've been able to produce by running this nds file. DesMuMe is not the best emulator, but it does a good job of representing what this is like on the actual hardware. Another alternative is iDeaS, but its sound output can get garbled after a while of usage. Note that this little demo file can be tough on the brain. I wouldn't recommend looking at it if you're prone to epilepsy. I only mention this because everyone I've showed this little "demo" so far has said something to the effect of the background being "hypnotizing" or "seizure inducing".

It's been fun playing around in the DS sandbox. Things are a whole lot different in this landscape.

2008.02.20
Things are still pretty slow on the Neverfall front. Here's the current rundown:
  • OSX Leopard (Intel): Runs almost flawlessely
  • OSX Tiger (PPC): Sprites drawn with trans/flip/etc do not display
  • Windows Vista: Runs, but at 50% optimum framerate
  • Windows XP via virtualization: Runs, fonts do not display
So, things are kind of jumbled up all over the place. I've been taking an unintentional break from working on NV simply by being lazy and not approaching the code as often as I would have liked. I dislike taking a break and not doing anything creative, however.

To get my creative juices flowing a bit more I've done a slight bit more tinkering with DS development. As part of last month's challenge at GDR, I tinkered with it a bit. I have no real way of telling whether I'll take this experimentation anywhere, but for me it's a good way to exercise my development juices without having to deal with Neverfall woes. There's just something about this particular hurdle that prevents me from wanting to do anything with the game at all; and playing around with a different coding style and paradigm helps me clear my mind of the things that are getting me down.

Something I've been thinking I can benefit from is writing some sort of "shearing tester": an application that will try to make shearing happen. The purpose of this would be to find out exactly what types of rendering methods cause it to occur, and hopefully help me gain some insight into how I could fix it. It'd be nice if I could take action on this idea sometime soon.

2008.02.16
Okay! So I finally pulled myself out of this motivational slump for a little while to try and figure out why I was getting abysmal results using AllegroGL. That is, why I was still seeing crazy shearing. Poking and prodding around a little bit, I discovered that I could simply force Vsync to happen by talking to the hardware. Perfect! I found a working solution that works in OSX (as well as one that should work in Windows; it's just untested). Turning on Vsync capabilities of the graphics card really seems to alleviate the shearing problem, as well as making the FPS not go insanely high when the game logic runs at a steady 60bps.

All of that said -- there are strange issues that are now surfacing via the use of AllegroGL. In Windows, many of the sprites refuse to display themselves. In Tiger, on different Mac hardware than what I'm currently developing on, anything drawn with transparency on does not display! There is obviously either some sort of hardware different occurring here, or I'm not using AllegroGL correctly. I think it might be a mix and match of both. In either case, though, it's going to take a chunk of work to try and locate all of the places I'm incorrectly doing drawing calls. This stems from the fact that this was not an AGL project from the start; so I wasn't able to take into consideration certain restrictions/etc that would change how the game rendering was implemented.

Even with this fix and horizontal shearing gone, there are still jitters here and there that I haven't been able to fix. The cause is probably not due to the same issues as the shearing. At this point, I'm still trying to discern whether AllegroGL is the route to go, or if I can still fix this problem in "vanilla" Allegro.

2008.02.12
It recently came to my attention that the Zep's Dreamland level set and post mortem pages were missing. That issue has now been rectified.

On a development front there isn't anything to really report. I haven't taken another good stab at figuring out all of these shearing shenanigans just yet. It is looking like what will need to be done is a complete rewrite of how rendering is happening. I'm trying to see if there are alternatives before going that route, though.

2008.02.04
I've been looking a bit more in-depth with AllegroGL. For now I've checked in all of my code in the stable stat it's in, and created a branch for AllegroGL testing. So far, I've got most of the game using hardware acceleration under AllegroGL, but I'm still getting major shearing. This is a bit disheartening, but there are a few more approaches I can take with AGL--mainly doing the rendering myself instead of allowing it to perform the GL calls to make Allegro blits do their magic.

A friend of mine had a good suggestion to try my new monitor on a set of different systems and see if it behaves identically in terms of causing shearing. I am under the impression that this will, indeed be the case. Going back and firing up Zep's Dreamland, it was pretty obvious to notice that there is even some shearing that with the scrolling backgrounds. It's a shame that this hasn't come up sooner. In any case, I'll be looking at it more as the days progress, but it's a good excuse to take a break for a while before I burn myself out looking for solutions.

It might be a wise decision to tinker around with some more design stuff, or art.
copyright © 2001 - 2010 loomsoft