Category: Programs📈

  • 1996 Tracks game 🚘

    1996 Tracks game 🚘

    ⏱️Overview

    This was my first 2 player car driving game. Well a car being here a 6×3 pixels solid color rectangle.
    Done in that great 320×200 mode, with a static view of whole track on screen. I wrote it in Turbo Pascal 7.0 in 1996.

    It was also very successful, I played it at the time with my elementary school colleges (even few visited).

    💡Implementation

    It had very basic 1 tone PC speaker sounds. And all moving graphics were blinking badly (no V-sync). I think I didn’t know how to change palette R,G,B colors yet, so it only had default 256 palette colors. But it did feature some pixel effects like leaving tire traces and palette rotation for water animation (and teleporters).

    The later tracks were at night. A cool idea that wasn’t really that great due to that blinking. Cars had lamps (a triangle) that lit (changed colors) in front of them. One track was a total labyrinth in night and one even had a lighthouse with rotating light.

    📊Features

    It had 52 tracks, in just one scenery. But they featured plenty of attractions:

    • Car damage
      It was simply decreasing car top speed. After some damage taken, a spanner icon (for your car only) would appear in a random place. If picked it would repair damage.
    • Bridges
      Actually not easy to implement in a 2D game. I implemented them with special colors, reserved for detection and making car shift level (go dark under bridge) on bridge edges.
    • Jumps
      Those gray to white areas, making cars jump (become uncontrollable) and land after some time, depending on car speed when entering.
    • Areas with:
      • Water – Simply but nicely animating and making a splash sound when entering, slowing car.
      • Mud – Slowing cars down a lot.
      • Grease – Vigorously turning car in random directions (each frame), quite funny and with sound too.
      • Ice – Car wasn’t controllable on entering and was spinning in circle until it left ice.
    • Teleporters
      Those pink-magenta blinking pixels. There could be pairs of them on track. When entered it would instantly place car in other place. They made some pretty funny and odd looking tracks possible. E.g. the track with 6 circles, you basically didn’t know where you’ll land.
    • Moving barricades
      Closing and opening in a place on track requiring to be quick to pass or blocking road and making you wait until it opens again.
    • Rubber road borders
      In red-pink color. I think the idea was to make some places not damage your car.

    🔍Details

    Since nearly all roads had borders, that was the main difficulty to slow down or quickly steer to not hit borders and take damage. Hitting a border stopped cars immediately in place (bad but easy to implement). This required cars to be steerable even without moving and around the edge not center.
    I was detecting collisions (and areas) by reading a pixel from image. Hitting other car was possible and funny (it gained speed).

  • 1993-96 Oldest projects

    1993-96 Oldest projects

    ⏱️Overview

    Here is a collection of my oldest programs and games. Spanning from about 1993 to 1996.
    I did them in Turbo Pascal 7.0 in elementary school.
    Simple graphical demo programs and games limited by 1990s hardware.

    📜Old

    Left column has screens from the earliest programs in EGA 640×350, 16 colors.
    They had also only PC speaker sounds. Except music score? player (with editor) which I made later.
    Like most of my early drawing on screen, everything was blinking awfully, not having V-Sync.

    The Military and Sea animations (left bottom) were the biggest of my programs at the time (435 and 223 lines). But not complicated at all, only using for loops and few procedures for shortcuts.

    💡New

    Middle and right has screens from VGA 320×200, 256 colors, the favorite mode 13h. Which I learned from a new book.
    Later I also was using 10 or 22 kHz, 8bit sounds (another book). I gathered and extracted them from wherever I could (i.e. other games, programs). Some sounds I recorded on my analog microphone.

    There was a cool program for editing and playing animations on 8×8 matrix of LEDs, saving and loading them in files.

    I created my first music tracker (way before SXIV). It could only play 1 pattern and there weren’t even real notes, just all letters from alphabet changing frequency improperly. It had 4 channels with oscilloscope view and was fun.

    🕹️Games

    I made many small games at the time. Most were for 2 players on keyboard.

    • Space games (3 on top right).
      Top view, 2D, having cyclic borders, i.e. when you fly over bottom, you appear on top, same for left and right.
      Those were pretty funny games. Only Mars shooter was funnier, newer and same style.
      The fist one though was too complicated as there were only 8 directions of movement and too many weird weapons, all having own keys to use.
      The later 2 were cool and just used 4 keys to move and 2 to shoot with some ammunition buffer that slowly auto refilled.
    • Frogs game
      Front (side) view, 2D, with gravity.
      Using just integer values multiplied by 1024 for more precision (so fixed point).
      Game’s idea came from my colleague. Flies appear over time and move randomly. You control a frog, jump and stick out a short tongue to catch them, until time ends. The longer you press the higher you jump, this was bit tricky to code back then. Tongue goes fast and back slower, then has some idle time.
      The second version was already great, it had up to 2000 particles from splashes and 3 types of flies.
      Ah and those pink particles were puke ?, happening when frog got a wet fly, falling slowly after being splashed. It was a lot of fun and laughing. Even more so with dying flies having sounds from e.g. Dune 2 dying troopers or Cannon Fodder ?.
      Then I already was using assembler for double buffered drawing and V-Sync. It was nice and smooth.
    • 2 Planes
      Game featured 2D map of a big size (max. what 640kB allowed, I think 750×750). Scenery was created with simple drawing code for grass, trees, water etc.
      It had 2 views, 1 for each player. Map was moving, the plane was always in center.
      It was quite simple, had keys to turn, faster, slower and shoot. Weapon heated up so it had to cool down to again shoot faster. Planes were leaving smoke pixels with more damage.
      In the middle there was a green (rectangle) radar with fading dots where the planes are.
      Ah and lastly you could blow up few buildings on ground just for fun.

    ⏳Next

    What came next were bigger games (just more content), but in the same VGA mode. Sadly I stick to it for too long, not having either fast code (DOS4GW was out of reach) or hardware. I didn’t move to bigger resolutions until I left DOS.