Tile based _junk_

Honestly guys, I don’t think there’s any need to go wild optimizing a
basic tile-based engine. Today’s computers are awfully fast, and you
can rewrite every pixel a few times per frame without going below the
maximum possible framerate (this holds true pretty generally; systems
which support absurdly high resolutions are correspondingly faster). If
all you want is a metroid game, just make an efficient blitter with
little or no overwrite and as much linear memory access as possible,
repaint each frame, and you should have great performance; if you want
to optimize so you can use the extra performance to have a visually rich
game, most such optimizations schemes will be rendered useless by the
extra effects you add.

Think of fundamental improvements, not quirky hacks (unless you’re
really pushing the metal like Doom did; note: did, on a 386), and you’ll
make better games (if you think that tile-based games are “pushing the
metal,” there’s no hope for you, go back to writing databases).

Cheers,

Darrell Johnson

Darrell Johnson wrote:

Honestly guys, I don’t think there’s any need to go wild optimizing a
basic tile-based engine. Today’s computers are awfully fast, and you

I have to disagree with you about this. By going ‘wild optimizing’ a
tile based engine you increase the number of free CPU cycles for the
program to do other things. If that is beffer FX or better enemy unit
AI. Also you make the game less of a resource hog if it only needs 50%
the of the CPU time to run at full speed. Sure that eats up the cycles
elimiating your enhancement, but that is WHY you did the enhancement,
to allow for those additions. Not to mention that by super optimizing
the engine, you reduce the resources the games requires. If your game
needs a PII-450 w/256Meg of RAM to run, how many people do you think
are going to get a copy? Remember not everyone has a high end computer,
there are a lot of people with P-166’s (I’d say most home computers
are a P-166 or below) If you can optimize the same game so it runs
on a P-150 w/32Meg you will have a much larger audience pool. Writing
sloppy code that needs a huge amount of resources simply because your
computer has those resources leads to code bloat Witness Lotus Notes,
a 200 Meg e-mail program (yes it does more than e-mail, but that all 80%
of people use it for)

I apologize if I sound preachy, that isn’t my intent.

		-fjr-- 

Frank J. Ramsay - Software Engineer, Epsilon Data Management
fjr at epsilon.com
framsay at epsilon.com

Genetic Engineering: (noun) Proactive Evolution.

I agree with both parties, Tile engines are’nt exactly a big resource
hog, but they can get in the way of other code. Should’nt something
just be written and then be optimized as the code needs more cpu time
in other places (use the tile engine as is until fx or ai is slowing
the game down, then go clean it to avoid the lag. How far you get
until that point should be based on how well you wrote the engine in
the first place. At least that’s what I’m doing, so in no means am I
saying that it is right.

Frank Ramsay wrote:> Darrell Johnson wrote:

Honestly guys, I don’t think there’s any need to go wild optimizing a
basic tile-based engine. Today’s computers are awfully fast, and you

I have to disagree with you about this. By going ‘wild optimizing’ a
tile based engine you increase the number of free CPU cycles for the
program to do other things. If that is beffer FX or better enemy unit
AI. Also you make the game less of a resource hog if it only needs 50%
the of the CPU time to run at full speed. Sure that eats up the cycles
elimiating your enhancement, but that is WHY you did the enhancement,
to allow for those additions. Not to mention that by super optimizing
the engine, you reduce the resources the games requires. If your game
needs a PII-450 w/256Meg of RAM to run, how many people do you think
are going to get a copy? Remember not everyone has a high end computer,
there are a lot of people with P-166’s (I’d say most home computers
are a P-166 or below) If you can optimize the same game so it runs
on a P-150 w/32Meg you will have a much larger audience pool. Writing
sloppy code that needs a huge amount of resources simply because your
computer has those resources leads to code bloat Witness Lotus Notes,
a 200 Meg e-mail program (yes it does more than e-mail, but that all 80%
of people use it for)

I apologize if I sound preachy, that isn’t my intent.

  	-fjr


Frank J. Ramsay - Software Engineer, Epsilon Data Management
fjr at epsilon.com
framsay at epsilon.com

Genetic Engineering: (noun) Proactive Evolution.

I don’t think we’d be spending so much time talking about optimizing
tile-based engines if they ran at the framerate we wanted them to, Darrell.
I think you’ve been writing too many databases yourself.

-= aaron p. matthews

Darrell Johnson wrote:> Honestly guys, I don’t think there’s any need to go wild optimizing a

basic tile-based engine. Today’s computers are awfully fast, and you
can rewrite every pixel a few times per frame without going below the
maximum possible framerate (this holds true pretty generally; systems
which support absurdly high resolutions are correspondingly faster). If
all you want is a metroid game, just make an efficient blitter with
little or no overwrite and as much linear memory access as possible,
repaint each frame, and you should have great performance; if you want
to optimize so you can use the extra performance to have a visually rich
game, most such optimizations schemes will be rendered useless by the
extra effects you add.

Think of fundamental improvements, not quirky hacks (unless you’re
really pushing the metal like Doom did; note: did, on a 386), and you’ll
make better games (if you think that tile-based games are “pushing the
metal,” there’s no hope for you, go back to writing databases).

Cheers,

Darrell Johnson

rival games wrote:

I don’t think we’d be spending so much time talking about optimizing
tile-based engines if they ran at the framerate we wanted them to, Darrell.

Exactly.

I think you’ve been writing too many databases yourself.

The funny thing about that is I write databases for a living…
admitidly(sp?) massivly parallel ones that run on supercomputers, but still,
databases.

		-fjr--  

Frank J. Ramsay - Software Engineer, Epsilon Data Management
fjr at epsilon.com
framsay at epsilon.com

Genetic Engineering: (noun) Proactive Evolution.

Pointing out the obvious, but that’s what I’m good at. :slight_smile:

Right, and while this is the path that most authors will take, it also
depends on their development platform. Code that runs “acceptably
fast” on a P3 500 won’t on a P1 150.

Besides, if the project is the engine, why not optimize it before
starting on anything using it?

-KWOn 19 Aug, Phoenix Kokido wrote:

I agree with both parties, Tile engines are’nt exactly a big resource
hog, but they can get in the way of other code. Should’nt something
just be written and then be optimized as the code needs more cpu time
in other places (use the tile engine as is until fx or ai is slowing
the game down, then go clean it to avoid the lag. How far you get
until that point should be based on how well you wrote the engine in
the first place. At least that’s what I’m doing, so in no means am I
saying that it is right.