views:

211

answers:

3

i just noticed that this game (on psp) is roughly around 500MB on a disk image and i was wondering how capcom made it so. i mean there were around 300 variations of weapons for their sword types Greatswords and Longswords alone

plus there are other weapon classes (lance,bows,guns) as well that would make the list of weapons go longer...

also, there are i guess thousands of armors available too (which are different for male,female,melee and ranged respectively)

each piece of weapon and armor has different properties obviously

back when i was in college i had to make a mobile game written in Java using the JMT IDE and when i was running the game i noticed it was eating around 750,000+ KB of memory already (i'll try to verify this later at home)
though i was pretty confident at how i applied my object-oriented-ness for the program, its apparently so huge for a mobile game
(i actually needed to survey how much RAM is intalled on some modern fones just to check my game's compatability)

nevertheless comparing it to Monster Hunter which runs only on the psp's 64MB ram (taken from wikipedia, it only had 32MB before the psp2000) it makes me really think that i am still a newbie on game programming but looking at it positively it really inspires to me pursue a game programming hobby even when i am employed as a web dev right now

so my question is, if i should start again on learning game programming, as a head start
what should be the basics that i must recall for efficient coding styles etc..
where can i find resources on game programming that teaches code optimization concepts in a not so technical manner? (i mean most books that i read speak of too much math and numbers that i cant read them literally hehehe not so friendly for newbies i guess)

and for SO pros here who play monster hunter too, can you give me ideas on how some stuff in the game were programmed (we can skip on the AI part :D as that is another subject)?

thanks in advance ^_^

please change the question title if deemed inappropriate or vague etc..
i could not express it in a more detailed statement ^_^
A: 

750,000KB is something like 730MB, so I'm assuming your figures are just way off here. Are you sure it wasn't 750,000Kb (kilobits - this would make about 90 megabytes), which is a much more sensible figure (still pretty damn high though)?

TomFromThePool
I'm pretty sure he intended to write 750kB. Pherhaps he's from germany or some other country where the "," character has the meaning of a decimal point, so that 750,000 = 750.Btw. I was just about to point out that your answer should have been a comment instead, but then saw that you need 50 rep points to post comments. No idea what this limit is good for in this case.
Brian Schimmel
Yeah, I can only comment on my own answers - seems kind of a pointless limitation really. I knew it should have been a comment, but I felt like it was something he might need to re-check to be sure he's even having a problem.
TomFromThePool
okee i checked it at home and found out its 654,353Kb so yeah its around 80MB, still big though
lock
+3  A: 

Elite 2 on the Amiga was 1 disk in size (max 880kb) and had the whole universe in it. It was all done using 'procedural generated content'. So given a random seed, generate planets, populations, land masses, solar systems etc.

elite II

More current projects using similar techniques: link text

Toad
The original Elite on the BBC ran in under 32Kb of RAM. It wasn't random seeded, but just "translated" parts of the OS to map to galaxies etc.
Richy C.
+2  A: 

I'm currently developing a game using XNA and at some point I was using 800MB of RAM. I discovered that dynamically creating RenderTargets was a really bad idea so I allocated them statically at startup. I'm now using 100MB of RAM and I know I could use even less if I was loading/unloading assets when needed instead of loading everything at startup.

Capcom team cared about memory management because they knew they were limited to 64MB. When you give yourself objectives in terms of memory footprint or performance (ex. 60 FPS), you develop your architecture to achieve them. To optimize memory, there are a lot of tricks but I think they all have the same goal : only have in memory what you need right now and behind the scene, do loading/unloading without affecting your FPS.

Jodi