Browse Source

updating READMEs to be fancier

pixelbath 8 months ago
parent
commit
2373a0827f

+ 5 - 0
1bit/README.md

@@ -0,0 +1,5 @@
+# 1-bit
+Side-scrolling shmup for the 1-bit Game Jam. The idea is a horizontal Ikaruga-style game, but never got past some basic sprites.
+
+## Media
+![wip-01](shmup.png)

BIN
1bit/wip-01.png


+ 10 - 10
README.md

@@ -1,18 +1,18 @@
 # tic80-stuff
 
 ## Projects
-Only projects with readme files are linked here.
+Many of these are loose collections of mockups. It's become apparent over time that one of my hobbies is making game mockups.
 
-* A Breath Away (again)
-* Blockbattle
-* Cylshooter
-* Codename: Dark
-* Einhander demake
-* Megamang
-* Miniblast
-* [Shmup that's not Gradius at all](shmup/README.md)
+* [A Breath Away (again)](aba/)
+* [Blockbattle](blockbattle/)
+* [Cylshooter](cylshooter)
+* [Codename: Dark](dark/)
+* [Einhänder demake](einhander/)
+* [Megamang](megamang/)
+* [Miniblast](miniblast/)
+* [Shmup that's not Gradius at all](shmup/)
 * Tinyablo, or Untitled Isometric Bullshit
-* [Xenophobe demake](xeno/README.md)
+* [Xenophobe demake](xeno/)
 
 ## Awesome snippets
 Collected snippets that do neat things.

+ 141 - 0
aba/README.md

@@ -0,0 +1,141 @@
+# A Breath Away
+
+## Overview
+The title comes from the dystopian existence of the "in-present" character in a cyberpunk dystopia. (S)he finds a portable game console (think: GBC) that contains one game: A Breath Away. It's both the title of the in-game handheld, and the idea that this game is the only respite the player's character could get.
+
+## Features
+* Random worldgen - want ABA world to feel big
+    * Pre-built areas/interactions for crapsack world
+* No husbandry - sorry, no horses/chickens/cattle/single cat
+* Can grow plants from seeds
+* Can harvest plants, get food/seeds
+* Can kill/cook wild animals - this is a harsh reality in-game-game too
+* Can kill/cook monsters - maybe with a random % of adverse effect?
+
+## Resources
+* Wood
+* Plant fiber
+    * is tough
+* Sap
+    * is sticky
+    * is flammable
+* Seeds
+    * can attract birds
+    * can grow shit
+
+## Craft Items
+* Metal (ingot?)
+    * Metal Ore
+* Axe
+    * Wood
+    * Metal
+* Hoe
+    * Wood
+    * Metal
+* Workbench
+    * Wood
+* Furnace
+* Sword
+    * Leather
+    * Metal
+* Bow
+    * Wood
+    * ???
+* Rope?
+    * Plant fiber
+* Shield
+    * Leather
+    * Metal
+
+## Entities
+Pile of wood
+Metal ingot
+Player
+Bunny
+Wolf
+Chicken
+
+
+## Tile types
+All ground tile types have a (very small) chance of containing a randomly chosen [thing (treasure/curse?)] when naturally occurring. Said "thing" is exposed when tilling the dirt or cutting the grass.
+
+* Dirt - base type
+* Tilled dirt - tilling exposes the potential item
+* Tilled watered dirt
+* Tilled, seed planted
+* Tilled, sprout
+* Tilled, mid-size
+* Tilled, full-size
+* Grass - Smooth (mowed)
+* Grass - Rough (wild)
+* Tree
+* Rock
+* Ore
+* Wood log
+* Wood plank?
+* Stone
+
+## ABA Player
+Health - starts at 3 hearts (6 health)
+FoodLevel - max of 20
+FoodSaturation - max of FoodLevel, starts at FoodLevel
+FoodTickTimer - cycles of 80, at cycle health is +/- depending on saturation/starvation
+FoodExhaustionLevel - added to depending on action, when reaches 60 it resets and deducts one point from FoodSaturation
+Tiredness - Starts at 0 when starting or waking
+
+### Exhaustion
+The following actions generate exhaustion points for the player:
+
+* Swing sword - 3
+* Hoe a tile - 1
+* Harvest - 1
+* Mine a block - 5
+* Chop a tree - 4
+
+## IRL Player (Reverse Tamagotchi)
+Treat the game like a reverse tamagotchi. The "player" in the game is the "virtual pet" that must have its basic food/bio/sensory stimulation/? needs met, or the game is "lost" (player is dead).
+
+When the player is in the real world, they can receive emails on the computer (maybe in-game).
+
+Maybe IRL they have to scrounge for food? Maybe it's hard to do and they have no combat, so it's fraught with danger. In this way, endless play can be gated through difficulty.
+
+FoodLevel - max of 10
+FoodTickTimer - cycles of 80
+BioLevel - max of 10
+BioTickTimer - increments by FoodLevel/5 (moves faster when full), cycles at 80 - if BioLevel is already at 10, increment BioOverflow
+BioOverflow - at max of 5, player gets stick (Game is exited, FoodLevel is set to 1, FoodTickTimer is reset, SicknessLevel is incremented)
+SicknessLevel - max of 20
+
+Eating rotten food - FoodLevel increase half non-rotten amount, SicknessLevel incremented
+Eating normal food - FoodLevel increases by food value
+
+### Stats
+These numbers will likely change based on mechanics:
+
+* Health: Starts at 100
+* Hunger: Baseline is 0, counts up 1 per game tick
+    * 50% of starvation max: minor ui notification
+    * 75% of max: warning notification
+    * 90%: start thinking occasionally about starvation
+    * 100%: regular starvation thoughts; starts dying
+        * every 5000 ticks, lose a health
+* Waste: Starts at 0, counts up 1 per game tick
+
+#### Replenishment
+Eating reduces Hunger by 50,000 to min of 0. sub-standard sources can give less. Eating also increases health proportionately.
+
+Waste is reduced by going to the bathroom. Unfortunately, the game can't be used in there.
+
+
+## Scoring
+* Days survived
+* Days survived comfortably (no starvation)
+* Days survived IRL
+
+## Implementation
+* Pico-8 palette in-game, either DB16 or Sweetie16 rest of the time
+* pmem can only contain 256x32b (8192b) - no world saving :(
+
+
+### Media
+![wip-01](wip-01.png)

BIN
aba/a-breath-away-again.aseprite


BIN
aba/wip-01.png


+ 28 - 0
archon/README.md

@@ -0,0 +1,28 @@
+# Archon
+I used to play _Archon: The Light and the Dark_ on my Commodore 64 for hours against the computer when I was a kid. As an adult, I keep having ambitions to re- (or de-)make this game despite the numerous official remakes out there.
+
+## Features
+* 9x9 game board, 5 power points
+
+### Pieces - Light
+* Wizard - fireball
+* Djinn - whirlwind
+* Phoenix - immolation
+* Unicorn - energy bolt
+* Golem - boulder
+* Valkyrie - magic spear
+* Archer - arrow
+* Knight - sword
+
+### Pieces - Dark
+* Sorceress - lightning bolt
+* Dragon - fire breath
+* Shapeshifter - varies
+* Basilisk - eye beam
+* Troll - boulder
+* Banshee - scream
+* Manticore - quills
+* Goblin - club
+
+## Media
+![wip-01](sprites.png)

BIN
archon/sprites.png


+ 54 - 0
blockbattle/README.md

@@ -0,0 +1,54 @@
+# BlockBattle
+A falling-blocks game where the pieces happen to have four blocks apiece. Originally intended for the [Pokitto](https://www.pokitto.com/) DIY handheld gaming system.
+
+## Special Abilities
+One special feature of this dueling-puzzle game is the ability to choose a character with different special abilities. Each character has for special abilities to choose from: Level 1, Level 2, Level 3, and Ultimate.
+
+Abilities are used by collecting Power Spheres scattered through the playfield. If a player has more Power Spheres than are needed for a givel level, the highest **full** level is used. All Power Spheres are consumed when using any Special Ability.
+
+While their powers are different, all characters share the same Ultimate ability: a total board wipe of all blocks and hard blocks.
+
+## Story
+A dimensional portal has opened, and out of it come several unnatural beings: the spider queen Arachna, the fire demon Ifthon, and the psychically-powered organ powered by pure hate: Brain...Guy.
+
+The perverse nature of these evil creatures brings a reaction from the planet itself. Bending rock to its new will, Earth God is born as the protector of the natural order.
+
+### Earth God
+Made of living stone, this powerful behemoth is the living embodiment of the planet's hatred toward these abominations. Earth God relies on brute strength to pulverize his opponents.
+
+* Level 1: Righteous Smash - Smash bottom four rows
+* Level 2: Raise Earth - Add four rows to bottom of opponent's stack
+* Level 3: Gaia's Vengeance - Blow up random portions of opponent stack including crystals
+
+### Ifthon
+What could be called an imp in classic literature, Ifthon is a being made purely of dark energy. While it's sneaky and mischevious, Ifthon tends to use its power more defensively.
+
+* Level 1: Dark Wind - Push all blocks to one side
+* Level 2: Sneaky Mirror - Switch empty spaces and blocks
+* Level 3: Power Drain - Steal a random number of Power Spheres
+
+### Arachna
+Part spider, part human, all evil. Arachna is the queen of all spiders in her realm. She uses her arachnid abilities to paralyze opponents before summoning her spider swarm to bleed them dry.
+
+* Level 1: Paralyze - Opponent cannot rotate next three pieces
+* Level 2: Spider Swap - Switch playfields with opponent
+* Level 3: Swarm - Shuffle opponent's stack
+
+### Brain...Guy
+It doesn't speak, so nobody knows what to call it before being crushed by its telekinetic abilities. Brain...Guy uses its pychic power to toy with opponents before happily obliterating them.
+
+* Level 1: Head Clear - Push blocks to either side from the middle
+* Level 2: Suspension - Lines do not drop on clear for opponent's next six pieces
+* Level 3: Psychic Tap - Hard drop disabled for opponent's next four pieces
+
+## Implementation
+I started remaking this for TIC-80, but have not yet converted the higher-color mockups to Sweetie16.
+
+### Media
+Some TIC-80 sprites for testing pieces. Using 5x5 so I can fit a full-height well on screen:
+
+![wip-01](wip-01.png)
+
+Original mockup for Pokitto, which will need extensive rework. I'll have much more screen width to work with, and there's the double-well scenario to think about:
+
+![pokitto-mockup](pokitto-mockup.png)

BIN
blockbattle/blockbattle.aseprite


BIN
blockbattle/pokitto-mockup.png


BIN
blockbattle/wip-01.png


+ 10 - 0
dark/README.md

@@ -0,0 +1,10 @@
+# Dark
+Currently just called "Dark," this game is more a technical idea/demo rather than a fully-fledged gameplay concept.
+
+The idea is that by using mostly 1-bit sprites, we can get away with tons more animation and other effects that would be typically more constrained. To save even more space, I had this crazy idea of implementing basic dynamic lighting on top of the sprites themselves.
+
+## Specifications
+The palette has reserved slots in 2-3 (red/orange), 14-16 (greys) for palette animation effects or additional lighting effects. Slot 1 is reserved for the 1-bit character animations.
+
+## Image Encoder
+The [`encode-image.py`](encode-image.py) script converts a Dark-paletted image into a compressed version that can be imported into TIC-80.

+ 26 - 0
dark/encode-image.py

@@ -0,0 +1,26 @@
+from PIL import Image
+
+image_path = 'ice-base.png'
+pixel_data = None
+
+compressdict = {}
+
+
+with Image.open(image_path) as image:
+    pixel_data = image.load()
+    
+    char_count = 1
+    rawdata = ''
+    bitpack_string = ''
+
+    # bitpack spec - 4-bit values encoded to hex
+    width, height = image.size
+    for y in range(height):
+        for x in range(0, width-4, 4):
+            px = int(pixel_data[(x, y)])
+            bitpack_string += hex(pixel_data[(x, y)] << 12 | pixel_data[(x+1, y)] << 8 | pixel_data[(x+2, y)] << 4 | pixel_data[(x+3, y)]).replace('0x','') + " "
+            rawdata += str(px)
+    
+    print(bitpack_string)
+    # print("\nvs\n")
+    # print(rawdata)

+ 29 - 0
einhander/README.md

@@ -0,0 +1,29 @@
+# Einhänder Demake
+This was the first shmup game I played that was almost fully 3d, made by Squaresoft for the PlayStation. It's a pretty slick (and difficult) game, and I've always had fun never beating it.
+
+One day I started making some sprites, and I keep plugging them into a tiny shmup engine that I keep adding stuff to, so who knows? Maybe someday it'll turn into something playable.
+
+## Guns
+* Vulcan
+* Cannon
+* Spreader
+* Wasp
+* Grenade
+* Hedgehog
+* Blade
+* Riot
+* Juno?
+* Flash?
+* Mosquito?
+* Python?
+
+## Enemies
+Only going to worry about Stage 1 enemies for now.
+
+* Schabe (police car)
+* Uhu (and variants)
+* Greif (sub-boss)
+* Drache (boss)
+
+## Media
+![wip-01](wip-01.gif)

BIN
einhander/wip-01.gif


+ 7 - 0
megamang/README.md

@@ -0,0 +1,7 @@
+# MegaMang
+I suppose it was inevitable. I can't just make a platformer; I've got to re-(de-)make one of _the_ platformers out there.
+
+This mostly started as an experiment to get good platformer jump feelings, then I made some tiny sprites modeled after a blue robot dude. No robots for him to fight yet, though.
+
+## Media
+![wip-01](wip-01.gif)

BIN
megamang/wip-01.gif