Snowflake's Feed

Snowflake
09-28-2020 at 07:26 PM
5 Comments
Rate this Entry

gangster alley questions and summary

so only games easier to max so far i'd say was spider fighter and laser blast. maybe some individual levels on street racer and air sea raid


anywho due to so few attemps it results in not exploring as much as usual my questions for others that may know
1. what deterimine when a level ends? with ammo being limited there have been plenty of times i thought the level was gonna be a bit longer, a few times even its ridiculous short. i realize it has to have something to do with number of criminals shot, but the needed number seems to even late game jump between 7 and 20
2. strictly curiousity, 100k is a weird max out choice. is that number common for the company?

my take aways
The game is weird in that its easy but requires near perfect, and i like to say if someone asks you 1+1 a thousand times in a row you'll eventually get it wrong. so yes, an easy thing that has no leeway can be hard. i've learned theres real semantics and important distinguishments in types of easy/hard. this is definitely one of those "hard, but actually easy, and only hard cause you can never mess up while accomplishing the easy goal"
I dont feel the game that was fun ,but not awful. games i never played back in the day im probably too criticial on as i see them with 2020 eyes, and not the early 80s eyes that i still see the games i remember from back then with.

ThanksJJT_Defender thanked this post
LikesGarrett Holland, JJT_Defender liked this post
Comments
  1. Garrett Holland's Avatar

    Ive never played this game, but from a programming perspective, I can offer the following regarding maxouts - There are multiple ways programmers store the score in RAM:

    1. Three-byte true decimal (24 bit) "12 34 56" = 123,456 (most common - theoretical max = 999,999)

    2. Two-byte (16-bit) hex, most-significant-byte-first "A1 23" = 9,121 (theoretical max = 65,535)

    3. 5 or 6 byte decimal "01 02 03 04 05 06" = 123,456, with any byte value 0A or greater being invalid. I bet this one (and Gorf, Carnival, Mr. Do, for the 2600, etc.) fall under this category, using only 5 bytes to store the digits. Games like Zaxxon and DK for the CV might use this, or, due to all score opportunities are in increments of 100, it could be an 11-bit number (1,024 max) with 2 trailing zeros, just to save RAM.

    4. Relative sprite and position "09 12 1B 24 2D 36" = 123,456

    5. 15-bit binary with a first-digit augment and trailing zeros (like Smurf for the Colecovision) "7F FF" * 100 = 32,767 * 100 = 3,276,700 + 1 million = 4,276,700

    These are just 5 of at least a dozen different methods Ive seen used, most of which can manifest in bizarre maxout/rollover scores.

    LikesGregDeg liked this post
    Updated 09-28-2020 at 08:14 PM by Garrett Holland
  2. Snowflake's Avatar

    i assume when you say "true decimal" you mean bcd? i didnt realize that was common, i thought that was just something they taught us to feel fancy

    case 3 is interesting, why would someone do that? asci related?

    case 4 i dont follow at all please elaborate
    __________________________________________________ ____________________

    while you're answer was very interesting and as you see i have follow ups thats more the "how" than the "why". i understand the two can be connected, since the "why" is sometimes based on the "how" in that you have to limit yourself ot whats possible. i suppose 5 digits are easier than 6. but thats kind of arbitrary. i think dolphins maxout, that made sense, they were trying ot make a maxout you couldnt guess, weed out some cheaters. this feels more though like how qbert arcade rolls 100 million. not 1 million as is super common, not 1 billion as i would expect next. not 10 billion (one more digit) but the odd choice of 10 million. i'm guessing theres some non technical preference reason, ideal curioisty, but hear i am

    LikesGarrett Holland liked this post
  3. GregDeg's Avatar

    The end of each level is determined by the number of gangsters successfully shot. The chart shows the number needed to finish each level. The blue represents the level that goes dark. The game repeats levels 1 thru 6.

    I know of two games from Spectravision that have an ending. Tapeworm stops at 9,999. The max out for Mangia is 9,999 but continues to play afterwards. Master Builder does not max out after 99,999.

    ThanksSnowflake thanked this post
    LikesGarrett Holland liked this post
  4. Barthax's Avatar

    Just on the Binary Coded Decimal (BCD) - some chips have BCD built into the instruction set & the Atari 2600's basic maths instructions include BCD support. :)

    ThanksSnowflake thanked this post
    LikesGarrett Holland liked this post
  5. Garrett Holland's Avatar

    Quote Originally Posted by Snowflake

    i assume when you say "true decimal" you mean bcd? i didnt realize that was common, i thought that was just something they taught us to feel fancy

    case 3 is interesting, why would someone do that? asci related?

    case 4 i dont follow at all please elaborate
    __________________________________________________ ____________________

    while you're answer was very interesting and as you see i have follow ups thats more the "how" than the "why". i understand the two can be connected, since the "why" is sometimes based on the "how" in that you have to limit yourself ot whats possible. i suppose 5 digits are easier than 6. but thats kind of arbitrary. i think dolphins maxout, that made sense, they were trying ot make a maxout you couldnt guess, weed out some cheaters. this feels more though like how qbert arcade rolls 100 million. not 1 million as is super common, not 1 billion as i would expect next. not 10 billion (one more digit) but the odd choice of 10 million. i'm guessing theres some non technical preference reason, ideal curioisty, but hear i am

    True decimal = BCD, with each byte representing two 4-bit values. As to the why, I can only speculate with specific regard to 70s and early 80s console systems, but Barthax's answer makes sense.

    https://automationprimer.com/2016/05/15/why-bcd/

    Case 3 is likely used because of the way the routine to draw sprites is called. Probably some sort of coding efficiency factors involved. Again, mere speculation until I can master 6502 assembly.

    Case 4 is most certainly because of the way sprite drawing routines are called. For example: Imagine Enduro's rolling odometer. A value of "00" will show the "0" sprite. "01" will draw the last 7 lines of the "0" sprite, a blank line, and then the first line of the "1" sprite. "02" draws the last 6 lines of the "0", a blank line, and the first 2 lines of the "1" sprite, and so on and so forth until "09" which draws the entire "1" sprite. This technique allows the programmer to still increment the byte value by just 1 (which is way easier than incrementing by something other than 1) *and* have an animated, digit-scrolling scoreboard. Ive only seen this used in a few games.

    Based on everything Ive read from programmers, nearly *always* did their structures involve coding efficiency, creatively looking to save bits of data wherever and whenever possible.

    I could be 100% wrong, as this is mere speculation based on observations only.

    LikesSnowflake liked this post
Join us