Profile for The Digital Monk

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Recent posts

AuthorRecent posts
Avernum on rotated monitors in Tech Support
Apprentice
Member # 8924
Profile Homepage #2
I know that it adds to the GUI effort, but it would be great if the newer games could support arbitrary resolutions. I just perused screenshots for NetherGate Resurrection, Geneforge 4 and Avernum 4, and it seems like all of them could support arbitrarily higher resolutions just by letting the main map window grow. (Note that I'm not talking about letting users shrink your current layouts -- just letting them go to bigger screens) All of the sub panels could stay the same size.

I only mention this because rotatable LCDs are becoming more common, and widescreen (16:9) is becoming common as well. 4:3 screen modes are no longer guaranteed to be available. If I played Avernum on my den computer, I'd like to take advantage of the 1368x768 resolution of my 37 inch television/monitor.

It would require some method of tiling the cool marble background that you use for window borders, but that shouldn't be especially hard. I personally would be okay with taking the section of marble in the stretch zone and just StretchBlt'ing (or rescaling some other way) it up until it was long/wide enough to work. Not anything with buttons or celtic knots or anything, but just the kind of blobby marble. It won't look quite as nice, but it wouldn't bother me either. Alternatively, various metallic gradient styles can scale or repeat even easier.

I also understand that this is not the fun part of designing these games, that adding it to released games won't bring in much if any additional revenue, and that you're deep into getting Nethergate Resurrection ported. I mean these more as things to consider when you sit down to decide what improvements you're going to put into Avernum 5's engine.

[ Friday, June 08, 2007 10:00: Message edited by: The Digital Monk ]
Posts: 3 | Registered: Friday, June 8 2007 07:00
Avernum on rotated monitors in Tech Support
Apprentice
Member # 8924
Profile Homepage #1
This would appear to be an issue with some aspect of the Geneforge 3 engine that Avernum 4 reuses/builds on. Geneforge 3 has the same problem (which I suppose means that this would be a shared bug report). I've just tried Avernum 1 and Blades of Avernum (the beginning and end of the "classic" Avernum engine), and they both run just fine with the screen depth set to 16 or 32 bit. (In a perfect world, it would be nice if they gained a draggable but non-resizable window border when full screen was disabled, but that's purely quibbling. But if you make a windowed mode for new games...)

OK, I've just pulled down all the demos for testing:

Works:
Avernum 1-3 (16 or 32 depth)
Blades of Avernum (16 or 32 depth)
Geneforge 1 & 2 (16 depth only)

Doesn't Work:
Geneforge 3 (any depth)
Avernum 4 (any depth)

I also run dual monitors, if that has anything to do with it (both are rotated). I just tested making sure that both monitors were at 16 bit (you can set them separately), but it didn't change anything.
Posts: 3 | Registered: Friday, June 8 2007 07:00
Avernum on rotated monitors in Tech Support
Apprentice
Member # 8924
Profile Homepage #0
I rotate my LCD monitor because I find that the screen layout is much more useful for my programming work. When I try to run the Avernum 4 demo, it says it needs to change the screen mode and then crashes (access violation exception 0xc0000005). That is as far as I can ever get.

This is Avernum 4 for Windows (I can't get the version, because of the crash and it doesn't have a version resource compiled into it that I could read from Explorer). I am running Windows XP SP2 on a Dell Pentium IV hyperthreaded machine with an AGP based nVidia GeForceFX 5200.

I'm guessing that the problem comes from not having any screen resolutions that you recognize (instead of 800x600, I have 600x800). I'd be happy to run in a window (monitors are 1200x1600, so I could do a 1024x768 window without having to unrotate), but that doesn't appear to be an option.

(End of tech support request, beginning of programmer-to-programmer comments)

I don't have experience with DirectDraw, but I have used SDL before (http://www.libsdl.org/). It is pretty nice for letting you specify how you want the surface to act, and it will get a real hardware mode for that if it can, but will provide optimized translations if it can't. That would let your internal code remain straightforward 16 bit color, and leave complications of striping, packing, color conversion, etc up to the SDL library.

SDL also works the same on Windows and on Mac OS X, which would seem to be a good thing. It also provides audio, input functions, and various other stuff, and is stylistically similar to DirectX. This is the library that people use when porting DirectX Windows games to Linux.

By the way, I understand the small business thing -- my small business is me and my wife. I also understand that changing out infrastructure is generally a huge pain in the neck -- I've been trying to convert my Windows OpenGL/DirectAudio/DirectInput program to Mac OS X for quite a while now. I can't use SDL because my application uses multiple top level windows, but SDL only supports a single "screen" (top level surface/window). Anyway, I just wanted to mention it in case it would help bring the OS X and Windows builds closer together. (I'd like to try out the new NetherGate, but am awaiting the Windows build :D )

I also feel like I should try to contribute back, because when I did play around with SDL to make a little infinite random terrain exploring app, I used the GeneForge artwork for terrain and the character that wandered around. (Just for my own playing around -- never released anywhere) I'm not sure if I still have that code around (the machine's drive has since been formatted, so I would have had to have copied it somewhere), but if I do still have it and you'd like it for examples, I can send it. Come to think of it, though, it's probably better to just go through the SDL examples like I did -- I was writing that as a play app at bedtime, so it's probably really bad code :rolleyes: ...

[ Friday, June 08, 2007 08:44: Message edited by: The Digital Monk ]
Posts: 3 | Registered: Friday, June 8 2007 07:00