Day 85
Steam had a few comments for rejection. The store page, at least the response I got was not completely hopeless; just a technical correction or three.
It was 1:45 AM, Sunday May 15, and when I was finishing up with some goals in video games (with mixed results), I noticed the Steam replies, and I could not sleep on that kind of suspense!
Second message, at this point all my nerves are really getting to me! On one hand, if I'm not crossing some kind of line, I'm not trying hard enough. On the other hand, always bet on disappointment, so I can't help but nonstop anticipate serious blockages. Either way, it's hard to think rationally, from both mild sleep deprivation and getting all worked up over this event in my life.
3AM, and that's 1 of 2. Now I need to find where the save of "scarletboots.ini" is kept locally. I know I looked that up somewhere else; it just slips my mind and I can't be bothered to dig through loads of dev diary for it.
AppData / Local / The_Way_of_the_Badass
Here's hoping I try to remember. But for now, since I'm still in talks with the Valve and Steam team, I want to keep my build of the game consistent with what's in their hands. Meaning there will be no more changes to the game (and no more actual concluded entries of this Dev Diary) until either my game goes live, or that effort is completely FUBAR.
First impression says that, as of this weekend, it is not yet hopeless. Given my lecture about "the difference between hard and hopeless," that is encouraging.
4AM, about 2 and a quarter hours of work on this. The things we do for love. Should take a couple days, but this came back to me faster than expected. As I said, to make sure we're all on the same page, there will be no more changes to my game for the short-term future.
(Wednesday, May 18, 2022)
HOLY SHIT! The moment I sent the email of the store page going live (with the game portion still taking more extensive review by the team...fingers crossed but anxiety welling up), I wasted no time in starting to build my presence over on Steam's Discussions forums! I really wanted a booming and powerful "Hello", so I will be saving that as a separate document, because like ALL my writing, it is (in my highly biased opinion) a work of literary art. And I will share that with you, since I can't presume you all have full access to Steam (or are not willing to make yet another username and password to add to the long list).
Took me about 2 hours of effort setting that up. And it was extremely fun, testing things out and starting to build my presence. Question is, how long will this last before I get into trouble for any number of censorship reasons?
2:20 AM, I got introduced to the censorship robot on the forum discussion. I know I've seen it before, but this is the first instance of it trespassing in the Kingdom of Badass! If there's no way for me to turn it off, I can at least draw a cute cartoon demonstrating what I mean by "public executions". Don't worry, no real-world harm is intended even here; it's just a cartoon.
(Friday...)
Overall, it's been a very quiet week. The news of my store page has got me extremely excited, though I've only got congratulations from a friend or 2, and that's it. I don't think anyone new has been roped in, even if some of the market images are admittedly placeholder. But I don't think that's the main reason for such anticlimax; I really think this is the par for the course.
The game build ITSELF is still in a limbo state to my understanding, relative to Steam allowing it to go live and be downloaded, and as I posted on social media, no change will be brought to the game until after either my full game goes live, or the effort proves futile. This is to make sure the platform and I remain on the same page about the exact state of the game. It's been a good excuse to watch Youtube, though I'm itching to get back to creating for this game - specifically, filling more of Scarlet's Diary with lore and for starting work on Chapter 3.
For what-if, when or if that game goes live, the basic call to action for you is simple: download and play the game, review it (good or bad, either way, just be honest), and tell everyone you can about it. Without that, I'm stuck shouting in a vacuum like I've been doing ever since, approximately, 2010.
Communication is key. It's not just me posting these to you, it's equally important that YOU talk to ME! There was a time not too long ago, in the COVID era, I felt like I was living in solitary. That may not be the case NOW, but let's prevent that from happening again. OK?
(Monday...)
So, May 23, and I gave a nudge to Steam, specifically the open and pending support ticket for them reviewing the game build. I promised to not change the game until either the build goes live, or the effort proves futile. And the fact I got my store page up to the public indicates that this is not yet completely hopeless. Even with one real week of silence on Steam's end, which is why I felt it was fair to give them a friendly nudge.
OH, and someone put my game on wishlist. What the fuck?!
(June 3, 2022...)
My GOD, it's been weeks and weeks of delay. And only now did I try to download the game from Steam, which believe it or not, actually worked. Full details here, both the good and the bad.
https://store.steampowered.com/news/app/1998760/view/3372646384225668845
As I said there, it's almost birthday time, so...like I did with Violet in March, I'm going to shunt the priority list by adding a very special companion you can cheat in.
2:15 PM, clearing a backlog of messages, turning social media off, so I can focus on drawing! Put on that music!
2:20 PM, let's get started!
There are also 2 sound effects I want to create for this: the FOOMP sound of heavy metal sabatons charging to battle, and the BOOSH sound of the Rail Rifle Mark 2 (codenamed "Faderator" in honor of a special debug weapon of Fallout New Vegas). Both of which need to be fitting for the "King of Badass" and the "King of the Rifles"!
3 PM, about 4 frames of animation for the Colonel facing right. I really wanted to give this vibe of "a spring in his step" and, more importantly, the "leaping into action" vibe! MOST characters get about 3 frames of animation, but the Colonel deserved a little better, so I gave him 5.
3:15 PM, I like the jiggly physics. Counterintuitive to wearing full metal power armor, but it's extremely cartoony and animated. Though in practice, he looks less like he's charging into action, and more like the march of a Terminator. Still cool, just not QUITE what I was going for!
Time to do it again, for him facing LEFT!
3: 50 PM, left side is now looking good enough, first impression.
4 PM, good enough. Now, time to code him in, and add the ammo type: the signature RAIL! For funsies, I took a picture of my arm, and drew the cartoon Rail on that image, just to give you the canonical proportion of what he's supposed to be firing.

Next, was sounds. The iconic *TOOM* sound of the Rail Rifle needed to be captured. My voice, as with many sounds, was the starting point. I tried distortion to various levels, which did have a decent "crunch" sound, but it didn't have that heavy-hitting vibe. What really got closer to the mark was when I cranked up the bass to ultra levels. Even subtle levels of distortion create a pixelated sound, which is NOT the right vibe for a rapid-firing Rail Rifle!
4:30 PM, sound balancing to see how the sound effects stack up with the rest of stuff in game, I used the debug key for "Press Button to TOOM!"
And debug key is not working. Tried a different sound effect, still had no sound. Sound works when I tell it to happen when knife spawns, so that's weird the debug key won't make it work.
5 PM, had some interruptions, and I'll have to think about the sound for the metal footsteps, but for now, I want to focus on coding in the Colonel! So that with access of the cheats menu, he can be totally playable as a companion!
Then I realized, I'm going to need a reload animation for the Colonel! One thing at a time...let's first get the basic model in-game.
5:35 PM, most of it is copy-pasted code from what I had with Violet, just deleting the grenade segment (not applicable) and changing "LMG Bullet" to "Rail", or similar matters. Also I'm setting the Rail speed to 250 instead of 300, because combine that with the much larger sprite, and I'm hoping to slightly mitigate the "flying sword physics" that the game engine employs for sufficiently fast objects. It's not like a bullet as you'd think of it streaking through air. It's like it jumps from point to point, and never touches anything in between those jumps, BUT if it moves SLOW ENOUGH, it creates the ILLUSION of normal movement. "Flying Sword" is a reference to Myth of the Epic Force since that's how the spacecraft of the 3 characters behaves.
I've been back in the saddle for 3 hours now, and I'm debating about taking a lunch / dinner break. Either way, I am so happy to be moving again!
Then I realized I was accidentally writing the code for Violet, mixing that up with Colonel. Oops. Big undo, coming up! After that, let's close up Violet's object window to prevent another misunderstanding.
6:15 PM, I think MOST of the coding is done now, particularly double-checking that it's for the Colonel this time. Meal break, then after the break, it'll be testing and debugging, and once that's working close enough, animate reloading and implement that.
6:50 PM, break's over. The one code I almost forgot is getting the companion room to add the Colonel.
7 PM, forgot the UI for City Streets 4 was turned off. Not sure if that made it into the main release...either way, that's the area of the first boss fight.
7:10 PM, no Colonel. Here we go again, back on the debugging rodeo. Debug menu is very interesting. It thinks that on main menu, there's a load of unneeded Charisma instances.
7:20 PM, the break point for debugging shows that the if-then for creating Colonel instance IS being read, just no instance is actually created. Ammo variable is updated on the world map, but not before then, which is a bit weird since I tried loading all that in the frontend of the game's start.
7:30 PM, well, telling the Chapter 1 manhole at World Map creates the Colonel instance, according to debugger. But for some reason, he doesn't survive past that. Let's see if making a Step check in Scarlet makes her summon her father more reliably.
...NOPE!
7:40 PM, making him a persistent object works. Good enough. Now just to tell him to get deleted whenever returning to the main menu. (He's already hidden, but this is more of a just to be sure sort of thing.) Now that the bulk of that is working, it's time to tweak the rate of fire for the rifle.
7:45 PM, got a good image capture of the Rail Rifle, and I see a couple things. First, the space absolutely helps cover the ground of "Flying Sword" physics, so that's good. But, 1) each aril is bigger than the gun; 2) they originate from inside the Colonel, not his rifle, and 3) having it shoot too fast makes the firing sound effect come out like crap.

8 PM, I tried to run the game on Steam from an alternate account, and found that it only took me to the store page when I did. So, I guess playing proper through Steam is something only I as the developer can do, and that the true "Early Access" is still in limbo.
And I've been at it for about 5 hours (6 grand total, before subtracting breaks), so with that disheartening revelation (and me trying to edit the original announcement has to go through more stringent checks than creating a whole new announcement), I think it's best to just be done with it for now.
(Monday...)
Happy D-Day, everybody! For whatever reason, it just felt hard getting out of bed, but here I am. After a weekend of games, I wanted to try and finish what seems almost done. Also, I know how silly it is calling this one "day" when it took weeks of limbo, and half-complete portions that all spanned so much real time. Don't call me out on that, things didn't go to plan and impulses be that way with me.
6:40 PM, let's get started! Tweaking the rails themselves is the first, easy step to get back on track. Smaller, more in front so it aligns with the rifle, that sort of thing.
The trickier part about rail positioning is that it needs to be slightly to the right, if he's facing right, or slightly left if he's facing left. One coverall will look weird when it's the other way around.
6:50 PM, after skimming the manual, a "sprite_exist" piece of code exists in the engine, but I'm not sure if that means "If this specific sprite is happening right now", or "If this specific sprite just exists SOMEWHERE in the code AT ALL". It's one of those times where details do matter.
7PM, a simpler way for getting rid of companions on the title screen (since the "persistant" flag means no number of delete commands are getting rid of them), is to move the "Instances" layer below the background and all the other stuff happening on-screen. If we can't clear it, we can at least give the ILLUSION that it's been cleared. Also, for debugging, I'm setting the rail speed a lot slower so I can better see where it's spawning at, relative to Colonel and his Rail Rifle.
And, the debug shows that it's just spawning to the left. Speed set back to normal since I got the info I needed. And it only checks to see if the sprite exists ANYWHERE in the game code, which sucks for what I'm trying to do. Did I do anything different for Violet?
Doesn't look like it. And now I can sort of see why. It's going to take some notably more complex coding just to check if a character is facing left or right.
7:20 PM, at least now we mostly copy-pasted the clock-and-hand structure used for Violet to define rate of fire. Just change "Violet" to "Colonel", and tweak it as necessary so we get the feeling "just right". The Rail Rifle Mark 2 does NOT have minigun rate of fire, or else the "fire a shot every in-game frame of animation" could actually be fine as-is.
I almost forgot about the sound effect toggle for the new Rail Rifle sound.
That aside, bad news is that the check for the rail position is not working. It just has it shoot from his middle. Good news, the companion purge behind-the-scenes is updated, which DOES clear out excessive characters. Maybe I should put one of THOSE on the title screen.
A funny idea I had just now was to rewrite the story based around whether or not the player uses cheats, particularly in context that the whole vanilla story is based on Scarlet looking for her dad, the Colonel. But if he magically spawns because of "cheats", that completely changes the plot...almost like an "alternate playthrough". So, later, I'd want there to be special dialogue for that. I've already implemented a proof-of-concept with Duke getting a couple special lines if he's present for very specific moments, so do a "Colonel_Get" check for certain key story points and have Scarlet say something different based on that. Fun!
7:30 PM, and then it came to me. What about the sprite "origin" point? Put that to the tip of the gun barrel. Positioning is good, but he kind of teleports when shifting from right to left, or left to right. Maybe if he instead goes from right to middle and then from middle to left...Nope, at least not yet. Was worth a try.
7:45 PM, what if we have a separate, behind-the-scenes object that's invisible, it ghosts his movement, and that has the different origin that the rails are instructed to spawn from? Because using the actual, visible Colonel for such anchoring makes him teleport when changing directions.
7:55 PM, it was easier to determine right from left with Scarlet because she relies on the mouse, since she's the player controlled character. For NPCs who are independent of player input, we can't always consistently rely on that frame-of-reference.
8:10 PM, I give up...for now. Maybe some insight will beam me in hindsight, but for now, the implemntation is "good enough". I even got him to stay with Scarlet when pressing F9 to reload while out in the fields of action. More testing shows he's not firing at all the bad guy types.
8:20 PM, oddly things are kind of cool without having a reload or ammo feature implemented with the Colonel. Makes me wonder, maybe the bottomless magazines should also apply to companions. That could be more fun. But for another time, I hope.
8:40 PM, I had an idea, then I lost it. Rail Create commands: IF Colonel.x is greater than Scarlet.x, THEN jump to Colonel.x+50; ELSE IF Colonel.x is less than Scarlet.x, THEN jump to Colonel.x-50
8:45 PM, can't tell if it's working on the if-then checks, but CAN tell that a straight-up "jump to y-50" puts the shots more at the gun's level, instead of firing down from the magazine.
9PM, see the -150 variable has the rails spawn just a little too far to the Colonel's front. Still a little wonky on the harpie room, but the pussy room it's spot on.
So, about another 2.5 hours added to the work clock here. NOW I'm done, with it kind of wonky but also sort of "good enough for now". Maybe we'll come back for these tweaks around V0.9 but for now, I need to get a move-on.
And, with all that done, here's the first post-Steam Dev Diary entry! For the two or three who've joined me from Steam, welcome. https://discord.gg/aXeHswSNS2 for an ALL-NSFW location to hang out and talk about the game, or see what other scumbags enjoy pestering me.
That all done, let me leave you today's video. The Colonel is springing into action!
https://youtu.be/Or64cFuka84
See you in...HOPEFULLY a few days. But for now, I need to wash away all the scum and disappointment that's clinging onto my short-term memory. (Brainwashing, maybe? Like, washing my brain...)
Semper Bellum!
Jay
