Path: chuka.playstation.co.uk!news From: gil@snsys.com (Gil Jaysmith) Newsgroups: scea.yaroze.freetalk Subject: Re: 2 megs too little? Date: Fri, 27 Jun 1997 10:38:17 GMT Organization: SN Systems Lines: 75 Message-ID: <5p0510$fv53@chuka.playstation.co.uk> References: <01bc6e41$e5bc8c40$6473d9ce@mannynaj> <3391af86.1616093@news.scea.sony.com> <3391518E.4538@ix.netcom.com> <33922490.12898697@news.scea.sony.com> <33926637.44F4@ix.netcom.com> Reply-To: gil@snsys.com NNTP-Posting-Host: gil.snsys.com X-Newsreader: Forte Free Agent 1.0.82 Spellweaver wrote: >Quoth Rajiv Patel wrote: > [ ... ] > > Fair enough. Still, there's LOTS left over, and we don't have to > > worry (can't worry) about MDEC code for FMV, or Redbook code or > > any of the like. I don't think we're facing any real restriction. > > > > Also, remember that there are libraries that you have to link in > > for full-blown PSX development too. I don't doubt that they're > > around the same size as the Yaroze libs. >True. I'm not disagreeing -- I haven't run into any memory shortage >yet (though admittedly most of my Yaroze time has been working on >Yaroze/PC tools, and not yet on Yaroze games). I do suspect, though, >that although the commercial libs are probably comparable in size, >they don't all have to be loaded (whereas we always have Yaroze I/O >drivers and such resident). Still, even if we do run out of memory, >we can still load code in sections (as most commercial games do, i.e., >when changing levels) -- either from a CD, or pipe it down the serial >line. I don't think that it will be a major problem, though I think >that sooner or later it will at least get in the way a bit. I'm getting stuff from this newsgroup very late... The professional devkit links in whichever of the libraries you need, as opposed to linking in references to hardcoded addresses, which is what the Net Yaroze appears to do (my, someone must've strained at the mental leash to come up with that idea: "let's disable the normal ld functionality and make it do something really weird"). Since the library functions are organised into object modules which implement usually a handful of functions ('one' is my idea of a nice handful), this means your code is usually as minimal as it can be, especially since by release time you've done all your debugging and can turn on that wonderful suite of options "-O3 -ffast-math -fomit-frame-pointer -G16" ... which makes all known debuggers go weak at the knees. Add to that the fact that most level-specific code and graphics are loaded into memory as overlays (library code is linked into the main code block, leaving just the specific animation routines and per-level gameplay code to go into each overlay) and you find that, indeed, writing a huge game becomes much easier. The notion of overlays fits ideally with the way most games are broken down into levels, and even games which appear to have large seamlessly-stitched-together maps are generally overlaying like mad without you noticing (much). The N64 does this too, except that it only has 8-12Mb of source material to overlay into a 4-ish Mb RAM space. Still, every time you see an FMV sequence on a N64, you've just lost out on some gameplay, which isn't something you can really say about the PSX. (And is presumably why N64 'FMV' sequences are often animated with the in-game engine.) (Incidentally, since it takes about six seconds to fill a PlayStation's memory from CD, you might wonder why some games take more than this time to load between levels. As a gamesplayer, let alone as a support technician and ex-games-programmer, believe me, so do I ;=) I haven't checked to see whether the Yaroze libraries are optimised or not - which would make them faster & smaller as opposed to easier to debug. Who knows, there could be a few K being saved there too. As for people questioning whether serious games can be done in 'only' 2Mb, these sound like the same kind of people who thought you couldn't do serious games in 32Kb until Elite and Exile came along. Does someone pay Pessimists Anonymous a monthly fee to issue statements like that?! Most games get designed without much reference to the platforms available, and it's up to platform-specific designers and implementers to pare down the features until they fit with the current state of the art. Don't think that the animation currently being implemented in games like Turok and Soul Edge couldn't have been designed ten years ago; it just would've run in wireframe. And not much quicker than two frames a day.