Logo Pending


Not Ultima or even God forbid the Bible. I mean of course the one following the Tumblr porn ban. I’ve mentioned it on Discord once or twice but when you’re using a service like Tumblr to host and serve your content, a service provided by a company you can’t meaningfully control, you run the risk. The service will eventually cease to be (GeoCities says hello), the company decides to make one too many dumb functionality changes, or as happened now the advertisers force the company’s hand and they do the most fucktarded thing imaginable, in the worst way.

But to say you’ll just jump ship from the one company’s service to another? That’s just sitting and waiting for the other service to take a turn fucking up.

That’s why you sigh, fork over a tenner a month, if even that much, and get your own damn server. Do what you want, host your own blog and all its content. Use the services, untrustworthy as they are, to announce the content.

[ ] Leave a Comment

On fonts

SCI, being rooted in MS-DOS and from a time before Unicode (fun fact, the first draft proposal dates back to 1988, when King’s Quest 4 came out as the first SCI game), SCI uses an 8-bit string format. That is, each character in a string is one byte, and that’s all it can be. Making strings one of very few standard data types in SCI that aren’t 16-bits and requiring a dedicated kernel call to manipulate (as seen in KQ4 Copy Protection) but that’s not the point here.

American releases of SCI games would normally have font resources ranging only up to 128 characters, with the Sierra logo at 0x01 and ~ at 0x7E. Only caring about newlines, all other characters are considered printable. European releases would include usually not 256 but 226 characters, up to ß at 0xE1, basically copying code page 437 but leaving out the graphical elements among others. This means, of course, that a Russian translation of such a game would require another custom font copying code page 866 instead.

And then there’s the whole thing where SCI Companion uses the Win-1252 code page (it’s not exactly a Unicode application) which makes translated games look pretty wild:

Ich glaube Dir gern, daá Du das tun m”chtest!

That doesn’t look quite right. That’s supposed to be “Ich glaube Dir gern, daß Du das tun möchtest!” And indeed, comparing things between DOS-437 and Win-1252, we see that á and ß are both encoded in the same byte value.

That’s the kind of bullshit Unicode was made for, isn’t it?

Continue reading “On fonts”

[ , ] Leave a Comment

Musings on iMuse

One of the things I think LucasArts got Sierra beat in with regards to their old point-and-click adventure games has to be the music. I don’t mean that the music itself is better, but the underlying technology.

In SCI, a given music track can have cue points and a loop. These cue points can increase or set a value visible to the game engine, and let the game time things accordingly. Notable examples off the top of my head include the singalong text and images in Freddy Pharkas Frontier Pharmacist, the selection highlight following the beat in Quest For Glory, the singalong in Leisure Suit Larry 6… yeah.

But that’s just one way. The song can nudge the game, and that’s about it. A harmless bit of Mickey Mousing at best.

iMuse, on the other hand? The DirectMusic of its day. Remember DirectMusic? Me neither. Anyway, an iMuse song (near as I understand it) has queued triggers and a sense of beat, allowing the game to say “hey, switch to the cartographer’s version of Woodtick” and the song would wait for the current beat to finish, play a little flourish, and seamlessly transition into a different song. You could cancel them too, if you were fast enough. And let’s not get into the most triumphant example I’ve heard so far, X-Wing/Tie Fighter.

I figure if you give an SCI track beat markers, preload a fill riff, and have a script listen for requests, you might be able to approximate the basics. If you’re playing variations of the same song that only differ in instruments, you might be able to mute specific tracks, or send raw “Program Change” messages if you’re really adventurous…

But yeah. That’s why you can have proper MIDI dumps of SCI games, but you can’t quite hack it with most SCUMM games.

[ , , , ] Leave a Comment

What’s even the deal with felinese?

I’m glad you didn’t ask. When I originally started my Felin mod for Starbound, there was no associated conlang. I had some signage that I’d written in the Standard Galactic Alphabet from Commander Keen, but that’s about it. I did early on have the idea to make the felin very sexually open, with sex workers you could visit (even if not buy services from) that would be heavily implied to be self-employed and happy with their job and all that.

They had this sign at the door:

If you can read SGA, you can figure out what this says. Or just hover over it like a caveman. The sex workers themselves, even though the term would never appear on-screen, were defined in the prostitute.npctype file. All was good for a few weeks or so.

And then I got a private message from one of the forum moderators:

Someone has just reported the mod, claiming that there is a “prostitution NPC” included as an “undocumented and unreported ‘feature'”. Now, I thought I’d bring this up with you before anything else. Is there any truth to this? Maybe the NPC in question exists, but is not a prostitute. Or the person reporting it is just plain wrong. In any case, I’d like to hear from you about this.

I will never forget that moment.

So what I ended up doing to appease the mod (who agreed that the person reporting it was wrong) was to rename the NPC to something less explicit. A comforter, perhaps? And that’s what almost immediately evolved into the Four Paths that the felin follow, making prostitutes a kind of comforter, along with doctors and bartenders. But that’s another dumb story.

That just left the sign. The most explicit, visible thing about the prostitutes. It wouldn’t be that difficult to find out what that second line involves. So I what I decided I’d do was, I’d rewrite the sign. But there’s only so much space on it…

If “intercourse” won’t fit, and another language is too readable, why not use your own?

Even if you can read SGA, you’ll find there are characters on this sign that you can’t recognize. And yet, this says basically the same thing as the other sign, including the full word for “intercourse”, in a completely functional language with 2,379 words and counting.

Those two words were quite literally the first I’d defined.

[ , ] 1 Comment on What’s even the deal with felinese?

The State of Noxico

Okay so what has happened to Noxico this past year. Let’s see, can’t be a lot, right?

First of all, I moved the thing to Github. The Bitbucket repo is still there, but I can’t say for how long. Going by the commit history as seen on Github…

  1. Reworked a bunch of text things to use Lua in hopes of making i18n easier.
  2. Added color support to fonts.
  3. Fixed a dumb bug that removed water when restoring a game.
  4. Added general support for weighted lists.
  5. Used testing characters to reveal and fix a bunch of things.
  6. Added a Markov chain option to name generation. 
  7. Reworked clothes tearing to give clothing a torn token instead of replacing them with entirely different items.
  8. Made character stats defined in Lua.
  9. Completely reworked the walkaround UI. Again.
  10. Overhauled the mod system, because I like Starbound.
  11. Added a test arena option, because I guess I kinda like Dwarf Fortress?
  12. Finally started on the team behavior thing that I’d been sitting on all this time.

In roughly that chronological order. I’m not sure about some of the Lua things, because of the whole “start from index 1” bullshit, but eeeh. It certainly bit me when I tried to convert the team behavior lookups to Lua, and that makes me worry about the attack multipliers.

[ ] Leave a Comment