Memory, Then and Now

In the end, it doesn’t matter to me, so long as I get to see you guys all duke it out for whoever can program the best game using such minimal resources :smiley:

And this is when a change of britches will be required.

“Britches (monkey), a baby monkey removed from a laboratory by the Animal Liberation Front”

What? D:

lol, it’s a variant of “breeches”, spelled like it’s pronounced, at least where I’m from (California).

Other definition, friend! :3

Memory is important and I think because programmers have such an abundance of it, we are wasting it. If you look back to gaming, games did not need loading screens and load times were nil. As time progressed, we got more memory and instead of making games more efficient with the technology, we just made everything a lot more bulky. We have to sit down and wait for almost everything we do now. I think about 30% of our time in front of the screen now is wasted on waiting for applications to start or switch phases.

People usually think of games in terms of content, instead of how this content affects user experience. More content = the better. More graphics = the better. However, when you finally sit down to play the game, most of the time is wasted on waiting for the content resources and sparkly graphics to load up. User experience suffers, but I fit over 1000 different options for my game with graphics that outshine Halo. This type of thinking is what has led gaming down a sinkhole.

Limits are good, because it forces you to think about what is important when you are designing. In most cases, it makes sure that people have to focus on the game play more than any other aspect. To be honest, working on game play is the #1 thing that will make a game last a long time. All great games have 1 thing in common, they draw you back in to keep playing. What creates that draw? The game play. Everything else is just fluff and pizzazz, to draw users into looking at it.

I don’t want to move too far off-topic though, but memory is very important even in a environment where it is abundant. The best programs are going to be the ones “who are effective at getting one thing done really well.” It doesn’t matter if it is a game or application, or what time it is written. The computer world does not differ from the real-world. We still should actively try to manage our resources and reduce waste to form a better community.

Agreed! Well said. :]

I believe big titles on the 360 still have to worry about RAM, since they only have 512 mb. I believe to have read that they had to make a more narrow field of view on one of those shooting games, but that has to be a GPU problem with too many polygons. I’m not sure. A limitation nonetheless.

True, 512m can be quite a small amount by today’s standards. Consoles are still quite limited, unfortunately, and I think they always will be in relation to computers simply because of the model they’re based on. I’m sure a lot of ingenious programming does still take place in the console field because of how tough they are to program well for in comparison to computers, which have such wonderful tools and resources available to make it relatively easier.

Well on the other hand, developers for the 360 only has to worry if it’ll run on that one machine. We (PC people) have to worry that it’ll run on all kinds of hardware. Both can be painful. For PC’s we can of course just say “Meh, we don’t want our game on silly specs”, but then you’re limiting the market.

I’m looking forward to the Ouya though, if that ever happens.

I saw that and thought it was very interesting, though one of my friends was worried that the creator would be sued by Microsoft for their controller design, since it was too similar to the Xbox’s controller. It’s a nice step for independent game development, though, so I hope it comes through and that it doesn’t have too many setbacks from entities like Microsoft or the like.

About that amazing talk philfrey mentioned, here it is. I enjoyed it very much.

Try PS3 or Wii. Even less RAM. Play Uncharted 2 or 3. On consoles memory is still important, imho. I worry about it too. And I think a lot of libGDX users too.

[quote]Memory is important and I think because programmers have such an abundance of it, we are wasting it. If you look back to gaming, games did not need loading screens and load times were nil. As time progressed, we got more memory and instead of making games more efficient with the technology, we just made everything a lot more bulky. We have to sit down and wait for almost everything we do now. I think about 30% of our time in front of the screen now is wasted on waiting for applications to start or switch phases.
[/quote]
It takes time to load textures/sounds etc o.o Of course this allocates more memory but as you can see on console there is a limit to it. Most texture seem blurry on console and clear on PC :slight_smile: So technology moves on and better graphics/sounds mostly need more memory -> loading time. I guess at least…

It takes time to load textures/sounds etc o.o Of course this allocates more memory but as you can see on console there is a limit to it. Most texture seem blurry on console and clear on PC :slight_smile: So technology moves on and better graphics/sounds mostly need more memory -> loading time. I guess at least…
[/quote]
Indeed, they do a pretty sweet job. From what I’ve heard, assembly is still used quite a bit in the console industry to squeak out some extra juice.

As an aside, do you guys think it would be worth my time to read Michael Abrash’s Black Book of Graphics Programming? I have myself a copy and it looks interesting, but most of the material looks dated. I have kind of a thing for old-school graphics and game programming and stuff, but I’m more concerned about whether it will teach me a lot about things I can apply to today’s game programming world :stuck_out_tongue:

EDIT: I also have a bunch of Andre LaMothe’s old game programming books I plan on getting into ;D DOS emulator, here I come!

EDIT 2: I took a look at just the first chapter of Abrash’s book… and it came straight back to something I was taught about the other day on these forums about serialization…

Colton

Colton - you made me blush. Take my advice with a grain of salt, because I burned out royally, and left programming for an awful long time. I only discovered Java, and that programming could be fun again, a couple years ago, and there is a LOT about modern programming that I know little about.

Also, computers were a lot simpler then. Windows did not exist. The Web did not exist. Color and graphics, also much, much simpler. Thus, less cleverness was needed than now.

Still, it is generally good to be curious and to check things out. So if your intuition is saying “go take a look,” it is probably worth doing so and finding out for yourself.

I think that programming then and now are completely different paradigms, to be honest. Java’s great, but I think it’s lost some (not all!) of what it meant to program at times like then, where programmers were much closer to the hardware. Java’s abstraction, however, also allows wonderful things to happen thanks to all the work that has gone into putting layers over the difficult aspect of coding low-level. I don’t think most of what we accomplish today can be done with raw assembly coding, which is why I look at the two paradigms as meritable in their own ways; surely learning more low-level coding is essential to being a fantastic high-level programmer, and I’m already learning some interesting stuff from Abrash’s book; in fact, he was the co-creator of Quake, having been a developer at id, and id was the company that Jon Blow (the guy who gave the aforementioned talk) referred to when he was talking about criticizing code as a college student. It’s sort of crazy how all of this stuff sort of ties together! :smiley:

I really love programming and learning about all of this stuff, so I’ll probably end up pursuing assembly language with C soon and programming on emulators and using the Gameboy SDK and whatnot just to get some experience with it, because it sounds like a very challenging but knowledgeably rewarding endeavor. I think there’s a lot about programming that we all don’t know, so I figure a wise path might be to start more at the true fundamentals of it all ;D Plus, there really is nothing quite as intriguing as firing up DOS and programming like it’s 1990 XD

Colton

[quote]I really love programming and learning about all of this stuff, so I’ll probably end up pursuing assembly language with C soon and programming on emulators and using the Gameboy SDK and whatnot just to get some experience with it, because it sounds like a very challenging but knowledgeably rewarding endeavor. I think there’s a lot about programming that we all don’t know, so I figure a wise path
[/quote]
Man indeed it did this and im still doing this. I ended up with a gb emulator and it was hell a lot of fun to write it and analyzing old games’ assembly code and seeing it run on your pc.
shamelessplug: https://www.youtube.com/watch?v=9cgi8xuulKg

[quote=“coltonoscopy,post:1,topic:39499”]
I think this is really a misconception, that “lazyness” is the main reason. Complexity is a more important factor I think: with a small amount of memory there’s simply less code that fits in, which means less lines of code to optimize = easier optimization. Also, ofcourse, lower resolution graphics and ugly sounds aren’t really what I would call “potential”, but which is a more important factor than the size of the code base in using less memory. Finally, memory usage “potential” is severely limited by the time it takes a processor to use all this memory.

Also limited majorly by GPU, at least for most 3D games.