Ancient knowledge for free! (sort of)

Page 4/13
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9

By parallax

Expert (70)

parallax's picture

28-03-2006, 07:58

Maggoo:

1. Oh dear, I don't know if I remember by heart, but somewhere around 12.5/20 fps (for 60Hz). Size of the game area is erm (I now simply look this up on the Parallax pages): 240 x 136, it seems. (Checking gallery page 5, or the promo) Note that this is optimized for loads of (big) enemies onscreen. In general, the engine will drop special effects (water splashes, bubbles, bullet impact animations) when the load is very high, to keep the framerate constant.

2. Enemies. Storage-wise it's a table; some tricks are described in the CD diary: in particular, you can code them as if they had their own 'thread' (they have internal program counters and storage). Small bullets move by increments of 4 pixels (even within the 8x8 block framework), also explained in the diary. Although they still 'exist' when they are off the visible screen, many are disabled to save CPU power when they get to a certain distance and are not visible anymore. Notice they have explicit visibility checks, because of the multiple cameras you cannot simply take 'distance from the player' to indicate whether they can safely 'go into hibernation'. For this, it is of course essential that things like 'get distance', 'get map block info' are of course as fast as possible.

About AI, if you have limited CPU power, it is of course essential to make them seem smarter than they are. But in this case they will track you. If they cannot follow you, e.g. because an upward block is in the way, they scan the map upwards slowly: each frame they look a block higher. If there is only one block, they just progress (which makes them look as if they climb the stairs). If they find a number of blocks that is below their jump height, they attempt a jump. Because of the delay in scanning, it makes them look as if they hesitate or 'charge' longer before a big jump.
Similar things apply for gaps they encounter. They explicitly do not scan for thinks like mines because that would take the fun out of dropping mines Wink However, this is all chained to their level: each enemy has a 'level' of difficulty between 0 and 255. 0 means cannon fodder, 255 means it's going to kill you. The engine determines where you are in the game, and ranks the enemies accordingly: if you progress very fast through the game, it modifies the curve so that it gets harder. This means bad players should encounter easier enemies halfway during the game than good players. However, the first enemies are always easy, and the final enemies are always hard Smile

By parallax

Expert (70)

parallax's picture

28-03-2006, 09:33

Additional note: if it weren't for the sprites it would easily run on at something like 50Hz, but you compensate for the worst case (which occurs quite often) when you have a lot of software sprites onscreen.

By Latok

msx guru (3671)

Latok's picture

28-03-2006, 09:38

parallax, honestly, how on earth is it possible you are not motivated anymore to do game development. You are MAAAAAAADE for these kind of things......Admit it, it's ultimate coolness Tongue

In other words.....What hobby apparently creates even more fun than MSX?.....There must be something, obviously!

And don't say wife and children, please ^_^

By parallax

Expert (70)

parallax's picture

28-03-2006, 11:55

As said, I really enjoyed it, but there are so many more challenges. But currently I'm doing actual research (www.win.tue.nl/~ccremers/), which is also great fun.

After my MSX period I actually started on a Flash 5 version of Blade Lords, but I never completed it. It's still around somewhere I guess.

By wolf_

Ambassador_ (9767)

wolf_'s picture

28-03-2006, 12:02

Could you be persuaded to pixel/draw a game, rather than coding it? (drawing takes less time, one can do little chunks in lost half hours orso)

( yes, all these MSX'ers will never learn or read Tongue )

By parallax

Expert (70)

parallax's picture

28-03-2006, 12:37

wolf_: no. Understatement of the year: I am not bored at the moment.

By wolf_

Ambassador_ (9767)

wolf_'s picture

28-03-2006, 13:08

*sigh* ok .. at least we tried all options Tongue

Ok, more serious question then about gfx, that is, it's about Magnar gfx, assumingly you drawed them.

What can you tell about the formation of standard palettes? You know, palettes that can be used for quite alot of things without palette-splits or just screen-related optimzied palettes. In the grey level I noticed 4 shades from darkred->yellow and 3 blue shades. And furthermore a whopping 6 grey shades. Esp. these grey shades, or more precice: '6 shades of whatever' is kinda a luxury if your palette has only 16 colors. E.G. SD-Snatcher has 3 greys, 3 blues and a handful of other colors (not even all 16 colors are used most of the time!). How/when/why do you decide to use 6 greys? How do you decide which colors are for the map, and which are standard/fixed for enemies? Do you -at forehand- limit yourself to only 2 fixed colorshades for all enemies (red/orange/yellow and the blues) and one level-shade which you can use for enemies as well (the grey stuff), so that there're a lot of colors left for the level, or did you first draw red/yellow, blue and grey enemies and figured you could use the rest for the level, and HEY, a smooth grey gradient can be made!?

That's a sentence which is too long .. Tongue

In short, what's the situation:
- first the definition of the palette, without any idea of enemies/level
- first draw enemies/level and then find out you have a major unintended grey gradient
- something else

Would you have generic gfx-tips for designers?

By ro

Guardian (4109)

ro's picture

28-03-2006, 13:55

Hai Cas, how ye're doing. Nice to see you around here.

just wanted to say hai.
Roman.

By parallax

Expert (70)

parallax's picture

28-03-2006, 13:57

Palette design starts with those things that you have to share throughout the entire game. If this is only the player, then you only have a few colours to worry about and use the rest throughout levels as you like. This changes significantly in most cases because:
- You have a statusbar onscreen that uses colours (if you don't have a screensplit)
- You want to show items or effects onscreen (explosions, weapons, powerups etc) that are also shared between levels.

So basically you decide which part of the palette will be global: i.e. reserved for players, guns, bullets, and whether there will be varying local colours for each level/world. These local colours are then not used for players, weapons etc.

In practice, you then need as global colours: black/white/red/yellow: borders, text, explosions. That's already 4 colours gone for any game (that involves explosions and text Wink ). Now you design a main character and powerups; I gues you need at least some blues and/or greys for this.

Within a level, you then decide on the local colours. There is usually no distinction between backgrounds and (level) enemies in terms of colour usage; they can just use all colours. Of course this is different when enemies appear in multiple levels, then you restrict them to the global palette.

With e.g. Magnar, the main stuff is done with the orange and blue hues. Then, for some level, you can indulge in six greys for smoother fades, if you want, and use them for the local enemies as well.

Generic tips? Hmm.

Well, choosing the palette well is indeed a challenging question. Always look at the professionals here, I would say, but e.g. Konami uses wildly different palettes throughout their games. This also depends on the mood of the game.

But in general, careful planning pays of later. Not only with the palette, but also for assigning how much memory (RAM or VRAM) is allocated for enemies and levels, what sort of stuff you certainly want in there.

By parallax

Expert (70)

parallax's picture

28-03-2006, 13:58

Hi Roman *master of wasting screen space* Smile

Page 4/13
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9