atombat said:
Hello, just giving you a status report. After trying different block layouts with differing degrees of success I'm going to finish off what I've done and post the results, I don't think it's the best I can achieve but I've never done blocks before, and matching up the corners can be troublesome, so in the next day I'll just post what I've been working on for your feedback and critiques. Cheers.
I'm really looking forward to that.
I wasn't able to do much work for some time cause I had to fix some things with my uni. I have been also finishing a small commercial enterprise which will hopefully allow me to get my hands on the pandora.
Nevertheless I've made a small progress since the last post. Among others, I moved the font rendering code from gfx backend to sprite engine. I rewrote it completely so now it uses LUTs and is way faster. Now multiline font tilesets (a lot of them can be found on the net, for ex. they come from amiga demos so the authors will likely give us rigts to use them) can be used.
I decided NOT to go with different aspect ratios and gfx automatically fitting them. Instead the default resolution will be 800x480 and if aspect of your display is smaller then you will have those well-known black borders. Of course you can freely
change the resolution. The graphics will be automatically upscaled/downscaled. If you choose a resolution greater than nominal then, probably things won't look any prettier (it's all raster after all) but you certainly get smoother movement (if your comp cope that is)!
Next, I decided to add support (not done yet) for individually paletted PNGs. I found out that OGL can draw/store paletted textures so we can save a lot of memory and bandwidth. It's great because we have to preload all game mode graphics when loading the game screen. I don't want them to be loaded dynamically because this could cause a serious lag on some systems (presumably even pandora [read here about this tx swizzling done by CPU]). The only drawback is that palletted textures need a mask and 2 calls with different alpha settings to draw. But I think that it's still worth it.
UPDATE: I'm reading stuff and it occurred to me that paletted textures in OpenGL are a legacy of old times and I doubt that new chips are optimized for them. Obviously they require different texture processing and one additional mem lookup for each pixel so in an unomptimized chip they probably could seriously degrade the performance. And the memory gain isn't as big, because we have to store the mask, and if bitmasks are not possible then each mask pixel takes a byte. Then we gain "only" 50% compared to RGBA (not counting the palette data). Still, I've done some calculations with the new sprite sizings and we probably won't need more than 30megs (rough estimate) of vram for the game screen sprites. This quite sounds acceptable, doesn't it?
These are just some educated guesses so I reserve the right to be wrong. I don't feel like diving into the details.
What do you say about common, shared internet leaderboard and stuff?
The only problem is with validating sent-in results. It is impossible to make sure they aren't forged. But we can make it hard enough that an average script kiddie will find it not worth enough to exploit. I thought that maybe everybody who wanted to setup his own leaderboard server should distribute a binary which has some gpg keys hard coded. And the game could send a screenshot so the submissions could be checked "organoleptically".
Wonder, how does
World of Goo do it... Probably hardcoded keys. Or do you have a better solution?
Of course the code will be under GPL. But the source won't have the keys for specific servers. You want net competition... You use binaries provided by 3rd party.