I have a problem with my ISO-based strategy game. Since I began coding it a week or so ago, it is far from complete. But I encountered a real big problem at this stage.
The problem is MEMORY. When I call IDirectDraw::GetAvailableVidMem() it tells me, that I have used aproximately 4 Megs of VideoRAM. In the times of 32 Megabyte Graphiccards this should not be a problem, but I consider my game (at this point) very simple and even at this stage (I have just drawn the floor-tiles and four objects) it rips 4 Megs out of my VideoRAM. This is realistic, because I use...
... 1 Fontbuffer, 1 Backbuffer, 1 Offscreenplain for the tiles,
1 Offscreenplain for the interface elements and 1 Offscreenplain for drawings like the map and so. All that surfaces are 800x600x16bit, except the drawing-plain, which is 210x450x16bit.
So, here is the point: As I implemented softscrolling, I need to have all of my surfaces in VideoRAM (or don't I?). Because, if I put them in systemmemory, The Blitting is horribly slow. I tried to use some of the tricks to increase blitting speed I found on GameDev.net, but they didn't work for me (slower than with hardware accelerated IDirectDrawSurface4::Blt).
I then went over to my girlfriend's computer (Matrox Mystique 2Megabyte) and tested my game there. Since there are only 2 Megs of VidMem available it did just as I expected. SLOOOOOOWWW!!! So my fears were justified. But I want gamers to play my game even if they don't have a TNT card or the like.
So, if anyone could give me some advise I would be very thankfull.
btw: I have never before come so far with a game, so even I am not new to programming, I am quite new to DirectDraw and stuff, so please take that into account, when replying
Thanks in advance...
A screenshot of the game can be found at:
I know the graphics are poor, but this is the first time ever, I tried to do real graphics in a game (Not just lines and dots) and I am NOT a good graphic designer (Used photoshop the first time ever).