"ok: A sheep game" is a procedurally generated, real time strategy RPG prototype made by @that-ben in early 2021 for B&W Macs in which you incarnate a shepherd, rescuing lost sheep and bringing them back to your house. You can then build fences next to your house and shove them in for their protection... You see, after 8pm, darkness covers everything and wolves come out to eat the sheep... or anything that moves for that matter! Game is over if you or all the sheep die.
"ok: A sheep game" runs on late 1980's to early 1990's Macintosh environment (68K). Don't worry, if you do not have a Mac Plus or a SE, you can use Mini vMac. It is best played at original 8mhz speed (vMac 1X speed) ;-)
...or alternatively, you can try "ok" in the browser w/ PCE.js (sound is really messed up in PCE.js so it's better to try it on Mini vMac or on a real 80's Mac) or you can try "ok" in the browser w/ BasiliskII.js
Version 0.1.8 (2021-02-08)
- Sheep can no longer walk into wolves (on the same map tile).
- Added [L] key to briefly display hit points of all entities that are present on the screen.
- Fixed a visual glitch: If player died on the first map area, it would display a completely white tile in its place.
- Fixed a visual glitch: Reloading a new map with [R] would leave hit points bar artifacts until something is redrawn.
- Fixed a visual glitch: Fireballs in midair when daylight comes would leave an artifact until something is redrawn.
Version 0.1.7 (2021-02-07)
- Introduced the concept of hit points (health) so instead of randomly destroying entities, health is linearly decreased.
- Entity hit points bar briefly shows when it changes and then remains hidden to prevent masking game objects too much.
- If player's hit points are less than full 100%, then the hit points bar remains displayed at all time until fully restored.
- Going inside the house fully restores the player's hit points back to 100%.
- When the player attacks a wolf, it now immediately triggers all wolves to leave their target sheep and attack the player.
- Wolves can no longer pile up on the same map tile.
- Slightly tuned the generation in shipwreck to help prevent impossible path to the treasure chest.
- Rewrote the code for item dropping, now can drop anywhere that makes sense including on the map borders.
- Fixed a rare situation where the player could drop an item on themselves.
- Fixed a rare situation where the player could drop an item out of bounds on the left side of the map, crashing the game.
- Fixed a visual glitch introduced in v0.1.6: water animation was not working anymore. Now it's working again.
- Increased the RAM allocation a little to try and minimize the risk of memory exhaustion after many in-game days.
Version 0.1.6 (2021-01-31)
- Parchment now serves as a map add-on: It draws an X on a boulder to dig that uncovers a crystal cave entrance.
- Crystals can be broken, carried back to the house and used to build magic towers (maximum 10 can be built).
- Magic towers automatically shoot fire balls at the wolves, killing them when the fire ball lands within 2 tile radius.
- Added 2 sound effects ("crystal" when picking up crystals and "magic" when magic towers shoot fire balls).
Version 0.1.5 (2021-01-27)
- First version that actually runs on a real Mac Plus! (and probably other real 68K Mac models too!)
- Added [#] key to quit because guess what... 1980's Mac keyboards don't have an escape key! DOH! ;-)
- Added numpad directional keys to control the player:  = up,  = right,  = down,  = left. Arrow keys still work.
- Fixed a memory initialization problem that prevented running on a real Mac Plus (and probably other 68K models)
Version 0.1.4 (2021-01-26)
- Introducing tile frame animation (sheep randomly eating grass and also water waves)
- Rock walls no longer need to be attached to the house (or to anything else for the matter) allowing detached structures.
- Fixed a rare situation where the house would not appear after generating a map (overlapped by cave entrance)
Version 0.1.3 (2021-01-22)
- Rock walls can now be built connected to the house using the [N] key, given at least one rock pile is in the house.
- Rock walls can be demolished if you have the pickaxe, just walk in them and they'll give back a rock pile.
- Tuned the difficulty as a ramp by having only 1 wolf attack the first night, then 2 wolves the second night and so on...
- Fixed a small bug that would allow the player to resume game play after game over screen is displayed.
Version 0.1.2 (2021-01-21)
- Enlarged the overworld shipwreck graphics to four tiles of 16x16 instead of just one to help the player notice it easier.
- Customized the shipwreck area map more by generating water to the right, to better represent the ship sinking.
- Now allocating the world areas map array via a pointer, which enables an even bigger array! (no more 32KB stack limit)
- The world area map now is 4x4 instead of 3x3, so 4 screens horizontally and 4 screens vertically. Spawn is still at [2,2].
- Fixed a memory exhaustion bug happening on or right after night of day 4. The whole computer froze! It's now fixed :)
- Fixed a bug when reloading a new map with [R] after which the cave and shipwreck areas would become inaccessible.
- Fixed a bug that prevented the pickaxe from being picked up.
- Fixed a bug that prevented the game from completing once you kill all the wolves (introduced in v0.1.1)
Version 0.1.1 (2021-01-19)
- Added a shipwreck that spawns somewhere on the seashore. It can be entered to explore and loot a parchment (WIP).
- Reeds can now be cut down when the player has the sword.
- Added a sound effect ("swoosh" for when the sword is used to cut reeds or fight wolves).
- Wolves now target another sheep when they kill one.
- Game is now over if all sheep are killed by the morning.
- On day 2, if you have less than 2 sheep, they're resuscitated. Every morning, 1 sheep respawns somewhere near the house.
- To somewhat reduce accidental fence demoliton, the player now has to walk in it a random number of times before it breaks.
- Cutting trees and breaking rocks now take a random number of hits before it succeeds.
- Rewrote the window initialization procedure. Now it is always centered on any resolution (and still full screen on 512x342).
- Fixed a visual glitch: after a wolf killed a sheep, it would remain visible until you or a wolf walks over it.
Version 0.1.0 (2021-01-17)
- Rewrote the tile map code to allow multiple "pages" (additional map areas when the player goes out of bounds).
- Player can now go explore 1 map area out of bounds in each direction. It is procedurally generated in real time.
- Sheep and wolves continue to think and move in real time while the player is away on another map area.
- Added reeds and water tiles.
- Fixed a visual glitch: messages displayed in the status bar at the bottom would sometimes disappear too quickly (frame timer reset).
Version 0.0.9 (2021-01-14)
- Added compatibility with 68020 architecture! This also enables this game to work under 68030, 68040 and even PowerPC. So this means tha it works on any Mac that runs Mac OS 6, 7, 8 or 9. Fun fact, THINK Pascal 4.5 can't seem to be able to compile 020 binaries from System 7, so had to compile the 020 binary on a 68000 running System 6, which ironically cannot lauch the 020 binary app it compiled :P
- Fixed numerous issues related to QuickDraw initialization that prevented this game to run on a different color palette (e.g. when monitor was set to 256 colors instead of B&W) and also bugs that caused the game to crash at launch under System 7 with a larger resolution.
- Divided the code units into 3 purgeable segments.
Version 0.0.8 (2021-01-12)
- Changed [D] key for [Q] to drop items and release dragging sheep, because players are more accustomed to it.
- Added little story popups on day 2 (pickaxe) and when you find the sword. Also added a basic end screen (not final).
- Added compatibility with PCE.js default keyboard map (arrow keys would not work otherwise)
- Fixed a potential game freeze happening at 8:00 AM when the day changes (uninitialized wolves positions)
- Fixed a visual glitch that would cause sheep to appear with a delay when exiting the cave.
- Fixed a small visual glitch that would cause the tiny carrying status icons on bottom right to flicker.
- Divided the code units into 2 purgeable segments.
Version 0.0.7 (2021-01-11)
- Added a cave entrance (you need the pickaxe to venture in there!)
- Added a cave map, hiding some treasures (one of them is the sword).
- Added the sword, which is needed to kill wolves.
- Upgraded compatibility with System 7.5 (white text would not display correctly)
- Fixed a small inconsistency where the player (and the wolves) could go slightly out of map bounds by 1 unit.
- Removed the annoying watch cursor during gameplay (I left just a single pixel cursor to at least know where the mouse is).
Version 0.0.6 (2021-01-11)
- Added the concept of each day is a different "level". On day 2, a pickaxe now appears and up to 5 eaten sheep respawn.
- Added a pickaxe that appears on day 2. Use it to break boulders into rock piles that you can bring back to the house.
- Added a sound effect ("rocks" for when breaking boulders and stocking rock).
- Wolves can now attack and eventually kill the player.
- Updated the boulder graphics so that they look bigger.
- Fixed a visual glitch when unpausing the game while the help screen is displayed.
Version 0.0.5 (2021-01-10)
- Added wolves eating sheep!
- Added 2 sound effects ("wolf" for when they come in, "bark" for wolf attacks)
- Fixed the possibility of trapping yourself in your fences by allowing the fences to be demolished, just walk in them and they'll give back wood scraps.
Version 0.0.4 (2021-01-10)
- Added 3 sound effects ("sheep", "wood" for when cutting wood things or stocking wood, "click" for building and generic interaction).
- Fixed the crash introduced in v0.0.3 :)
- Warning: It is possible to trap yourself by building fences around you and you'll be stuck. You will have to reset level with the [R] key.
Version 0.0.3 (2021-01-09)
- Added a help screen with controls description.
- Added a axe for cutting trees.
- Warning: Cut logs can be brought back to the house but this crashes unfortunately (CHK ERROR; probably an uninitialized variable)
Version 0.0.2 (2021-01-08)
- Added a player that can be moved.
- Moving on a sheep attaches it to the player and it can be brought back to the house.
Version 0.0.1 (2021-01-07)
- Started learning THINK Pascal through tiny bits of examples from very old PDF manuals here and there on the internet. Not much happening, only a simulation that runs by itself... day/night cycle, sheep moving, but no player and nothing else.
(266.62 KiB / 273.02 KB)
ok v0.1.8 / DSK
(266.5 KiB / 272.9 KB)
ok v0.1.7 / DSK
(265.78 KiB / 272.16 KB)
ok v0.1.6 / DSK
(280.19 KiB / 286.92 KB)
ok v0.1.5 / DSK
(280.54 KiB / 287.27 KB)
ok v0.1.4 / DSK
(284.66 KiB / 291.49 KB)
ok v0.1.3 / DSK
(3.13 MiB / 3.28 MB)
Older releases v0.0.1 to v0.1.2 (most of them: 512x342 only, no game ending) / Zipped
From Mac OS 4.0
up to Mac OS 9.2
Architecture: 68K (Mac 512K and up)
System 4.x - Mac OS 9.2.2
Note: This game runs perfectly well under System 6 or 7 on a real Mac and also under Mini vMac. You can also play under Mac OS 8 or 9, but keystrokes currently are all queued and sent to the Finder when you quit, so it is suggested that you launch the app from a folder that contains nothing else in case the keystrokes tell the Finder to move or delete a file :P
Warning: All versions prior to v0.0.9 will freeze the whole computer on any screen larger than 512x342. This was resolved in v0.0.9 and up.
Emulating this? It should run fine under: Mini vMac