Improbable Island Message of the Day (MoTD)

September Monthly Memento, getting ready for the server move
Admin CavemanJoe2023-09-11 15:57:07 [Permalink]
This is an important MotD that affects everyone who enjoys playing Improbable Island, so please read the whole thing. Most MotDs are either chatting about new features or just me doing general bullshitting, this one's actually important, please do read it.

Hello everyone, September's Monthly Memento is the Fucking Nothing. That's right, for your ten dollars, you'll receieve something that looks remarkably similar to the space in your wallet where ten dollars used to be. Weirdly, this has been a really highly acclaimed Monthly Memento over in Banter, so buy it I guess.

Why is it Fucking Nothing this month? Well, because I haven't had time to make it not Fucking Nothing, y'see. Why haven't I had time? Because of our upcoming SERVER MIGRATION OH NO

Now, if you weren't aware, both myself and Improbable Island have been hit with what I'm calling the 2023 Sticky Ball Of Bullshit.
* March-May: cascading financial emergencies related to plumbing, roofing, cats and cars
* Early May: our web host informed us that their older servers (one of which hosts Improbable Island) would be shut down on the 28th of September, and we've gotta move to a new server
* May-August: intensive work updating the entirity of Improbable Island's codebase so that it works with the modern technology that the new web server uses
* Early August: had to take two weeks off for family stuff
* Early September: last-minute change of New Server Destination because I found out our old host got bought out by GoDaddy back in 2016 and entered its final death spiral back in early August while I was doing the family stuff
* Today: We have a new server (with a new company, in a new country), we have the updated Improbable Island code and data that will work on the new server, and I've spent the last week pulling twelve-hour days at the computer, testing and fixing bugs as they come up.

After months of really intensive work, we're in the final stretch, and I need your help to get us over the finish line. We have a testing server configured at that uses the new Improbable Island code, and a copy of the Improbable Island data as of the 6th of September - I need you to go have a damn good poke around at that new server, test every feature and function, and generally try to find places where shit breaks. Note that stuff you do on the test server doesn't affect anything on the live server and vice versa.

When the time comes to perform the migration, which will probably be early next week, the Island will be down for at minimum a few hours, but possibly a day or two. Our Mastodon account at is where you can go to get updates on the migration, please bookmark that page so you'll know where to go if you try to log on to Improbable Island and find that Improbable Island is Not There. This is our only official social media - any other accounts on other websites claiming to represent Improbable Island are nothing to do with us and you shouldn't rely on them for information.

Thank you so much for your patience through all this, and for your support both financial and moral; fingers crossed we can get the final little bits tidied up smoothly and enjoy our wonderfully fast new server.

Wish me luck and have fun!

August Monthly Memento, more migration
Admin CavemanJoe2023-08-03 01:56:20 [Permalink]
Hey folks, August's Monthly Memento is a continuation of July's Monthly Memento because holy shit is there a lot in that attic. Yikes.

Server migration work continues, and is incredibly dull to talk about, but we're on track to get the actual migration done a week or two early, so we're looking at early to mid September.

Have fun! Looking forward to getting out of this boring crap and onto cool new game features! Any day now! I'm slowly going mad with tedium!

July Monthly Memento, migration process
Admin CavemanJoe2023-07-03 15:57:39 [Permalink]
Hello everyone, it's July now and that means we've got a new Monthly Memento (newbies note, this is a special item that you get for giving me a tenner). This month's MM is the Attic Hatch!

Remember the May Emergency MotD? Yup, that's still going on, I'm still rummaging around the Dark And Ancient parts of the game code in preparation for making it not bork in PHP8, I've still got a September deadline, and so this month's Monthly Memento is a trip into those dark and dusty places. You can use the Attic Hatch once a day to ascend into Improbable Island's Weird Technical And Social History and return with a horrible souvenir of a worse and weirder time.

What will you find? The vast expanse of beige we all put up with until Covid lockdown? Ill-advised status-based text replacements? The disastrous way that a Bush/Blair-era codebase handled gender pronouns? Who knows, but there's still enough left to do that August's MM will probably be a sequel to this one.

Have fun!

Migration update, better pronoun support (UPDATE: baccy bandit updates too)
Admin CavemanJoe2023-06-20 15:41:36 [Permalink]
Hey folks, as I go through the game code and find bits that need to be updated, sometimes I write an update that can be reasonably cleanly backported into the current game code, and is too good not to share. In this instance, I'm constantly reminded of this game's lackluster pronoun support whenever I try to do anything where I've gotta output different text for each pronoun, and how I've basically got a cobbled-together hash of $heSheThey crap spewed all over the codebase, so I figured now's as good a time as any to centralize it into a proper Pronoun Support System. As a test, I've enabled access to a this tool inside Places; you can now write a Room or Page description that goes like:

The Joker looks you up and down, then says in a stage whisper to his friend, "Look at [obj]. [Ais] such a badass, [xis]n't [sub]?" who replies, "I think [sub] certainly think[sxs] of [ref] that way, but whether [sub] [xis] or not, well, that remains to be seen."

And these little square-bracket codes will evaluate the character's pronouns and change their content on the fly, so that the player reading that paragraph sees:

The Joker looks you up and down, then says in a stage whisper to his friend, "Look at him. He's such a badass, isn't he?" who replies, "I think he certainly thinks of himself that way, but whether he is or not, well, that remains to be seen."


The Joker looks you up and down, then says in a stage whisper to his friend, "Look at her. She's such a badass, isn't she?" who replies, "I think she certainly thinks of herself that way, but whether she is or not, well, that remains to be seen."


The Joker looks you up and down, then says in a stage whisper to his friend, "Look at them. They're such a badass, aren't they?" who replies, "I think they certainly think of themselves that way, but whether they are or not, well, that remains to be seen."

Aye that's right, this wee thingy is clever enough to know when to use Is or Are, Was or Were, Do or Does, when to add an s or an es or an ies to the end of a word, all without having to furtle a check-pronoun Contrivance from the Scrapyard. Having said that, I'm sure I've missed some stuff out, so check out the complete-so-far list of pronoun-aware text replacement codes and let me know of any I've missed.

Work continues on the server migration, I'd tell you how close I think I am but that would absolutely jinx it so I won't, and I'll just tell you that I enormously appreciate your continued support both financial through donations and moral/emotional through y'all cheering me on whenever you see me in chat.

Have fun,


Update 2023-16-20:
Another thing about this server migration is that I'm coming across bits of the game that I started to add neat features to back in 2021 and then got distracted by something else, and I go to upload these new files and go "Whoops, that's only half-done, I'd better finish it off." So last night I finished off some half-baked 2021 work on the Baccy Bandit at the Prancing Spiderkitty; it has a collector now!

(what the hell does that mean?)

Every stop on each reel has a number on it now. Beneath the reel display are sixteen randomly-chosen numbers, this is the collector line. When one of those numbers appears on the winline, the number in the collector line lights up, and it stays lit up between spins. Light up all sixteen numbers and you get eight cigarettes and a new set of numbers to light up. Go try it, it'll make more sense than me trying to explain it in text here.

(and as I was typing this, I was idly spinning the reels, and got three Watchers for 50 cigarettes! With a hold! So I held all three and spun the forth reel and got four Watchers for 500 cigs! Which would send me into Debugging Hell if I didn't understand that actually random means that unlikely things happen sometimes)

Have fun!

June Monthly Memento, fundraiser update, boring server migration progress
Admin CavemanJoe2023-06-11 20:26:25 [Permalink]
Hey folks, I said in my last MotD that for boring technical reasons I'd be disappearing into the Code Mines for months on end with no new features for y'all and by the way can I please have some money. "Sure," you said, and my goodness thank you. We're still about five grand in the hole from these shitty three months, but that's a damn sight better off than we were when I started the fundraiser about three weeks ago. I'm gonna keep it going a bit longer, but your support so far has blown me away.

June's Monthly Memento is Pride Motherfucker. Remember Motherfucker, from the February 2016 Monthly Memento? Well, I wanted to do something for Pride month, and then I went oh wait every month is Pride month here, and the people making the most money from Pride month are massive corporations run by far-right arseholes who'll sell us rainbow stuff with one hand while giving money to a full-on trans genocide politician with the other, and oh but doesn't that mean we've gotta be extra loud, and oh but Pride is special and we should do something special, and oh this is starting to feel increasingly like the Capitalist Pressure To Do Something Special For Christmas, But In June, and feelings, so many conflicting feelings you guys, so I invented a new character for when you're queer but also feeling like eating out of a dumpster would be fine, and his name is Pride Motherfucker. Get him if you're feeling gay, trashy or both. He'd say "Trans rights are human rights" but he's a raccoon and doesn't speak much English, so Improbable Enterprises says it instead.

Y'all deserve an update on how the server migration preparations are going. Warning: this is boring.

So since we last swapped servers, and also incremented PHP versions, a couple things got EOL'd from PHP. The each() statement is what fucked the Island up good and proper when trying to fire it up in PHP8, because each() isn't a thing anymore. Now I never used each(), always foreach() instead, but the older parts of the game code looooved it some each(). So, every single function that used each() had to be refactored.

Then, join() got changed about too, now being an alias of implode() and being picky about whether you pass the array or the delimiter first. A sensible change, but again one that required a lot of bollocking about.

That wasn't too bad. The database changes are what's taken the longest time so far - MySQL will now throw an error if you enter 0000-00-00 00:00:00 as a date in a datetime column (there are settings you can change to ignore that, but that's just kicking the can down the road and we'd be fucking with it more in a few years anyway), I guess because there's no such date as the 0th of month 0. Things like the column "clanjoindate" are set to 0000-00-00 00:00:00 if you haven't joined a clan, and there were scores more just like that, so that necessitated both database changes and bollocking about with the PHP code so that it no longer looks for the Forbidden Numbers.

So, yeah, Big Fucking Job so far. I haven't even told you about the translations engine, hoo boy, but one positive bit of this is that regardless of the hardware upgrade - and it'll be a major hardware upgrade - the Island will run much faster.

Actually fuck it yeah I'm gonna tell you about the translations engine, but real short version: for incredibly dull reasons I've had to manually check every single line of text in the game code. This has allowed me to find some places where the writing hasn't aged well, and find some modules that just plain suck, and it's given me the opportunity to rework a couple things, correct some formatting errors, update some jokes that were the height of fashion in the It's Cool To Be Edgy era of internet, and generally tidy stuff up as I go along.

I'm by no means finished and there's a lot of work ahead of me, but I feel pretty good about what I've managed to accomplish in the three weeks or so since we got word that we had a deadline for the changeover.

I really sincerely appreciate your cold hard cash support as well as your patience as I grind through this stack of shite. You might've seen me bitching about the workload in Banter and commiserated with me, and I appreciate that too, a whole bunch.

More coming, and have fun,

We're in trouble and need some money
Admin CavemanJoe2023-05-22 17:35:18 [Permalink]
Hey folks, we are officially In Trouble and I need your help.

The short version: We need a lot of money in a very short time and I can't give you much exciting stuff in return for several months. I know, shit isn't it, but the long version explains a bit better.

You might remember back in March our roof started leaking while I was writing the new chat system. Sorting it out enough to last another couple of years was a big job that involved demolishing the chimney (and replacing the hot water heater, which was the only reason we even had a chimney - cheaper than rebuilding, y'see) and it ended up about three grand, to which I said "Hell, I should probably do a fundraiser on the Island, after I get this new chat system written up and in."

Well, shortly after that in April, I took my car to the mechanic because it was making a Noise and I don't have a lift or garage or even driveway to fiddle with it. The mechanic said "Come and have a look at this," which is their way of saying "Oof you're gonna spend some money here pal," and took me under the car and pointed at things so he could hear me say "Oh" and "Sheesh" and "Yikes" and "Fuck Pennsylvania winters." I left the mechanic two days later a couple of grand lighter, and thought "Damn, I really need to get on that fundraiser thing, just make it a bigger one. Tie them together." But by then I was thoroughly invested in making Places run faster, so all my Island time was going into that.

End of April, my web host emails me to say hey, we're decommissioning all our first-gen dedicated servers, you've got until September to make arrangements to move. I go "Well I've been meaning to upgrade this box anyway, the new ones are faster for less money," and I check out their annual plans and it'll save a couple of hundred quid to buy a year at once rather than doing it monthly like we've been doing for the past 15 years. But to do that, I need to have a couple of grand up front.

I also need, since the new server will be running PHP8, to remove/replace/rewrite all the parts of the game code that won't work with this new PHP version. So I go to Goodwill and spend $50 on a computer that's new enough to run the software I need, replicate the new server's environment on that Goodwill box and copy the Island over to it to see what breaks. Basically everything breaks. I start rewriting stuff, beginning with the Inventory display - the good news is nearly all of it will be backward-compatible, which is part of why you have a shiny new Inventory screen now. That $50 Goodwill box is my full-time dev machine now btw, it's nearly twice as fast as my old one and uses way less electricity yay.

(I looked at the manufacturing date on my old processor and went "2009, eh, that's only four years old," and then I counted again before crumbling to dust like that bloke at the end of The Last Crusade)

Anyway then in mid-May my cat went blind. Harley, I mean, the Improbable Island Official Cat as of last year when Stewart passed away. I take him to the vet. Guess how much the bill was? If you're thinking "This is gonna be a couple of grand isn't it," well that's exactly what I was thinking in the waiting room. Along with "Well shit, I hope he even wakes up from the anesthesia."

Well, good news, it were only a grand and a half. And now he's on daily pills and only mostly blind. We're taking him back next week for a followup, fuck knows how much that's gonna be.

At this point if I don't get this fundraiser thing moving now, then I'm sure something else will come along to give me a big fucking hint to get a fundraiser going, so here's the fundraiser. If you care about this game and want it to continue, give us some money.

What do you get in return?

Well, when we've done fundraisers in years past, I've usually accompanied them with some fancy new game feature or bundle deal or something, but today the circumstances are different.

When I fired up the Island on my PHP8-having test box, it output some error messages. And by that, I mean it output so many notices, warnings and error messages, one after the other, that Firefox sat and spun a circle for five minutes, the scrollbar getting smaller and smaller, until it ran out of memory and crashed. That's right, PHP8 got its red pen out and nitpicked so hard that my browser couldn't even load its full list of complaints.

When we did our last server move, back in 2017, you all had written the equivalent of a thousand copies of The Fellowship Of The Ring. We're now at closer to a thousand copies of the entire trilogy, and PHP8 has something to moan about regarding the vast majority of it.

So this is not going to be a quick, straightforward, fix-a-couple-of-things-and-we're-good server migration like last time. This is going to be the sort of job that takes months of very intensive work, diving into the parts of the game code that haven't been touched since the Bush and Blair years, just to make the Island work at all on the new machine. Which we have to move the Island to. Before September. Oh, and I've got two weeks before Nerv's off school for the summer.

So, yeah. Got a bit of an emergency going on. I spent all of last week (except for the vet visit) fixing stuff just to get to the point where I could log in to the game on PHP8 and fight one jungle monster.

As I'm sure you're aware, this is kind of a big game. All of my coding time and energy is going to be invested in simply getting it all to work with modern PHP/MySQl, I simply haven't the spare time to code up something really neat and cool and profitable.

So really the best I can do, for now, is to restock the beloved old Hunter's Lodge Selection Boxes, and promise something really neat in... five months! Check the Lodge for details on the Hunter's Lodge Selection Box, the Deluxe Selection Box, the Builder's Selection Box and the Programmer's Selection Box.

Have fun, gimme yer money, and wish me luck as I dive deep into the code mine and don't return for several months,

I fucked about with your Inventory
Admin CavemanJoe2023-05-08 16:38:03 [Permalink]
Hey folks, I spent the past couple of weeks having a good old bollock about with the Inventory display, to make it less shitty on mobile. While I was in there I figured I'd make it less shitty on desktop too, so now we've got this new thingy. Improvements over the old one:
* Per-carrier display options; choose between grid layout, compact list or Show Fucking Everything, and have different settings on your Backpack, Bandolier, Shoebox and all your other nooks and crannies.
* Display options stored browser-side; no more having to change your settings when you go between your phone and your computer, they're all stored in cookies now.
* Expanded items stay expanded; if you're in Grid or List mode and you make an item Big by clicking it, it'll stay Big between pageloads until you click it again to unBig it. In Grid mode, Biggened items go to the top of the list rather than leaving shitty amateur-hour gaps around themselves.
* For items usable in a fight we now say "Equip" instead of saying "Transfer to Advanced Bandolier" like a huge programmy nerd.
* Actually usable on mobile. Jesus, remember what it was like before? HORRIFIC
* It's not a massive fucking HTML table anymore, it's a buncha divs all modern-fancy-style. I put this at the end because nobody cares about this except web devs, and nobody cares what web devs think except other web devs.

Have fun!

Happy May Day everyone!
Admin CavemanJoe2023-05-01 16:30:36 [Permalink]
Every year I wonder whether to theme May's Monthly Memento around International Worker's Day, or around sinister/horny/incomprehensible British Isles May Day celebrations, so this year I did both. The May Day Animal Head frightens the camera operators into giving you some extra money in exchange for forgetting the May Day tradition of getting furry and burning a cop. Lhude sing cuccu!

Have fun!

Massive Place performance improvements!
Admin CavemanJoe2023-04-18 19:15:17 [Permalink]
Hey everyone, this week and last I've been poking around Valskyr at V35 on the map. It's one of the Island's bigger and more complex Places, so I thought it'd be a good test candidate to try out some improvements to the Place loading and saving routines I've been messing about with.

If you're not familiar with Places and Place Programming, Places are the player-owned structures you can see on the Travel page, and they can get super complex - not just as cool things to look around and sightsee and read some cool writing, but also as ways to get special Mementos and play whole wee mini(and-not-so-mini)games that our players have come up with.

Valskyr is one of the Island's more complex Places, using lots of Memories (bits of data about a player's progress that can be saved inside the Place), and it was taking forty-five seconds to load its entrance page. I've buggered about significantly with the Places backend over the past week, and now it's loading in two seconds!

So if you've ever been curious about Places, but were put off by wondering if your internet connection was shagged or not, try them again 'cause they're super quick now.

Have fun!

April's Monthly Memento
Admin CavemanJoe2023-04-11 19:00:50 [Permalink]
Hey folks, April's Monthly Memento is the Travel Pass!

Not, not the Travle Pass, notice it's spelled properly, this is the Travel Pass for the new Kittania Cat-A-Pult!

The new chat system is going well; I fixed a couple bugs this morning, and also buffered Place Program debug output so Places don't take so horribly long to load when you've got a big Program and debugging turned on. I also added headers to make it easier to see which program's being run, for you folk who like the Run Program contraption.

Have fun and gimme yer money,

MoTD Archives: