I picked this one up as research for some pessimistic scifi, but was excited to see the creator behind SMBC anyway.
It delivers on its premise; it will convince you that we are not within striking distance of sustainable off-world human life. But Kelly’s Endurance already told me that. City is lean despite its size. Regular asides on Space Cannibalism and cartoons are fun but they are taking up space that the Weinersmiths could have spent better fleshing out their ideas. And to be fair to the Cartoonist author, who’s comics have always relied much more on dialogue than visuals to convey their humor, but the illustrations don’t really feel necessary. The last couple of chapters read like surveys rather than fully formed persuasive arguments.
It starts out strong though, and perhaps because it’s also written by a Biologist, it does a great job laying out the known and unknown issues with keeping humans alive for extended periods in the harrowing conditions of space and other-than-Earth planets. Oft-neglected points like the need to essentially create a fully functional biosphere, something we struggle to do even on Earth, are given lots of attention in those early chapters. They clearly relished the chance to describe just how horrible moon dust would be for equipment and astronauts. There’s also an extended discussion of the unknowns surrounding human development in space from conception on; we’ve traditionally only sent adults but an off-world colony couldn’t sustain itself indefinitely without kids.
They’re less confident talking about social factors. They spend an inordinate amount of time explain how we probably won’t get Space Madness, but that we would require infrastructure for dealing with behavioral issues. When they get to the real meat of the sociological issues–that creating off-world colonies means creating societies that might out of necessity make peace with inhuman conditions and in the process lose some of what makes them human, and that such societies could become a threat to Earth–they barely touch it. It’s not as if Expanse (its authors give a back cover quote) didn’t already turn everyone on to a version of this, but I would have liked a more in-depth treatment. It feels like a pulled punch.
Perhaps they chose not to dwell on colony cultures going sour because they figure colonies will be so dependent on Earth that any sort of rebellion is impossible, which is reasonable. But rebellion isn’t the only threat. Ruminating on and accepting the sorts of inhuman tradeoffs “necessary” for a sustainable society off-world could be used to shift the Overton Window in the here-and-now. I don’t think the authors wanted to present space fantasists as horrifying ideologues, but this was of course published before the most famous Mars advocate on our planet gave a salute that would have made even the Militaristic Martians from Expanse blush. In that light I think we do need to ask those questions, and I wish they’d been a bit harsher and less apologetic about spoiling everyone’s fun.
That is not to say I didn’t like it or that it wasn’t good. Their overall premise that you need to send a whole civilization was convincing. I just wish it had allocated its resources a little differently.
A long time ago, I got my hands on Zoids Z Builders (aka Blox) and thought they were pretty cool, but didn’t really chase it further. As I sometimes do, I wondered if there was a modern equivalent, so I looked for ‘scifi robot cube building toys’ and found SnapShips. Over a decade after the debut of Z builders, it’s worth comparing these cube-and-greeble 1/72 scifi building toys of past and present.
Z Builders
Sprues!
The first thing you notice about the Zoids model is just how much of a capital ‘M’ Model Kit it is. Previous Zoids figures where less toy like-they where a little more like something you’d see from Tamaya or Airfix, though they contained motorized play elements. Z builders adds freely moving joints/possibility and a building system instead of a windup mechanism, but you are still looking at sprues when you first open the box, and decals when you finish the build. Like some Gunpla kits, the sprues are made of different colored plastic so no paint is required for a half decent paintjob.
Feel human, use tools
One interesting similarity between ZBuilders and SnapShips is that they both include a small tool for disassembly. SnapShips include a spudger, and Zoids ships with an ‘extractor tool.’
Zoids ‘blox’ elements are 14.7mm, and no rounder in inches.
The stickers are a pain. There is no guide so you have to sort of look at the box and figure out where they go, (again) more like a traditional scale model. They are in a grid and the squares are much larger than the places you need to put them, so you have to cut them to size. After all that, they don’t go on super clear. Wet transfer decals would have been better if they’re not going to die cut them anyway. They do add a nice sense of scale though.
The model is somewhat poseable. It won’t really hold a pose that involves much weight because the rubber joints are rather weak. It’s possible that the decades since it was manufactured have taken a toll on the rubber. Still, robotic dinosaur: very cool. Timeless even.
Wonder how it’s supposed to reload that arm gun without opposable thumbs? Perhaps its teeth…
SnapShips
SnapShips cube elements are 20mm
The SnapShips have much more detailed, Lego style instructions but they aren’t really as needed if you want to build it like a puzzle. The blocks lock together so that rather than flexing, they hold a specific shape. The parts are all in bags – no sprues which is honestly kinda chaotic.
The SnapShips contain three alt-builds each, similar to what Lego does with its Creator theme. I built the forward-swept wing design rather than the front-of-box design.
SnapShips give you tons of rectangular greeble panels, but a cube is relatively large compared to the scale so all of the vehicles you make will turn out very blocky. There are relatively few specialized pieces besides the aforementioned panels. Between sets there’s a strong compatibility at least – there’s only two color schemes. You get prints instead of stickers too. I think the appeal may be limited for SnapShips though. Trying to make something sleek out of something so boxy is going to be a challenge with the part set available, and the boxes are so big compared to the features people will want to capture is going to make that rectilinear form stand out.
Something else to consider about SnapShips is that it’s got a full blown tabletop war game of all things associated with it. Apparently it’s quite similar to X Wing. 1/72 is sort of a huge scale for dogfighting, but some reviewers seem to love it.
It’s always fun to find out about a project after it’s delivered something rather than before.
Lego Island was one of the first 3d games I watched my PC fail to run back in the day. But even if you don’t have a strong affection towards this particular game, it’s really interesting to see what a practical decomp project looks like. Often decompilation is used in malware analysis-trying to rebuild a nontrivial PC game like this is rarely a successful project. Kudos to the devs.
Some enterprising Redditor has taken it up on themselves to log and review all of the free audio plugins they’re trying. There’s a vast ocean of free Audio Plugins out there, so this is useful. Over a hundred plugins reviewed. They have a YouTube channel here.
If you’re an Arcade Fire fan the question is probably not ‘Did pink elephant suck’ but rather ‘was Suburbs the last good album or Reflektor?) Not the single best article to come out about this record, but maybe the one that best captures the disappointment. The record feels, dare I say, court mandated.
So here is a strange question. I underestimated just how sharp exacto knives are while cleaning up the seams on my minis. Can i just use the plastic glue to seal it rather then keep changing bandaids each time it comes back open and bleeds again?
When I saw this, I realized I really did need to write this up. I cannot allow the public to remain uninformed any longer regarding glue!
Plastic Cement
Also known as: Plastic Glue
This stuff smells like nail polish remover, and it’s no coincidence: they both use Acetone. The Acetone in plastic glue liquefies the plastic surfaces and when they re-harden, they’re very well stuck together. Cement is right; this stuff creates very strong bonds. The drawback is that it’s only good for specific plastics; the sort of polystyrene that you see in typical model kits, but it won’t work if you’re attaching a rock to a base or working with resin parts. It also won’t bind up your skin (otherwise nail polish remover would be far more dangerous. If you take nothing else from this article, take this:
You cannot close wounds with plastic cement!
If something is stuck on with plastic cement, your best bet for cutting it off.
SuperGlue
Now, I’m not a doctor, but I’m assured you can close a wound with superglue. It certainly sticks robustly to skin. Cyanoacrylate, the technical term for this type of glue will readily bond skin, so avoid using it without gloves. If you do, I recommend GoJo. CA glue will work with a variety of materials and form very strong bonds, but it has a few drawbacks: it’s finicky about setting. You get a few seconds to hold your bond steady (pressure is good) and then the glue is no good, you’ll need to try again after removing the now-spent glue. If you glue painted parts you need to make sure you don’t get glue anywhere visible, because it dries opaque. Its quick setting can be an asset though; you can pull off poses that would be slightly trickier for a longer setting glue. I hear you can freeze it off, but I haven’t had success with this myself.
PVA Glue
PVA glue, also known as School Glue, is also used in wood glues. It’s the least consequential of glues; you’re not going to poison yourself with it (unless, I imagine, you drink it) and if it sticks to your fingers you can can just wash it off, or rub your fingers together for a few seconds. It’s popular for basing because it’s thick, goopy, and easy to fix if you make a mistake; just add sand! You can even get it premixed with sand in the form of nice basing paste. It can be dissolved by soaking in water for a day or so and then scraping off with a toothpick.
The line between genius and madness is really in play here. I’m of course interested because it’s retromac and EV Nova related, but it’s also a shining example of people doing really interesting things in the retrocomputing space. Today’s technology isn’t the only valid technology to build for.
That site is a relic! you don’t see many sites like that around these days. I was looking for the EarthSiege music to remix, but found the MIDI already perfectly well arranged. You love to see it.
Been following this story, because not only do they seem to be deliberately disregarding the famous cautionary tale of Jurassic Park, they’re also doing it in a way that’s raising fraud-eyebrows, not just safety eyebrows.
Did you ever wonder why the 21st century feels like we’re living in a bad cyberpunk novel from the 1980s?
It’s because these guys read those cyberpunk novels and mistook a dystopia for a road map. They’re rich enough to bend reality to reflect their desires. But we’re not futurists, we’re entertainers! We like to spin yarns about the Torment Nexus because it’s a cool setting for a noir detective story, not because we think Mark Zuckerberg or Andreesen Horowitz should actually pump several billion dollars into creating it. And that’s why I think you should always be wary of SF writers bearing ideas.
When you’re as enthusiastic as I am for old school computing, you’re bound to run into people writing with fondness about Turbo Pascal. I had no idea someone had reverse engineered the thing.
This amounts to what you might call a retraction of the sensational wood-wide-web story you probably heard or saw a few years back, but I wish it was longer snd more detailed. Never heard of undark before, but will keep my eye on it.
This is yet another example of the AI community refusing to play by the rules and justifying their disregard for other people’s freedom of choice with self-aggrandizing platitudes about how what they’re doing is ‘so important’ that the cost to others doesn’t matter.
If the CD player worked, I probably wouldn’t have needed to go this far. In my ’01 I got used to sitting through full albums during the scenic backroads trip from North Canton to Westfield. When I grudgingly traded in the 01 for an 05, the CD player was busted, but low on the list of repair priorities-the ABS module and fuel pressure sensor both failed in short order!
Replacing the CD player was, I figured, about the same work as replacing the whole head unit, so why not just replace the head unit? There are a staggering number of head units available, so I arbitrarily picked Kenwood because I like my 3010. I wanted Android Auto for navigation and music. Another somewhat arbitrary qualification to narrow it down was that I wanted a USB connection instead of Bluetooth. I’ve found this more reliable.
I got a ReadyHarness setup from Crutchfield. I highly recommend this route unless you’re a diehard wiring diagram enthusiast; there’s a lot of wires you need to splice and they do a very neat job of it. Also, it’s rather painful to bench test your work, as I’ll explain further down.
Disassembly Procedure
Luckily, this was well covered by YouTube. Most period P2s seem to have similar consoles, so although I couldn’t find an exact match, I was able to figure out everything I needed to from these videos:
The procedure (so someone has it written out) is basically:
disconnect battery.
Put on emergency brake (this will stick) because next you will…
Put the shifter into drive
Remove shifter trim piece
Remove two screws attaching console assembly, behind the front edge of the shifter trim piece.
Pry/lift out console assembly
Remove bezel from console assembly (all of the screws cracked off of mine so it was just tabs holding it on, but it’s supposed to have screws too.)
Unscrew climate panel and disconnect the cables. There’s one (easy) cable for the cigarette lighter and one mutinous bus connection with a tab. Remove climate panel. Apparently if you do this without disconnecting the battery it will give you a trouble code and mess up the sensor.
Radio is fastened to dash box by several tabs; remove tabs to remove radio.
This all sounds fairly straightforward. I didn’t want to break the extra clip connecting the climate controls from the dashboard assembly though, so I did a lot of work with the console only half out of the car, which turns out to be exhausting. In retrospect I would just break the clip off. The screws are all torx so make sure you have a Torx driver.
Brake light cable saga
Unfortunately, head units with screens seem to need one connection that isn’t on the harness in the ’05: you need to tap the parking brake light wire. This tells the head unit you’re parked so it can pair phones (and I guess play video, if you want that for some reason. I do not.) Since most people seem to just connect it to ground to circumvent the brake requirement, it’s surprisingly hard to find info about doing it the “right” way online. Whelp, there is now!
Accessing the brake cable turned out to be a bit of a mystery. Crutchfield provides nice installation instructions but detailed instructions on the best place to tap the brake cable are hard to find. It turns out that for my money, the easiest move was to lift up the center console and chase down the wire. This video provides instructions for removing the center console.
Note that removing the cigarette lighter plug for the back seats is extremely annoying and probably took 1/4 of the total job time.
The cable in question is easiest to tap right behind the brake lever, but it’s difficult to actually get enough room to do it without moving the center console around. You will have trouble reaching it elsewhere, but you might be able to do the tap just by sliding up the trim piece that attaches to the parking brake knob. I appreciated the extra space afforded by having the center console unscrewed. So I guess that’s a win.
With that tapped, you’re ready to wire up the new radio!
Wiring
You have three cables to manage:
the line tapping the brake cable (green)
USB cable (black, larger)
microphone cable (black, smaller)
All three need to be routed between the center console and the back of the radio. There is a hole at the bottom of the head unit housing and enough room behind the climate control box to make it down to the empty space around the shifter, and through there to the console.
I drilled a hole in the cupholder depression part of the center console to feed the USB and microphone cables through. I plan to drill additional holes in the cupholder to route the cables in the empty void between the cups for a cleaner look and to hold cups again.
The Trouble with bench testing
In order to bench test your radio and make sure you made the connections correctly, you of course need to power the car by (at least) reconnecting the battery. However, you don’t want to connect the battery until you have connected the climate control module again. To get all of that connected, you need to put practically the whole dash back together without fastening it.
Also, do remember to use accessory mode! I managed to drain my battery while bench testing, but luckily I had a jump starter on hand.
Faceplate Scare
I grabbed a Scosche DIN adapter because it was part of the Crutchfield package, and the package seems to be the only way to get the ReadyHarness (which you really, really want.) It connects to the dashboard assembly via a series of tabs just like the stock head unit. Unfortunately, the tabs would not engage! I don’t know if it’s because the fit with the Kenwood was too tight and it was flexing the plastic or what, but at this point, I was pretty worried. Luckily, I happened to have a different faceplate already, from Metra Electronics, purchased back when I’d foolishly planned on doing the harness wiring myself. That one fit perfectly, saving the day!
Final Thoughts
Even with the stock speakers, the new radio sounds great. The lack of a knob is definitely a downgrade, but radios with knobs are considerably more expensive. I did the job over the course of a couple of very cold days in New England in February. In retrospect, I should have started this project when it was warmer. I seem to have bungled the microphone connection and I’m probably not going to bother trying to fix it, because I don’t like talking on the phone while driving. Next fix: the turn signal switch is going bad!
(Dialing this back to a bimonthly post. I want to try and maintain a minimum ratio of one regular post for every link post and that wasn’t happening. Plus February was busy.)
“Weigh the soul of incoming HTTP requests using proof-of-work to stop AI crawlers” kinda says it all. Not totally unlike a cloud flair Captcha thing, another measure to secure your site from inhuman traffic.
Lanner Chronicle has done something really useful here by gathering up what we know about each individual track from Aphex Twin’s daunting SoundCloud dump. This is much more accessable than the spreadsheet… I’m still contemplating doing a wiki though.
My vow to stop making EV-likes has had mixed results. Here, I’ll discuss some of the more interesting aspects of a recent EV-Like, Galactic Night.
Perspective on perspectives
While I did make a serious run at doing a vehicle game in Godot, it was hard to get around just how excellent the affordances of what I’d already built were, and what was lacking in Godot 3. But it didn’t start there. It started with an observation:
First Let’s Play google gives you for “EV Nova.” I haven’t listened to the whole thing, so I can’t vouch for it. But it’s got footage of the game.
Ships in EV Nova (and MPEVMVP, for that matter) are sprites rendered from 3d models. They are rendered with perspective so that when the front of a ship faces the screen, it appears larger than the back. It’s subtle on some ships, obvious on others.
Perspective camera isn’t the norm for sprite games. Most games with pre-rendered sprites use an isometric camera; here’s Starcraft as an example:
First result for broodwar gameplay. The Terran Siege Tanks are the best example of isometry.
For games where the units are in a rich world with lots of points of reference, rendering them in perspective might look wonky. Too much perspective might look wonky under any circumstances! However, the decision to use perspective in the sparse world of Nova lends the ships a sense of scale.
2.5d games that use a full 3d world instead of sprites tend to either use a perspective or isometric camera. It’s easy to implement either in Godot (and other engines) by changing the camera’s mode. But I was curious: could I implement something with a vertex shader that would deform a mesh such that it appeared to have perspective, even while rendered in an isometric view? Perspective, I should note, not truly relative to the camera, but relative to an imaginary camera ‘rendering’ the imaginary ‘sprite’?
This is difficult to convey with words, so I built a demo:
What’s interesting about this, at least to me, is how difficult it is to notice what’s going on. Your brain seems to happily accept the very unnatural perspective. At least mine does. But if you look closely, you can see that no matter where the spaceship (and thus actual iso camera) move, the spinning cubes maintain their fixed perspective, just like sprites in an old school video game.
Flying around was fun, I wanted to do more stuff. It got out of hand. It’s a whole game now.
More Ship Shader Fun
Using a 3d pipeline offered the possibility of using some nice 3d features, exploiting the fact that the textures and effects were in-engine rather than an external pipeline. Nova has engine glows and weapon glows; I implemented those too.
Nova also has an (unused) feature where you can stain your ship a different color. I wanted to try something similar, but nicer:
You can check out the full ship shader here. Note that in GD4 you can split shaders into multiple files, so the important parts are the perspective transform here, and the color swap logic here.
Union Bytes Painter allows for multiple texture layers, so it’s easy-ish to make separate textures for lights, engines, weapons, paint, and a base. It’s a little clunky for exporting though – I need to show/hide layers and export a few times. Still miles better than the Blender workflow I used while working on Flythrough.Space.
Flat Space
I wanted to create a nice set of planets and nail the EV Nova look, so I followed tradition and picked up the venerable LunarCell, which was also used to render the planets for EV Nova. This creates (gorgeous) 2d planet sprites:
Only problem? Lunar Cell doesn’t create masks, just planets on a black background. Solution? This remarkably simple shader:
You’ll notice though that that’s a 2d shader, and the game is 3d. That’s the neat part – the background is a 2d canvas! We use this class to make sure the sprite in 2d space tracks the correct position in 2.5d space:
The background itself is basically the same shader I used in Survive Spacebut with additional special effects you can cue up to make hyperspace more exciting:
I wanted to visually represent folding space, and the looped background made for a unique opportunity to do it. The shader is of course just dropping specific images (Screaming Brain’s awesome Nebula backgrounds) on a couple of layers, but it would look better looped if I did something with Perlin noise.
Procedural Generation
Flythrough.Space used a handmade universe I originally drew on graph paper. While charming, that took a whole lot of work for very little gain at the end of the day. For MPEVMVP I used universe maps generated by Mag Steel Glass’s spreadsheet. Which is fine by all accounts, but I wanted the player to be able to generate new universes on the fly. That’s where I ran into my new best friend: Delauny Triangulation.
Ok, you need to look a bit closely, but in both cases, you’ve got a point cloud that is stitched up by non-overlapping lines. So to generate an EV map, because there’s a library function for that all you need to do is feed it a set of points and get your EV map’s hyperlanes!
That same strategy carried over to Galactic Night, with some modifications, namely the division of space into quadrants to provide a difficulty curve, and the separation of growing biomes from growing faction influence. In Valheim, the game I imitated most on Survive Space, all three are effectively the same; a biome is a difficulty level is a spawn location for various monsters. In Galactic Night, spawns can depend on biome (for asteroid types) faction (for where to spawn enemies or allies) and quadrant (more difficult NPCs.)
Codex
The codex window loads up a folder tree of bbcode (weirdly, Godot’s rich text boxes support this) files and displays them. Item fluff that would usually be embedded in the interface in an EV goes here, a much more conventional placement for a modern game. I never did get around to writing a system for unlocking entries.
Retrospective
I’m proud of the technology and writing that went into Galactic Night, and some of it will certainly be recycled for future projects. I’d be happy if people get any use out of the code or design concepts tested out. I’ll close out with some final thoughts on how the project went.
I think the perspective looked really good, but some people definitely found it jarring. In future projects, it should definitely be an optional feature.
Doing the textures in Union Bytes painter became a slog. Small UI issues compounded over the course of several objects, and it stopped being fun.
Upgrading from GD3 to GD4 mid project was a big hiccup, but ultimately worth it because the syntax of GDscript is far nicer.
Though the procedural universe was really fun to tweak and play with, I don’t think it provided enough stuff for an exploration focused game. Games like Minecraft and Valheim exploit the inherent human desire to play around in a virtual space, and an EV map doesn’t really provide that; in a game like this the contours of the explored world are unique spaceships you find, well written place descriptions, missions, graphics, and the like. I never found a way to work in that level of diversity. Also, I never found an effective way to hint to players that, for example, getting lostech will allow them to increase their tech level and make more options available. Sure, it’s there in the manual, but who’s gonna read that! The upshot was that it felt like a big empty map with nothing particularly interesting going on in it, and no motivation to strike out and try to do stuff. Oh well.
Hindenburg Research is shutting down. They’ve done some excellent investigations, and it’s a shame to see them go. I do worry that this is a canary for being able to say actionable, unflattering things about companies.
An interesting side effect of how surveiled the world is: now incredibly rare natural events are captured on film. Stands in nice contrast to bigfoots and the whole drone situation.
If you’ve ever been curious about what people are watching on Youtube.com these days because you’re an out of touch millennial, this sort of explainer is very informative.
Somehow I missed this earlier in the year, but wanted to make sure it was included. We got three new David Monolith albums this year. I dunno how I missed them. This includes the highly anticipated “Madrid Tack” but more importantly it’s assurance that Dave is out there somewhere doing better than we’d perhaps feared.
So far I’ve only given a thorough listen to Custom Groove Set, and it delivers in a big way. I was a huge fan of Time (2015) and this might be his best record since. Crazy to think that it’s been ten years.
Neat idea for a site – a collection of emails from important tech figures released as part of court proceedings. I haven’t read enough of it to see if there’s a major slant.
Surprise Aphex release this month. It’s nothing a hardcore fan who likes YouTube bootlegs hasn’t already heard, but it makes it easier for people who use streaming music services to enjoy these tracks. T16.5 and rfc pt8 are my favorites. Nightmail remains a bop as well.