- Remember the blog post about the "racism" bug? Well, it's fixed again. No more manually adding support for weird characters for the rest of eternity.
This time it's almost certainly fixed for good. That said, there's also a very decent chance I may have made that bug worse. Only time and your angry comments will tell.
- Fixed the game's rendering on 5:4 aspect ratio screens, which should allow cavemen to play Outcore.
- Fixed the memory window not recognizing Lumi being dropped into it for some players
Attempted to fix a bug that makes the game break for people who have French names (I'm dead serious. More details below)
Upgraded the engine version. This will hopefully help fix rare crash bugs
Made it easier for hackers to write an autosplitter for Outcore.
French names bug
For some players, when Lumi asks the player to open a folder such as "Documents" or "Downloads", she fails to recognize the folders being opened. She simply stands there doing nothing, leaving players confused.
After receiving several "Player.log" files from players who encountered this bug I noticed something common: They all appear to have French Windows usernames.
"Doctor Shinobi, you little clown, did you just make a racist bug?"
Woah woah woah hold on, I can explain everything. I suddenly remembered it's not just French! This also used to happen with... Turkish people!
"Great, now you're racist against the Turkish people too"
Or am I...??? I'm going to prove my innocence by presenting the technical details behind this bug.
Why this bug happens
Aright nerds, let's dive in.
I previously publicly mentioned that when you play Outcore you actually run 2 apps at the same time:
Outcore, the game.
A special invisible program I wrote called "WindowsUtility", which in short we'll call WU.
I wrote WU to assist Outcore with interacting with your Windows OS. For example, you know how at the beginning of the game Lumi's glitch blob points you to her first file? It knows its position on the screen thanks to WU.
Outcore and WU communicate with each other like a server and a client, except they are both on your computer. The bug occurs inside WU, way before the information is communicated to Outcore.
When Lumi asks you to open a folder, she instructs WU to check the address of any folder that you open. Let's say Lumi asks the player to open the Downloads folder. Outcore will send a love letter to WU saying "Hey WU, my brother which I dearly love. please let me know when a folder with the address 'C:\Users\DoctorShinobi\Downloads' is opened and focused"
WU will then check the address of every folder that is opened. If it's equal to C:\Users\DoctorShinobi\Downloads then WU will respond to Outcore with this letter: "Greetings, Outcore, my twin sibling which I definitely do not hate for being more popular than me, the folder you requested has been opened by the master of this computer".
Outcore will then notify Lumi about this exciting news. She will change animation and probably say something like "wow look at this, it's my file, yeaaahh let's gooo".
BUT
French names, amright? In French you have these accented letters such as "é, è, ê, ô, û, à, É, È, Ê, Ô, Û, À, ï, Ï, ë, Ë", and more!
Let's imagine this hypothetical universe in which I am French. Lumi would ask WU to monitor this folder: C:\Users\DôctôrShinôbï\Downloads When the folder is opened and WU checks its address, it's actually going to read something that looks like this: C%3A%5CUsers%5CD%F4ct%F4rShin%F4b%EF%5CDownloads
Weird, right? I'll tell you why it looks like this. If you ever looked at a website's address, you'd often see symbols like this. I don't know what's up with URLs but they don't really support all types of characters. To work around that, browsers/websites encode the URL addresses, which is called "escaping". When you escape a URL, you're replacing all special characters with regular ones that represent them.
For example, "/" is replaced with "%5C". "ô" is replaced with "%F4", and so on... Then after the escaped URL is transferred somewhere, the receiving end can unescape it to get the original text. The folder URL that WU reads is escaped. to Unescape it, I use a C# function called "Uri.UnescapeDataString". It works well most of the time, but it fails to unescape accented letters for some reason.
The somewhat bizarre solution is to manually unescape the URLs myself. This is something I've done in the past with accented Turkish letters, but had to extend with more letters for the French ones:
Can't say I'm super happy with this since I keep discovering new letters that need to be added. But at least it should be good enough for most cases.
If you still encounter this issue then let me know in the Steam forums on the game's Discord server
EDIT: Turns out some people still encountered the issue. This was expected since manually adding special characters to that function is a poor solution.
Some folk in the comments mentioned a function called "HttpUtility.UrlDecode", which lets me choose the encoding to use when unescaping the URL. After some fiddling, I eventually discovered the URL is encoded using UTF7. What even is UTF7? Never have I seen anyone use that encoding. URI.UnescapeDataString probably uses UTF8 or something else, which explains why it didn't work.
THIS time it should definitely be fixed for good... probably
- Attempted to fix a case where the player's settings fail to load - Attempted to fix an error preventing the memory window from opening - Fixed an error preventing some windows from being closed (such as the memory loader) - Added a bunch of safety checks which should help me identify the source of some errors.
Outcore can now be played in French! The translations were made by Alexis Barroso, Alexis Deschamps, Léo L'hoost ,Maude Nantel, Kariane Lacharité from PrismaLoc
Nerfed Captain Tutorial to be less difficult than the final boss of a Souls game
Fixed an issue preventing Paint from being opened on some computers
Fixed a bunch of errors that occurred in the background for some people
- Increased the maximum resolution a safe key can be before Lumi tells the player it's too big - The second safe key will now require slightly fewer pixels before Lumi considers it big enough/filled - The core of the computer boss's dash attack will now lock on 0.4 seconds faster. This will make it easier for players to dodge
Have you ever played Outcore, finished the nightmare flashback that ends with the main menu showing up, and then quit the game because you thought that was the end? Well, this patch is for you:
At the end of the nightmare flashback - pressing "exit" will now cause a group of clowns to break into your house, beat your ass, spread weird rumors about you among your friends, and continue the game into the next story chapter because you didn't finish the game.
One bug that's been haunting the game since even before it was released is the black screen bug. If you open the game and at any point your desktop shows up as a solid black screen, then congratulations, you've been hit with the black screen bug.
This without a doubt is the worst issue the game ever had. It makes the game unplayable, and I can't reproduce it on my computer so I can't even attempt to fix it. To make it worse, this bug happens to different people for different reasons, and therefore there isn't just one solution to this bug.
In this post, I'll discuss all the currently known ways to bypass the bug.
When launching the game through Steam, choose either the 2nd or 3rd launch option - These options run the game using OpenGL (2nd option) and Vulkan (3rd option) instead of DirectX. For some people, this works.
Disable fullscreen optimization - Steam user kowareta found a way that also fixes the issue for some people (right click the game file in Windows, not Steam)
Turn off fullscreen effects in your graphics driver's control panel - Something I noticed is that the configuration of your graphics card can cause black screens. For example, if your "Antialiasing - FXAA" is turned on then you'll very likely get a black screen. Make sure to turn this off and any other fullscreen effects
That's all the known workarounds for now. If more will be found in the future then I'll make sure to update this post.