Showing posts from 2019

raspberry pi ad-hoc wifi with a password, no router needed

I wanted to set up a Pi so that the wifi would work standalone, with no router. You would connect to it like it was an access point, and then be able to access its web server but  no internet. It's rather easy to do this if you put it in ad-hoc mode, but then there's no security.

The alternative is to start setting it up like a full fledged router/access point but stop before the "routing and masquerading" is implemented in the this guide to setting up a pi as an access point. There were two hiccups in following the guide, however. First, if you are doing it over the network, some of the commands break the connection, stopping you mid-way thru setup. 2nd it didn't work until I rebooted. Here's my solution. skip all the commands shown in bold below as they appear in the guide, and make a shell script that you execute once all the configuration files have been nano'ed.

systemctl daemon-reload
service dhcpcd restart
systemctl reload dnsmasq
systemctl unmask hostapd
systemctl enable hostapd
systemctl start hostapd

updated Pi NAS: automatic hard drive spin-down, and introducing virtual USB unplugging

After running for only a year my last Raspberry Pi Zero NAS died. The hard drive failed. It's not clear if it was the disk's fault, or if the 1A USB hub that powered the drive was insufficient and caused the heads to crash. Either way, the 500GB WD My Passport USB3 drive stopped being able to spin up, making a loud whir-click every 2 seconds or so. Time to build a new setup. The Pi itself seemed fine, thankfully.

I switched to a 2TB WD My Book with its own OEM 12v power supply, so I knew that the supplied power was sufficient. It's somewhat power hungry when spinning but idle: around 6.3w. If you can get it to go into standby mode that drops to 1.7w. Unplugging the USB drops it all the way to .7w. So we HAVE to get the drive to go into standby mode and it would be nice to get the drive unplugged somehow. Out of the box it appears to be stuck always spinning under linux, so there's no option but to dig in.

Unfortunately I was back to square one on making the drive spin down. So far no drive I've worked with (a "coolmax 500gb" and the "WD my passport 500gb") supported the same method for automatically going into standby under linux.

My failures:

hdparm -S 1 /dev/sda did nothing mounted or not.

 hdparm -B 1 /dev/sda  "HDIO_DRIVE_CMD failed: Input/output error APM_level      = not supported".

sdparm --flexible --command=stop /dev/sda just did nothing.

smartctl -d sat --set=standby,now /dev/sda did nothing while the drive was mounted. After unmounting it did.

There are ways to unmount drives that are not in use. While researching them I realized there might be a way to also unplug the usb, virtually, too... So I decided to roll my own solution.

My success: spin down and unplug USB too!

First, we need automount (autofs) which knows how to mount hard drives on demand and unmount after a timeout.

apt-get install autofs

we also need at for some of the scheduling.

apt-get install at

The key thing about autofs is that it executes a shell script before mounting, so we can do whatever magic we want as part of that.

Here's the script, named /etc/auto.disks


# $1 is passed-over from automount
# key refers to the mount point we are looking for

if [ "$key" == "sda" ]; then
  echo 1 > /sys/devices/platform/soc/20980000.usb/buspower
  while ! [ -b /dev/$key ]; # wait until the file can be found
    sleep .5
   echo usbOffOnIdle | at now+11min

# default mount options

# if a block device exists at /dev/[key]
# pass it back to automount
[ -b /dev/${key} ] && { echo "$opts :/dev/${key}"; }

SDA is my hard drive. We manage it as a special case, turning on the USB port when we want to mount it, and waiting until the device is detected before continuing. We also fire off an at command which will be responsible for shutting off the device when not being used, see below. It  will first start checking for idle at 11 minutes after mounting. 
echo 1 > sys/devices/platform/soc/20980000.usb/ buspower
is raspberry pi zero specific, and turns power on to the USB port (we'll turn it off later, and at boot)

We need to make autofs use this script by editing auto.master and adding 
/mnt /etc/auto.disks --timeout=600
which makes it call our script when trying to mount any device under /mnt, as in ls /mnt/sda . The timeout is in seconds.

So now we have a system that will turn on USB power whenever the drive is mounted, and will unmount 10 minutes after it is last used. But there's no unmount script triggered by autofs, which is why I need at, a handy scheduler that we can run in a loop until it detects the device is unmounted. 

Here's my usbOffOnIdle script, which I put in /usr/local/bin:

if `ls /mnt | grep -q sda`; then  
 echo usbOffOnIdle | at now+10min  
 echo unmounted `date` >> /root/log
 smartctl -d sat --set=standby,now /dev/sda
 sleep 10
 echo 0 > /sys/devices/platform/soc/20980000.usb/buspower

I use if `ls /mnt | grep -q sda`; to check for the mount because the regular  bash -e option will actually force the device to mount- oops!

If the drive is still mounted I just call myself again 10 minutes in the future and wait for autofs to do the umount-ing. If it's not mounted, I put the drive in standby (probably not needed) sleep a bit to be sure it happened, and then turn off power to the USB. 

In order to make the drive spin down first, you do need smartctl:

 apt-get install smartctl

Finally, we can use my script to unplug the drive on bootup. Using crontab -e add this line:

@reboot sleep 600; /usr/local/bin/usbOffOnIdle

Wait, that's it?

There's more than that to setting up a NAS, of course. All that was just to keep the power demands low, and to (probably) reduce wear on the drive. My previous post explains how to set up the rest of the Pi Zero NAS using Unison. You can ignore the parts about hard drive idling and fstab.

Some sources:


It's been running one year with 99.9% uptime. The only downtime seems to be network related but I'm not sure. I have it reboot once a week and that's reliably brought it back up. 

Raspberry Pi Automation

Since we have no network access on the road:

timedatectl set-ntp false

timedatectl set-time 16:00 --adjust-system-clock

map of the gpio pins

control the gpio pins from the shell just by echoing numbers to the file system

Here's a handy bash script for turning on pin(s). Name gpon, in /usr/local/bin, and chmod u+x gpon

if [ ! -e /sys/class/gpio/gpio$1 ]; then
  echo "$1" > /sys/class/gpio/export
  sleep .25

if [ `cat /sys/class/gpio/gpio$1/direction` != "out" ]; then
 echo "out" > /sys/class/gpio/gpio$1/direction

echo "1" > /sys/class/gpio/gpio$1/value

if ! [ -z "$2" ]; then
 gpon $@

likewise, gpoff:

if [ ! -e /sys/class/gpio/gpio$1 ]; then
  echo "$1" > /sys/class/gpio/export
  sleep .25

if [ `cat /sys/class/gpio/gpio$1/direction` != "out" ]; then
 echo "out" > /sys/class/gpio/gpio$1/direction

echo "0" > /sys/class/gpio/gpio$1/value

if ! [ -z "$2" ]; then
 gpoff $@

If timing is important, you can do the exporting at boot. 

echo "14" > /sys/class/gpio/export
echo "15" > /sys/class/gpio/export
echo "18" > /sys/class/gpio/export

place in /user/local/bin/autoexec and then crontab -e, adding @reboot autoexec on a line by itself.

Setting up a webserver and PHP

Adding a clock for keeping time while the pi is off. Note the website is junk, no schematics anywhere for the plug-in version we bought. But fyi it plugs in flush with the 5v and 3.3v pins. The plug is passthru so you could connect more to the 5v and 3.3v pins. The guide is also wrong on how to enable i2c - it's under boot. Them the first time I query the clock I get the error "hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Invalid argument"Running sudo hwclock --show twice seems to solve the problem, or running hwclock --systohc (caution: resets the hw clock to the current system clock) 

starter backpacking trip in san diego alpine region: 4mi out and back on the pacific crest trail

I dreamed up this little trip to introduce my 5 year old to backpacking. It was 4 miles out and back in the laguna mountains along the Pacific Crest Trail weaving in and out of the tree line, with moderate ascent/descent (~1000 feet). Only an hour from central San Diego along the 8 freeway takes you to this entirely different "alpine" biome in the cleveland national forest. No reservations required, but the ranger station does want you to file a permit (easy to do online or over the phone).

We did this mid october. The daytime temps were low 70s, and the night time was 50 or maybe 45. The low was a bit chilly but it's nice to hike in pleasant daytime temps!

We parked at the Red-tailed roost trailhead (free!) around noon. We walked back over sunrise highway and walked s/sw along desert view / thing valley road for about a half-mile to reach the PCT. This single lane dirt road sees minimal use, probably only other fellow dispersed campers. For a road, it's pretty pleasant, with nice tree cover.

Turn left off Thing Valley Road when you reach this sign to join PCT
Note that you cannot camp in the Laguna Mountain Recreational area. You should be safe after you pass the sign above and join up with the southbound PCT but do check the official maps for boundaries.

Once on the PCT we were surrounded by oaks and pines and dappled shade for about 1.5 miles. We could have ended our backpacking trip anywhere along here, there were lots of flat places. At about going about 2+ miles from the red-tailed roost parking lot we reached the first patch of open vistas surrounded low manzanita. This was a short preview of things to come, and then we were back in the forest for another half mile, and our last opportunity to camp unless we wanted to do the full 4 mile trip.

Extra nice campsite ~2.5 miles from start

After that we were back in the manzanita. Little shade and no real options to get off the trail. Nice views though. We were past the midday heat by now which was nice.

Wide open vistas. Not much variety, and all down hill.
The descent was pretty much constant for this part of the trail, maybe 1000 feet over 1-1.5mi.

Then we came into a valley with an actual running stream! With good water filtration I'd feel very comfortable drinking it, but with such a short trip it was easy to carry 4L of water and have enough for the inbound and outbound trip.

The narrow valley was moderately tree-lined (and poison oak, and stickery plants). Thus, while in theory there were lots of places you could have set up camp, in practice we found only 1 area that was clear of offensive plants and nearly flat enough. This was exactly 4 miles from our parking spot.

Enough space for 3 tents, probably no more and you'd better be good friends!

I scouted another 1/2 mile down the canyon and did not see any more likely spots. There was this neat dead tree though.

Supposedly there's another camping option if you were to go a full mile or so down the PCT to around the point that the trail climbs back out of the canyon. You didn't hear it from me, though.

We had plenty of time and light to set up camp, eat, and then it was dark, cold, and the night sky was filled with stars like a san diego city boy wouldn't believe. But, since I grew up in the hills of VA, it was just a nice reminder of a previous life/home.  At nightfall it was 50 degrees out, and I didn't check again but I'm sure it got lower than that, maybe 45. Our tents were warm enough with insulated sleeping pads and bags rated to 35 degrees, but only because we wore our down jackets and warm underwear. I suppose that might be an argument for doing this earlier in the year, but at the cost of a less pleasant trip though the scrub.

Next day we ate and broke camp slowly, leaving just as the sun finally crested our little valley and filled our campsite with its cancer rays. But with the temperatures still low, the climb up and out was very pleasant and we were back in the tree cover before it got too warm.

We had a pleasant walk out the rest of the way and were back at the car by 12:30, exactly 24 hours from when we left. 

The google assistant (aka OK google): can't do attitude

I'm continually disappointed by the google assistant. Before having one I would have guessed the problem would be poor voice recognition - but that's not the case. It seems to convert my speak to text great. It just doesn't want to help.

On my phone:

OK Google...
... turn off my screen (I can't do that yet)
... reboot my phone (I can't do that yet)
... start driving me to mainstreet (just sits there with the overview without actually starting)
... drive me to mainstreet [now] (same)
... start navigation (still doesn't start driving me to mainstreeet)
... search for blah blah blah (responds on my google home mini instead of my phone)

Part of the problem I have is that sometimes I'd rather my phone respond than my google mini. I don't enjoy having webpages read to me for instance. But there's no keyword that means: do this on my phone, not my home assistant. In a similar vein, "hilarity" ensues when a friend comes over and OK googles their phone in earshot of my mini. Both respond, talking over each other like toddlers. Not that the assistant is as smart as a toddler.

What about problems specific to the mini/home speaker? Probably some of these are issues with the phone assistant, too, but I experience them with the mini for sure.

OK google...
...reset timer to 1 minute (sorry I can't change timers on this device)
...set timer for 1 minute (long cutesy response that I've heard way too many times)
...don't be cute (has no effect, but should disable the asinine attempt at humor above)

And then there's reminders. Which used to be tollerable and now are just useless. Here's what I used to do: "...Remind me to buy freezer bags at walmart". And it worked. Sometimes the phone forgot to remind me when I got to a walmart, but OK. Now: "which walmart do you mean (long list follows). And often when I tell it which one: "I'm sorry I didn't catch that". Totally nerfs a otherwise useful feature. Like I really care which walmart I buy frreezer bags.

Another way reminders suck, and always have: they are impossible to hear, and even if you do, the mini won't tell you what the reminder is for. "... remind me to empty dryer in 1 hour". one hour later: "I have a reminder for alan". Why won't you tell me what the reminder is, google? Most of the time "I have a reminder for Alan" takes longer than just saying what the reminder is, and contains WAY less information to boot. I realize that sometimes you might not want the mini to broadcast what it is that you are being reminded of. Well say some keyword that will help you remember like "rosebud" for that extremely rare use-case. Don't ruin the whole feature for a rare use case, google. So maybe the way reminders work is great for some people, I don't know. But here's the easy solution: give us some control, as in "... Change the reminder sound" (can't do it), "...speak full reminders" (huh?) "... reminders sound until dismissed" (why would I want to help you, dave?).

If it sounds like I want reminders to act like alarms, that's partially true. You can name alarms, but just like reminders the name is never spoken, so what's the point?!. I'd be fine if reminders were always wilting violets, and alarms were loud and pushy.  But if they have been named, say the name for goodness sake. Do you think I gave you a name because of my deep and unending love for you, entity that disappears forever by design after just a few minutes?

I could go on and on. Google assistant is such a disappointment. If I didn't already have hardware invested (phone and speaker) I'd try the others in a heartbeat.

How the 3dfx voodoo worked

Lots of interesting technical details. All it really did was draw nicely filtered textures but on a Pentium that was a hard task:

upgrading a HP 2170p to an IPS screen, some assembly required!

original TN LCD
A couple years ago I purchased a "killer" netbook: the HP 2170p. This machine sold for about $1000 new, but these days it's much cheaper because of how old it is. Cheaper than anything remotely in the modern equivalent of the netbook class, anyway. Mine has a i5-3427U CPU which is very capable.

Though it's been a nice machine one aspect of it really disappoints: the LCD. It's a regular TN matrix with poor saturation, brightness, and atrocious viewing angles. I searched to see if HP ever made a variant with an IPS display, but they did not. Then I wondered if maybe there was an IPS display made for a different machine that would fit in the same chassy. Bingo! This Chinese forum post listed a compatible IPS LCD that could be squired cheaply. Thank you google translate!

The LP116WH6 SLA1 is used in the HP chromebook 11 (and perhaps elsewhere).  Since that model was once relatively cheap, and is quite old, replacement parts for it are super cheap. I purchased a grade A used LCD for about $20, shipping included! 

All that remained was removing the old display and inserting the new one. The official disassembly instruction includes a lot of extra steps, but gave me the confidence to unsnap the protective bezel, which was the only part that was at all tricky. Ignore the guide otherwise, it's just necessary to remove a few screws from the screen; the main body of the laptop is untouched.

IPS replacement, before replacing bezel 
The only catch is the IPS screen is not a perfect match for the 2170p: it's just a hair wider. This really only manifests in one issue: the mounting holes for the screws are also a hair too wide. I had to use a drill to make the holes closer to the LCD body. Otherwise it would not have been possible to screw the screen down and it could have fallen out at some point :-( 

I also had to remove some mounting tabs in the computer's lid - easy enough with some snipers & a vacuum up to clean up the magnesium scraps.

Preserving dark detail without washout
The result: fantastic viewing angles, so  much better than the original shown above. The screen is much more readable at lower illumination levels, too (better contrast, I guess).

After I reinstalled the bezel it covered up maybe 2/3 of a pixel on the right side of the screen. This means that a single pixel wide white line actually looks red in isolation. Easy to ignore! The other issue is that it's too saturated and there's a lot of black crush (the darkest 16 or so pixels are mapped to black). The Intel drivers offer enough controls to mitigate this, though if you completely fix the black crush it makes everything look washed out. Check the photo for the setting that are a good compromise, IMHO. I didn't check for black crush on the old LCD but I don't recall any. I wonder if it's an issue of one expecting so called "video" level LUT (16-255), and the other using computer levels (0-255).

A child's first computer shouldn't be "fun"

My 5 year old has a phone. I've judged many parents for letting their children, even much older than 5, play with phones. But hear me out, I'm not a hypocrite (I hope). We've all see those kids at the supermarket (or the zoo!) watching videos or tapping away at some simple game while the world passes them by. Even the supermarket can be a rich learning experience and even "fun" at times, but if a child would rather look at a phone than animals at the zoo you know something has gone wrong.

And yet I gave my 5 year old a phone. Well, let's consider what apps are installed: a simple drawing program, a calculator, a camera app, and chat (google hangouts, oops). All simple but not designed specifically for kids, so no cutsie pictures or other attempts to capture attention. And she plays with it, but it certainly doesn't suck her in like watching youtube or a game would. There's plenty more interesting things to do in the world (like the zoo!) than her phone, and we've never had to put usage limits on it. Ok, doesn't sound so bad, but what are the upsides? Well she does enjoy it, but also she has a camera, she can draw, and she can play with numbers, and knows how to call her grandma on her own phone. And the cost was just $10 for an android sold by tracfone that has no service plan, just wifi. You'd pay much more just for a junky kids "friendly" camera.

But now I've gone further. Another $10 purchase (thanks craigslist), for a 15 year old thinkpad running windows XP.  What's installed? No games, no internet. But windows explorer (aka the desktop) and microsoft word 2000. Word is awesome. It might be the best learning game ever. You can type anything you like. Select it, move the cursor with the arrow keys, or even delete everything you wrote. It even tells you if what you typed is a word or not. Later on she can learn about word art, tables, etc.

Later on I might show her ms paint. Or how about GW-basic? Actually, what I'd really like is something more modern than basic. Maybe "GW-python"? Regular python would be ok, but the graphics model seems to require a lot more programming knowledge than the old MS basic interpreters did. Anybody know of a good textmode interactive programming tool (with graphics and sound output commands) that wouldn't be overly complex for a kid to pick up? I don't want a visual programming environment or some plug-the-blocks-together "programming" environment.

summary: once you introduce youtube, actual games, etc. there's no going back. Start with the creative stuff that's intrinsically fun first and see how far they get!

PS. I am plotting her first game. Zork. Well, maybe I'm kidding there, but a simple vocabulary interactive fiction game might be an awesome way to encourage her to learn to read bigger words and write sentences, work on spelling, etc. I might have to settle for eliza or a modern variant, but I'm interested in suggestions here.

The best open-world 3D platform/adventure games of all time (2018-19 edition)

At the end of 2018 (or actually the very beginning of 2019) I'm looking back at the best open world platformers I've played since I started video gaming. This list represents the "efforts" of many years, but is also incredibly dated since my newest console is a Wii. At least I try to take a more modern perspective on these older games rather than just letting nostalgia guide me.

I'm a big fan of Zelda, Mario, and Ratchet & Clank. Though each are very different, they all share a heavy emphasis on exploration, world building, and puzzle solving. Combat plays an important role, but not the primary role, unlike a beat-em-up. If that description is too nebulous, just look at the list below. I'm not trying to make a philosophical claim about the existence of this category, just to help folks find games they may not have played and would enjoy. I will acknowledge that nostalgia plays a role in some selections, but I'm trying to rank these according to modern sensibilities, at least in terms of gameplay (the graphics of older games is of minimal concern to me as long as it doesn't hamper gameplay).

These are ranked from all-time-favorite to still-worth-playing but-only-if-you-really-like-these-kind-of-games, plus a quick list of avoidables at the end.

Legend of Zelda, Ocarina of time (N64)

Nostalgia plays a role here, but this game is still amazing. The world is huge and exploring it feels like a real adventure where you get to decide where to go next. The slow evolution of your character's abilities, though trite today, makes it feel like you are growing with the game. Combat is only moderately challenging, but never devolves into a button masher. The dungeons are full of puzzles, and are at least moderately varied. The controls are perfect. Graphically, this game is extremely dated, but the game play is not. And the graphics are not so bad as to get in the way of the game, though it probably helps that I first played this when it was relatively new. There are many remakes on recent Nintendo platforms, or you can easily play with a free emulator on a PC. Though the N64 controller was pretty different from the dualshock design that's pretty much swept the console/pc world, so it can be hard to find a elegant control scheme. 

Ratchet & Clank (PS2)

This is a great series, but the first game is arguably the best.  It's a "puzzle shooter", in that there are a huge number of weapons that each behave in distinct ways. Half the challenge is deciding which would be best for the current situation. It's also a first-class platformer with lots of running, jumping, and exploring. Each level typically has several paths to explore, though to finish the game you will have to play them all. While not as open as a zelda game, their design does a good job of hiding any linearity. Much like zelda your character gets more and more powerful, meaning that you can go back to earlier levels to complete challenges that were impossible before. There is a tiny bit of hidden stuff, but for the most part there are no secrets. Just blast your way through the levels and when everything is dead you win. Graphically, the game still shines with a cartoon sci fi aesthetic. The game play is also up to modern standards, though you will find yourself repeating parts of levels more than you might like because you didn't get far enough to reach the continue point.

Mario 64 (N64)

Nostalgia may also play a role in this pick, given its age. Certainty, as the first open-world 3D platformer, it deserves to be on this list for historical reasons. And frankly, it's hard to imagine that you haven't played it, so maybe I shouldn't belabor the point much. But part of the reason to go into so much detail on the first few games is to help define what this list is about so I will spill at least a few characters. Mario 64 succeeds for several reasons. Unlike the earlier Mario games, each level has a series of challenges to complete, keeping gameplay more varied; there's a level select stage, so it's ease to jump (heh) around to different levels when you get stuck; most of the levels are fairly open and exploration oriented, rather than linear. Keeping with the Mario tradition, there's lots of secrets to discover and all kinds of tricky jumps to execute, and combat plays very little role except for bosses. It really sets the standard for pretty much all mario games that have followed. I find the controls just slightly less smooth than in later games, but perhaps that's because I played on an emulator, using a dual-shock style controller. The graphics are very crude by any standard, but don't hold the game back much. If you haven't played it, at least give it a once over for historical interest - you'll be shocked how much of the mario style was established so long ago.

The rest...

Having established the pattern of what I'm going for here, I'll try to be more short and sweet from here on; as always google for further details.

Jak and Daxter: the precursor legacy (PS2)

A really pretty "gather the magic orbs" kind of game, ala Spyro. Lots of platforming, and good level design. Amazing that this was an early PS2 game.

Mario Sunshine (GameCube)

What if Mario was a FPS? Would he have a gun, or a power-washer backpack that is as good at cleaning away black sludge as it is giving short hover assists on tricky jumps? Well that sounds like a weird mashup, but the game is actually quite fun. There aren't that many open worlds to explore; instead each "overworld" also has a bunch of fairly linear "challenge" levels which are kind of like 3D versions of NES mario. I feel like it was kind of short.

Zelda: The Windwaker (GameCube)

Ever felt like Zelda was too epic and didn't feature enough watersports? This one is for you. I've heard that it's only got about 10 hours of traditional zelda gaming, but I haven't played it recently so that might be an exaggeration. I do recall a lot of sailing between islands that was only fun the first 200 times. The islands themselves are traditional zelda overworlds with traditional dungeons. Since there aren't that many zelda's it's still worth playing but the bang for your buck is pitiful. 

Sly 2: Band of Thieves (PS2)

This sequel far exceeds the original (which is barely mentioned way down below). It has 8 large worlds(levels) to progress through with various missions that require a wide range of tasks, usually relating to stealth and collecting things, but also platforming and some mild combat. There are upgrades to the three playable character you can buy by collecting treasures to sell by carefully exploring each level. A great combination of collect all the thingies and structured missions, and it looks amazing (in general, but specifically by PS2 standards). Surprisingly fun story for a "kids" game, too. 

Mario Galaxy (Wii)

The gimmick here is that some levels are tiny planets that you can circumnavigate in a minute or two. It's large, it's open ended, and it's the mario you know and love from 64. For some strange reason I have fonder memories of the shooter mario (aka sunshine), though. But it's very solid.

Spyro the dragon (PS1)

I'm not sure of the history of the "collect all the thingies" genre, but this is one of the best early examples. Every level has 400 gems. There are weak monsters wandering around that make it slightly hard to get all the gems, but mostly this game is about exploration, tricky jumps, and figuring out the path to platforms that cannot be reached directly It makes the most of a few very simple gameplay mechanics. I found it surprisingly sublime, and was tempted to put it higher on the list, but it is such a basic looking game with such repetitive gameplay that it found its way down here. It looks much better on a PS2 with texture smoothing on.

Ratchet & Clank Going Commando (PS2)

More Rachet & Clank. Slightly heavier emphasis on the run and gun 3rd-person shooter aspect of the game, and less on the platforming and exploration, but not really enough to change the flavor of the game. A great looking game and a solid choice if you liked the original.

Jak II (PS2)

Jak and Daxter made over to be a lot more like Ratchet and Clank. The guns are much fewer and less interesting than R&C. The collect the thingies bit from the first game is almost entirely gone; instead you just have to get to the end of each level (many of which are rather linear, but well disguised) . Way, way, too hard for its own good, with lots and lots of replaying each level because you died.  I'm sure I died over 100 times on some levels. I would rate this one much higher if it didn't have that going on. It looks fantastic, and is a lot of fun until the difficulty level gets ramped up. I don't care too much about plot line typically, but man this one is hard to follow and there's a lot of it. Playing Jak and Daxter first helps, but I kind of think they meant for it to be confusing.

Tak and the power of the JuJu (PS2)

A collect all the thingies game, but with more interesting puzzles than most, and pretty good graphics. Sort of a Jak and Daxter + Spyro + something with puzzles + "humor".  Sometimes frustrating. Combat has a very strange place in this game - it can be hard, but you come back to life after dying without losing any progress at all. I think they could have skipped combat altogether or made it easier but given death some actual consequences. Sometimes I get lost in the levels because they are a bit visually repetitive.

Zelda Twilight princess (GameCube/wii)

Felt pretty linear for a Zelda. Otherwise sold, typical zelda style game.

Spyro: Legend of the Dragon (PS1)

This game is third in the series, and looks so much better than the first Spyro. Some of the levels approach PS2 level complexity, though certainly not ps2 level graphics. It might be worth seeing just as a testament to what a well-programed PS1 can do; I think it's easily one of the best looking 3D games for the system, esp. with PS2 texture smoothing turned on. Sadly, the sublime simplicity of "collect all the thingies" has been somewhat diminished here, though not as badly as in #2 (Ripto's Rage, below). Though there are still secrets and tricky to reach areas, they are much less significant than in #1. While the boring challenges of #2 have been dropped, in their place are sub-levels with different playable characters, such as a monkey with raygun, or a kangaroo that can triple jump. None are as smooth playing or as well-thought out as spyro, but they are moderately fun to play. 

Ratchet & Clank up your arsenal (PS2)

The continued evolution of R&C away from its platforming roots and towards being a 3rd person shooter. Still has a ton of interestingly different weapons, and still has plenty of platforming, so I still recommend it, but not as much as the 1st or even the 2nd of the series. 

Starfox Adventure (GameCube)

Much more Zelda than Starfox. An odd game that got it's Starfox branding late in life. Somewhat linear, and a too much emphasis on combat, but still a fun Zelda-alike.

Legend of Kay (PS2+)

Legend of Zelda with Cats (and Rats, frogs, etc). Starts out very very linear, but after about 8 hours it opens up, though there's a flip side to that; it's surprisingly easy to get lost. Even though the levels become more open, you still visit them in sequence, no "living world" like zelda. It looks great, but plays just ok. It just doesn't feel as clever as OoT, and the puzzles are not really much to speak of. Plus there's fairly frequent racing bits that you have to complete to progress in the story and they just aren't that fun. Interestingly, for a game starting a little-puddy-cat the dialog suggests it is more intended for teens/adults; there's nothing cute about the storyline.   

Spyro: Ripto's Rage (PS1)

#2 in the series, uses the same engine as #3 reviewed above. Gameplay is disappointing though.  The sublime simplicity of "collect all the thingies" has been traded in for a bunch of varied challenges like animal herding or killing all the monsters. Though challenging they don't tend to be fun. Reminds me of how Mario 64 introduced reusing each level 8 times, but requiring different tasks each time you return. The tasks are less fun but at least there are only 3-4 per level here. You can still collect all the gems, but there is no real in-game motivation plus they are not hidden very cleverly.

Games I haven't played but should probably be on this list

For being written in 2018 this list is horribly dated. Even I know of many games that should be on this list (and even own some of them), but haven't played them personally yet. Some are listed below. I'd be eager for suggestions for more in the comments section.

Mario Galaxy 2
Zelda Skyward Sword
Zelda Majora's mask

Jak 3

Games not really worth playing

Monsters Inc Scream team (PS1) open nonlinear collect all the things, with platforming elements. This would be a reasonable game but the levels are just uninspired, and the the game engine is just average for a PS1 game.

Shrek treasure hunt (PS1) Open, nonlinear collect all the things. Overly simplistic, all you can do is jump and run to avoid the randomly moving farm animals and other creatures. The camera is almost top down, probably to hide the laughably short draw distance, and cannot be adjusted at all.

Spyro: Enter the Dragonfly (ps2) A sad end for such a find series of collectathon games. Feels like bad fanfic - it has all the aspects of the original games but without any idea of what actually made those design choices fun. It is an open world game with lots to "collect" but as it turns out randomly strewn items in slap-dash levels makes for a very dull game. Plus it looks like crap. Seriously, the PS1 games looked better than this. I mean, ok there are more polys in the PS2 version, but oh such poorly chosen ones, plus an atrocious frame rate. 

Adventure/platform games that are overly linear to be on this list

Sly Cooper and the Thievius Raccoonus (ps2) A fun platformer with heavy emphasis on timing and stealth. But OMG it's so linear. Even when you can double back on your path through a level it's only by progressing forward along the predefined path. Good graphics and style give it a bump, but only check out if you like being lead by the nose.

Tak 2 staff of dreams (ps2).  Looks a lot like the first game but is very linear and has nothing clever, humorous (or even "humorous") going for it. The combat is overly hard and in the end I gave up 2/3rds thru, wishing I had just skipped it all together, though the first 3rd of the game was perhaps "fun".

All crash bandicoot games (PS1 and PS2) Actually, I haven't tried them all, but the 3 I loaded up were tiresome and very linear. almost "2.5D" games. 

Email me


Email *

Message *