themage, on Jul 1 2005, 05:33 AM, said:
I would just like to go on the record saying that though I was once interested in darwinia, my enthusiasm was hampered by performance problems said to be fixed in an upcoming patch "soon." This was 3 months ago. I love ambrosia, but I must say that after 3 months of waiting for a patch, I have lost virtually all interest in Darwinia. I really hope that Ambrosia will facilitate speedier releases of important patches for their games in the future, because I remember a day when ambrosia staff members would eat real bugs for each bug found in their products. Perhaps if they started doing that again they could be reminded of how much it sucks to download buggy software 
View Post
To be honest (and to repeat a lot of what has been said here and in other topics) I doubt very much that most of the problem is Ambrosias fault per se. After all, it's not their codebase so they may not be that familiar with much of it that did not need porting. Besides, C(++) is such a low level language that large portions of the game may well be written in a highly x86 optimised way.
Darwinia isn't really that novel a concept. It's WarCraft III without the large numbers of upgrades, units, music, enemies, texture shading, serious enemy AI, terrain diversity and sadly, framerate 
But that doesn't stop it being a cute little game (I loved the spectrum tape loading rip-off - I remember when that was the norm!). If you want all the above, you can always investigate WC3 (and play on 'hard' mode) - true the 3D looks a little dated now - something which Darwinia neatly avoids by deliberately looking 'retro'.
Having played with the abysmal framerates on 10.4.1 as far as biosphere, I've given up for now until such time as a patch does come out or I forget to come back.
I'm pretty sure that (contrary to some other posts) the game does attempt some level of polygon culling. Checking whether vertices are within a field of view is pretty much lesson one in any 3d computer graphics class, and I would be amazed if the game did not do this. In fact, some evidence that it does can be seen (for people who have cleared it) on the 'containment' level. Use F5 to show framerates and then compare looking towards the tree in the middle with gazing into nowhere at the edge (looking away from the map). For me (1.25Ghz G4 powerbook, 1.25Gb ram and 64Mb Vram), that makes a difference between circa 12fps (tree) to ~35 fps (away). Something is happening there.
So yes, there are probably AI bugs - someone maybe turned a couple of algorithms which should have been of order O1 or On to be n-squared or n-cubed. Bad someone, no biscuit - but these things happen.
My guess is that most of the problems will stem from bad Apple implementations of either GL aspects or other stuff. Sadly Apple's coding standards seems to be slipping (if 10.4.0-1 is anything to go by - the number of outright ludicrous bugs that have crept in since panther is shocking). True, the underpinnings may be (getting) better, but basic credibility bugs like asking for my password after sleep, and then immediately asking for it again (or even going to sleep!) shake my confidence a lot. OpenGL itself has always run like a dog on MacOS. Perhaps this is because it is done 'better' i.e. there is a cleaner break with the low-level system than (say) on Windows - but then, why can GL programs lock up my display, Apple? Also, the system gcc 4.0 compiler is fairly broken, and seg-faults when compiling code that 3.3 (and even 3.4.4) handled fine.
Sometimes finding these problems and working around or fixing them just takes... as long as it takes. You cannot put a time on them - that's one of the sad things about software programming and why so many projects run over-time/budget.
So don't nail ambrosia too hard for this. Yes, they ought not to be selling Darwinia at all given how obvious it is that the game is un-playable. I would bet most of the engineers at ASW are horrified that it was allowed out of the door in the first place. However, once companies get to be a certain size, engineers no longer have any say in the matter. It's the marketing/sales departments that promise things (with or without engineering time estimates) and then contracts have to be fulfilled whether software is 'ready' or not. Everyone learns, and I would guess ambrosia will allow engineers to look more carefully at the codebase of future conversions before signing their life away to do a port...
And marketing will learn to (1) ask engineering project managers how long things will take before committing and (2) double the answer. Equally project managers when answering marketing's questions should be (1) asking their engineering teams how long things will take and (2) doubling the answer.
Engineers are not liars. Patches will come - it's just that for any given bug, (especially in code you haven't written yourself) you never know whether fixing it is a five minute job, or five weeks. Even when you've fixed it, you don't know that the buggy behaviour wasn't being expected by other parts of the program (which will now need fixing) and/or even obscuring other bugs.
My thought for the day 
(and edited for some of the more obvious typos)
This post has been edited by Crono : 02 July 2005 - 01:36 AM