Bit Blot Forum
Aquaria => General => Topic started by: SBKT on February 21, 2007, 06:02:08 am
-
This is a thought I want to make sure I can run it decently, by your expectations. I don't have a top of the line computer but judging from it, I think my computer SHOULD do fine.
-
Performance can be tweaked by disabling effects, lowering the resolution, etc. We haven't done much wide range performance testing, but we've run on some older boxes and the game is still playable, if not running at full 60fps.
For our IGF demo readme, we came up with these base system requirements:
1.6Ghz
256MB RAM
Mid/High-End Video Card
Sound Card
Latest Versions of DirectX & OpenGL
Latest Video Card Drivers
... but those are pretty damn rough. :)
-
Mid to high end isn't specific, but that sounds good. I'm not planning on upgrading my computer though.
-
Yeah... we'll need to test on some video cards and then list 'em or something. What kinda card do you have?
-
Yeah... we'll need to test on some video cards and then list 'em or something. What kinda card do you have?
It's an integrated thing, it's runnnig at 32MB right now, but, I could make it go to 128. I love messing with that thing. The chipset is a Sis661FX/GX Mirgae Graphix or something.
The model of my computer is Seanix, for extra info, 3.066GHz Pentium 4 w/ hyperthread, 512MB RAM, 80Gig drive, got about 60 free, 2 PS2 controllers hooked into my computer with a special USB hookup, and no speakers. I gotta use headphones. It runs Windows XP Home SP2.
I also got an old computer with like, 4MB inegrated video ram and junk, and it's running Windows ME... Amazing thing is, it never crashes. I have done the impossible right there, so I love ME.
-
Performance can be tweaked by disabling effects, lowering the resolution, etc. We haven't done much wide range performance testing, but we've run on some older boxes and the game is still playable, if not running at full 60fps.
For our IGF demo readme, we came up with these base system requirements:
1.6Ghz
256MB RAM
Mid/High-End Video Card
Sound Card
Latest Versions of DirectX & OpenGL
Latest Video Card Drivers
... but those are pretty damn rough. :)
A few questions about that:
1) Latest DirectX doesn't mean we will need DX10, right?
2) Many games seem to suffer from Dual Core; screens flicker, games freeze, sound drops and more weird things I've noticed. Though it's not hard to disable one core for any application, are you working on dual core optimization? Just so it would work fine with it?
3) Will the game support 3D sound or EAX?
-
A few questions about that:
1) Latest DirectX doesn't mean we will need DX10, right?
Naw, latest DirectX 9 should do fine. Probably 8 too. We just use it for xbox360 controller input right now. All you really need is the xinput_.dll I think... but haven't looked into it yet.
2) Many games seem to suffer from Dual Core; screens flicker, games freeze, sound drops and more weird things I've noticed. Though it's not hard to disable one core for any application, are you working on dual core optimization? Just so it would work fine with it?
I don't know anything about that. :) Game won't be multithreaded. I'm pretty sure we've already tested on some dual core machines, and things ran fine.
3) Will the game support 3D sound or EAX?
Probably not. Since its 2D we can do a lot with prerendered sounds and 2D panning.
-
You know, I don't think I've ever once had a problem with my dual core machine. At least not in relation to having the two cores. And I've run all kinds of everything. This has actually been one of the more stable systems I've owned (Athlon 64 X2 4400+ Toledo core).
Anyway, think my rig could eat this thing for breakfast, but it's funny how often that's the case these days. A lot of the games I'm playing aren't games that really push the graphics envelope (barring stuff like Oblivion). I just love me some 2D gaming.
-
You know, I don't think I've ever once had a problem with my dual core machine. At least not in relation to having the two cores. And I've run all kinds of everything. This has actually been one of the more stable systems I've owned (Athlon 64 X2 4400+ Toledo core).
Anyway, think my rig could eat this thing for breakfast, but it's funny how often that's the case these days. A lot of the games I'm playing aren't games that really push the graphics envelope (barring stuff like Oblivion). I just love me some 2D gaming.
That's not the problem, right now. Are you using Vista? If so, you'd be screwed for a while with this game, I hear. Vista's capabilities are sort of crap for this, because it's early release.
-
From what I've heard, it should run fine in Vista.
-
I'll switch to Vista when someone tears my arms off, shoves them down my throat, and prevents me from using physical violence to keep them from installing Vista on my machine. Probably not before then.
-
Haha, I second that!
-
You know, I don't think I've ever once had a problem with my dual core machine. At least not in relation to having the two cores. And I've run all kinds of everything. This has actually been one of the more stable systems I've owned (Athlon 64 X2 4400+ Toledo core).
Anyway, think my rig could eat this thing for breakfast, but it's funny how often that's the case these days. A lot of the games I'm playing aren't games that really push the graphics envelope (barring stuff like Oblivion). I just love me some 2D gaming.
Dual Core has problems with some older games and applications. For example, all Adobe Premiere versions have playback problems, you need to disable one core for it to work well. Another really problematic one would be Worms Armageddon, it doesn't work on LAN for some reason, unless to disable one core. There are a few more problems I've ran into and I have a Athlon 64 X2 as well.
-
You know, I don't think I've ever once had a problem with my dual core machine. At least not in relation to having the two cores. And I've run all kinds of everything. This has actually been one of the more stable systems I've owned (Athlon 64 X2 4400+ Toledo core).
Anyway, think my rig could eat this thing for breakfast, but it's funny how often that's the case these days. A lot of the games I'm playing aren't games that really push the graphics envelope (barring stuff like Oblivion). I just love me some 2D gaming.
Dual Core has problems with some older games and applications. For example, all Adobe Premiere versions have playback problems, you need to disable one core for it to work well. Another really problematic one would be Worms Armageddon, it doesn't work on LAN for some reason, unless to disable one core. There are a few more problems I've ran into and I have a Athlon 64 X2 as well.
AQ note for you, Assault, that if you hate the web services they give you and you want to play someone far away, you use Hamachi. It's like an internet transforming LAN service thing.
-
^
What? I don't understand.
-
^
What? I don't understand.
Please specify which part. I work better with less information to decode....
Am I supposed to explain Hamachi? It helps if the game has multiplayer, and you want to play a friend online, but the web service for that game sucks, such as with Worms Armaggedon. Hamachi creates a FAKE LAN with them so you can make the game think you're on an LAN with them, meaning less hassle in online gaming.
-
Mid to high end video card you say, so do you mean a GeForce FX 5500 or an GeForce 8800 GTS?
-
Seems to run okay on a GeForce4 MX (which is supposedly equivalent to an ol' GeForce2?)
I think that's the "lowest" vid card we've tested it on yet. Once we've tested more we can elaborate.
-
Seems to run okay on a GeForce4 MX (which is supposedly equivalent to an ol' GeForce2?)
I think that's the "lowest" vid card we've tested it on yet. Once we've tested more we can elaborate.
Uh, can you specif more on how powerful it is, like, there's the GPU and pipelines and MEgs and stuff. I know I had an ATI 3D Rage 2 somewhere... I could test it on 4MB integrated computer, Haw. I doubt it'd run too well, though.
There's two sets of requirement lists that you might want to produce. A MINIMUM requirement list, which means like, the absolute minimum to run the game, and the Optimum system requirements, which means, the lowest powers your computer must have in order to run it smoothly, like, good speeds and stuff.
-
Seems to run okay on a GeForce4 MX. I think that's the "lowest" vid card we've tested it on yet.
Hahahaha ;D
That's funny to me.
-
This may seem like a joke, but it's not, will Aquaria run on Windows 98? I haven't seen a game yet that makes me want to downgrade to XP, but damn it I will for Aquaria... if I have too.
-
This may seem like a joke, but it's not, will Aquaria run on Windows 98? I haven't seen a game yet that makes me want to downgrade to XP, but damn it I will for Aquaria... if I have too.
You still use 98? Why not upgrade to Windows 2K, service pack 4, then? It's much more stable than 98. I've used it for years, only this year I moved to XP because the lack of support for 2K. Generally though, both XP and 2K are much better that 98 if you have 1 Gig of Ram.
-
This may seem like a joke, but it's not, will Aquaria run on Windows 98? I haven't seen a game yet that makes me want to downgrade to XP, but damn it I will for Aquaria... if I have too.
You still use 98? Why not upgrade to Windows 2K, service pack 4, then? It's much more stable than 98. I've used it for years, only this year I moved to XP because the lack of support for 2K. Generally though, both XP and 2K are much better that 98 if you have 1 Gig of Ram.
I use 98 because it runs all my graphic and audio apps perfectly. I see no reason to downgrade to XP aside from having to to play games which require that OS. Hence, I was wondering if Aquaria would or wouldn't. My hardware will work fine, I imagine, I have a P4 prescott @ 2.4Ghz plus a 9600XT.
-
No idea about 98 yet. I think it could work, since there's nothing XP-specific about the game.
-
No idea about 98 yet. I think it could work, since there's nothing XP-specific about the game.
If some functions of a later DirectX 9 version is needed, you might run into severe problems with Win 98 ... Win 98 isn't supported for DirectX 9.0c (20 dec 2005 or newer) , in my experience this really did mean that some games simply don't run on that OS. If Aquaria can run with DirectX 8.0 and doesn't have a DirectX 9 version be aware that DirectX 8.0 isn't supported in Windows Vista, anyways I think you know most of this already. :)
http://www.falconfly.de/directx.htm
-
I actually tested on a Windows 98 virtual machine a while back and ran into this. People using out of date Windows 2000 installs will also run into this problem. (I believe you have to update to SP4 before you can install DX9)
But - its all cool, cause I only use DX9 for XINPUT (XBox360 Controller) stuff, and its easy for me to build a separate EXE for 98 and out of date 2000.
So yeah: the game will run on Windows 98. :)
-
Update: reconsidering this, because it'd be messy to update two EXEs.
Trying to see if there's a way to load XINPUT.dll dynamically......
-
Not sure if you can load the XINPUT1_1.dll dynamically to solve the problem, but the XBOX360 controllers themselves won't work on Windows 98 anyways, unless you're going to build some custom drivers for them to work ...
I mean currently there are no Win98 drivers for the XBOX360 controllers, it needs Windows XP with Service Pack 1 or later.
So if you use the XINPUT.dll only for the controller, perhaps you can support Win98 but without xbox360 controller support.
-
Yeah, that's what I just said basically. But having to release two exes would suck.
-
Trying to see if there's a way to load XINPUT.dll dynamically......
here's part of my code for getting a directInput Mouse started.
HRESULT (WINAPI *pDirectInput8Create)(HINSTANCE hinst, DWORD dwVersion, REFIID riidltf, LPVOID *ppvOut, LPUNKNOWN punkOuter) = 0;
if ( (winp.hInstDI = LoadLibrary( "dinput.dll" )) == 0 )
/* .. error .. */
if (!pDirectInput8Create) {
pDirectInput8Create = (HRESULT (__stdcall *)(HINSTANCE, DWORD ,REFIID, LPVOID *, LPUNKNOWN)) GetProcAddress(winp.hInstDI,"DirectInput8Create");
if (!pDirectInput8Create) {
error(L"Couldn't get DI proc addr\n");
}
}
this approach will work for a single .exe. you'll need to maintain two code paths for the 360-controller input, is all. probably turn it off/on with a global boolean. All the functions that you use from the loaded dll are first declared as function pointers, and then fetched from the loaded dll w/ GetProcAddress.
Also, win98 doesn't support Unicode w/o a patch or something. so that could hinder backwards compatibility if you rely on it.
btw, can't wait to see your game.
-
I was looking at a tutorial about that, and it seems like it could work... if you knew the name of the dll.
But it seems like with each version of DirectX 9 they release a differently named XInput.
For example the current one I have is XInput1_3.dll.
In my system32 folder I have all of:
xinput1_1.dll
xinput1_2.dll
xinput9_1_0.dll
I guess we could package one dll with the game and only try to load that, but that seems like a bad idea since people wouldn't be able to update to the latest dll.
Any ideas? :)
-
Uh, the simple fix seems to make a folder for dll's and have them just stick the newest version in there when they need to.
-
Forcing the user to rename a dll and put it in the game directory seems like asking too much.
It would be best if there was a way to detect the latest xinput dll somehow.
-
A update button, that asks some server if it has the latest version?
-
Not sure if you get what we're talking about. :)
People can just install directx to get the latest xinput dll.
The problem is, we want to use unsual code to use the xinput stuff, so that we don't have to rely on having it - so that people with windows 98 can play the game.
But to do that we need to find out the name of the latest xinput dll installed on the user's computer, because the different versions have different names. And when you're loading dlls "dynamically" like this, you need to tell it the specific name of the dll.
-
some code to get the version of the OS:
OSVERSIONINFO osversion;
// get OS version
osversion.dwOSVersionInfoSize = sizeof( osversion );
if (!GetVersionEx (&osversion))
error ("Couldn't get OS info");
then check here: http://msdn2.microsoft.com/en-us/library/ms724834.aspx (http://msdn2.microsoft.com/en-us/library/ms724834.aspx) for what the version numbers are.
-
The doesn't address the dynamic dll loading problem.
Don't need to know the version of the OS, only what the name of the proper xinput*.dll to load is. If the dll can't be found or fails to load, you assume you're on 98 or you don't have directx 9 installed.
The problem is finding the name of the newest xinput dll so a load can be attempted.
One way would be to scan windows/system32 for xinput*.dll filenames, then comparing time stamps. But that seems messy and prone to error.
-
I guess we could package one dll with the game
.. hrm, better read the Microsoft SDK documentation about "redistributables". They supply some DLLs that are intended to be distributable under some sort of license. but some aren't. I don't know enough about DirectX at this point to know why they keep changing the xinput dlls. They must've figured out a way for you to code around it. perhaps its just
HINSTANCE hInst;
hInst = LoadLibrary("xinput1_3.dll");
if ( !hInst )
hInst = LoadLibrary("xinput1_2.dll");
if ( !hInst )
hInst = LoadLibrary("xinput1_1.dll");
if ( !hInst )
/* no controller available */
-
Yeah, that'd work for older versions, but not for newer ones. :)
Its frustrating for sure!
Maybe there's a way to check the version using DX Caps?
-
couple hints on these threads: delayed dll loading
http://www.gamedev.net/community/forums/topic.asp?topic_id=435940
http://www.codeproject.com/dll/Delay_Loading_Dll.asp
-
Not sure if you get what we're talking about. :)
But to do that we need to find out the name of the latest xinput dll installed on the user's computer, because the different versions have different names. And when you're loading dlls "dynamically" like this, you need to tell it the specific name of the dll.
Ah, I see.
...
...
...
Well, that's annoying.
-
Yeah, that'd work for older versions, but not for newer ones. :)
Yeah, you know, the more I think about it, .. I realize what other games do. They:
1 - Require that you have DirectX9.0c or greater ( because there are things in there that the game absolutely relies upon and would be an unnecessary pain to code around )
2 - They supply the directX 9.0c installer if you dont already have it.
3 - They release 1.x patches which might take advantage of newer versions of stuff, while fixing bugs.
[rant]
Windows should basically take care of you for backwards compatibility and that's the most that you need to worry about when releasing software as a commodity. You can't really see into the future. For mouse code, DirectInput Version 8 is still the newest one. Imagine, at some point ten years down the road we'll all be using... Linux? ;-p , and people will say, "Man, I want to play Aquaria again.", and there will be a web effort to make it work on whatever the new stuff is. It doesn't need to support the newer dll, just support whichever xinput is supplied by directX9 now and that's it. Those standards wont go away for pretty much ever I think.
[/rant]
-
Yeah... I'm beginning to wonder if the newer installers will include all the older dlls in them. That might make sense.
In that case I could just look for xinput1_3.dll....
As long as we can support both XBox360 contollers on XP and still run on 98/2000 for the near future I'd be happy.
-
Yeah... I'm beginning to wonder if the newer installers will include all the older dlls in them. That might make sense.
In that case I could just look for xinput1_3.dll....
As long as we can support both XBox360 contollers on XP and still run on 98/2000 for the near future I'd be happy.
plus, the APIs might change between those different xinput*.dll . I hadn't thought of that before. so supporting multiple could blow-up out of control fairly quickly.
for 98 compatibility: I don't know how your input code is setup, but just make the 360 controller routines separate from the mouse and keyboard, and if the dll doesn't load, then the controller doesn't work and that's that. separated code won't effect how everything else is setup. I would wrap the conditional input with a global state variable, like:
if _xbox_360_controller_loads_
bool xboxControllerFound = true;
... later on
input() {
if (xboxControllerFound) {
// get input
}
getkeys();
getmice();
}
people are gonna be so stoked about this game that nobody will even notice if it crashes a 98 box. Hell, that might mean it has good taste.
-
Yeah you're right, the joystick code is already separate.
I just set it up with delayed dll loading and it works! Uninstalled all the dlls, it failed to load 1_3, disabled the controller input and kept on running. Reinstalled dlls, and it picked up the input again! So now '98 should be possible.
I'll try to test on a virtual machine at some point.
Its more for people who use 2000 though, because to get xinput support you need to install like 4 service packs. O.o
Yeah, so I guess people who want X360 controller support can just make sure they have xinput1_3.
WOOOOOOOOOOOOOOOOOT
-
I just set it up with delayed dll loading and it works! Uninstalled all the dlls, it failed to load 1_3, disabled the controller input and kept on running. Reinstalled dlls, and it picked up the input again! So now '98 should be possible.
Dude, that is so excellent. You did that already? WOOT For Sure. And you've tested it for both cases, with and without the dll. sweet.
Yeah, so I guess people who want X360 controller support can just make sure they have xinput1_3.
WOOOOOOOOOOOOOOOOOT
And this makes sense because the odds are they are going to have directX 9 or 10 anyway. but if they dont, never fear, there's still two or three more ways that they can play the game. so all is well.
Yeah, bit-blot is gonna do alright. man, buts yous got to stop derekyu from painting so much bad ass stuff. my eyes is gonna wear out. (sry, just had a mojito at dinner for my dad's birthday)
-
Alec, I thought of one gotcha w/ regards to your test. Windows has a dllcache folder that it copies all the dlls into that it uses, C:\WINDOWS\System32\dllcache . depending on the installer, even if you un-install the dlls, a copy of xinput1_3.dll might still have been in there. which would've then loaded.
regards,
Greg
-
No xinput in my dllcache. :)
Yeah I tested without xinput. It was most certainly gone, because the game failed to call the DLL functions when I removed it. First there was crashing. Then when I fixed the crashing there was just running with no X360 input.
-
Hey
Just wondering, do you have any idea of the system requirements for a Mac?
I have a 32 meg video card, 768 megs of RAM, and a 766 mhz processor.
It's a G4 (digital audio model).
I have a laptop, but I prefer my G4 cause it runs quieter.
Thanx, although I'd understand it if you hadn't gotten far enough to test at this point.
*Note*
I can play Ambrosia's new releases, like DEFCON, if that helps any.
-
Hey
Just wondering, do you have any idea of the system requirements for a Mac?
I have a 32 meg video card, 768 megs of RAM, and a 766 mhz processor.
It's a G4 (digital audio model).
I have a laptop, but I prefer my G4 cause it runs quieter.
Thanx, although I'd understand it if you hadn't gotten far enough to test at this point.
*Note*
I can play Ambrosia's new releases, like DEFCON, if that helps any.
DEFCON runs on a 766 MHz G4 with only 32 MB of VRAM? Damn! I'm impressed!
Also, welcome, fellow Mac user and DEFCON player!
xander
-
Yea, DEFCON works fine. I have a GeForce2 MX graphics card. I used to be able to run Redline on my 16 meg ATI RAGE card (on my old B&W G3, before it broke), but just barely.
Oh, what does "frog blast the vent core" mean anyway? I've seen it on Redline by pressing "x."
-
Oh, what does "frog blast the vent core" mean anyway? I've seen it on Redline by pressing "x."
And you claim to be a Mac user! Bah!
"Frog blast the vent core," is a quote from Marathon, the single greatest FPS ever made. There are levels you are attacked by suicidal exploding human simulacra. they can only be distinguished from normal humans based upon what they say. One of the things that they say is "Frog blast the vent core."
xander
-
Sweet. That game looks awesome.
Where can I buy it, Ebay?
-
Sweet. That game looks awesome.
Where can I buy it, Ebay?
Lucky for you, Marathon is now open source, and the scenario files are free!
http://source.bungie.org/get/
xander
-
Yay!!!
Thanx!!!!! ;D
-
I too have just discovered this... xander, you are awesome and win for inspiring me to go and seek out this marvel of a game.
-
Game Informer just did an article on Marathon in its classic gaming section. :)