Changes

Jump to: navigation, search

Renegade

1,307 bytes added, 08:52, 18 February 2019
'''''Renegade''''' is a 1987 game programmed published by Imagine. It was written by [[John Brandwood]] with graphics by [[Mark K Jones]].It is one of the same programmer as best CPC games. John also wrote [[Gryzor]] which is another top CPC game
== Pictures ==
|[[Image:RenegadeLevel3.png|left|thumb|200px|Renegade Level 3]]
|[[Image:RenegadeLevel4.png|left|thumb|200px|Renegade Level 4]]
|[[Image:Renegade_walk_anim.png|left|thumb|200px|Renegade Main Character Walk Animation frames]]
|[[Image:Renegade_walk_anim_areas.png|left|thumb|200px|Renegade Main Character Walk Animation frames coloured by sprite part draw order]]
|[[Image:Renegade_punch_anim.png|left|thumb|200px|Renegade Main Character Punch Animation frames]]
|[[Image:Renegade_punch_anim_areas.png|left|thumb|200px|Renegade Main Character Punch Animation frames coloured by sprite part draw order]]
<br style="clear:both;"/>
|}
* With 64KB one level at a time is loaded. With 128KB all 4 levels are loaded.
* The game doesn't use hardware scrolling and uses a reduced screen and heavily uses the invisible areas of both screens to store code and data.
 
=== Characters and Enemies ===
 
* Characters and Enemies are stored as multiple sprite parts and are composed during drawing. Each part has a width, height, and signed x and y offset relative to the character's base x,y position. The base x,y position's origin is at the bottom of the frame and in the middle on the x axis. There is no clear separation between heads, bodies and legs. Some character frames are made of 4 or more parts. This can be seen in the walk and punch animation frames.
 
* Characters and Enemies are sorted by their base y position each frame so that the draw correctly when walking in front of each other and to give a 3d look.
=== Sprites ===
* Sprites Sprite pixels are stored upside down in memory. Therefore left to right, bottom to top.* Sprites Sprite pixels are stored as mode 0 with pen 0 as transparent.* Sprites Sprite pixels are stored facing right only and flipped by code in realtime (e.g. the facing left sprite is a mirror of the facing right sprite.).* Characters Sprite pixels are stored as multiple sprite parts and are composed during drawing. Each part has a signed x and y offset relative to the base x,y position of the feet on screen and a width and height. Therefore heads, bodies and legs are separate. This allows re-use for all characters and enemies.* Sprite pixel data is stored as follows:
1 byte like normal (same as mode 0 screen bytes), followed by 1 byte with pixels swapped, this repeats.
It is believed this storage is done so that drawing a sprite facing left, and drawing a sprite facing right will take the same cpu time and so that the this means a more stable frame rate regardless of the direction each sprite is more consistentfacing.
* Characters are sorted by their y position each frameThere is a list of sprites per level. They The start address of this is stored at &e00 from the start of the level data. This takes the form of width, height and pixel data location. With 128KB there is 1 extra ram page per level for level specific sprites. Sprites common to each level are then draw stored in increasing y coordinate ordermain RAM. There are around 223 sprites (including common sprites). During the game the level page is mapped into RAM at &4000.
=== Levels ===
* Each level has it's own music.
 
* Each level takes &1000 bytes. There are 4 stored in 1 16KB page. The data is copied to &3000->&3fff before then being copied to other locations in RAM.
* Each level's data is prefixed with "JCB Overlay xxxx" where x is the level number. e.g. "JCB Overlay 0000".
* 2048 bytes for tile graphics. These are defined per-level. These are stored at +&1e0 from the level data. They are copied from &31e0 in 4 parts. There are 128 possible tiles. Runtime ranges: &e600-&e800, &ee00-&f000, &f600-&f800, &fe00-&ffff.
* Tile graphics are 4 pixels wide and 8 pixels tall. Each tile's graphics uses 16 bytes. Tiles are stored uncompressed, left-right and top to bottom.
 
=== Sprites ===
* Sprites for all levels are loaded at once and use ~13KB. They are located at &4a80-&7fff in main ram.
== Video ==
2,541
edits