Day 93
It's just another sunny day in the void! Nothing's different behind-the-behind-the-scenes that I haven't already repeated at least a good handful of times by now.
And, before I get started today, I want to give a *VERY VAGUE* Roadmap to V0.3! Now take note, I am merely "eyeballing" my numbers here. It's a particularly broad-strokes accounting at this writing. And this is all I have planned at the time of writing, meaning this can change because impulses be like that.
So, what's to do for this version's major milestone? Not counting Amanda, because she shunted her way to the top of the to-do list.
New backgrounds: probably a handful, repeating
New dialogue boxes, about a couple dozen grand total (Voicing them, too)
Chapter 3 Boss Battle (probably surreal, because of...well, trust me, it'll make sense in context)
A couple new enemies, unique to Chapter 3
IDEALLY start the knife's butchery powers for deathblows when in melee to create gruesome deaths that also replenish health
Secondary goal: more NPCs to make Chapter 2 feel more "alive"
Plus, to reiterate what's NOT done from Day 91:
Codex for Golem and Jetpack Alien (Easy but time-consuming)
Dialogue to start Chapter 3 (Very Tedious)
Colonel reload animation (Tedious)
Improve Scarlet's reload animation (Tedious)
Chapter 3 Title Card (Easy)
Music Shop Interior (Tedious)
Coding and debugging it all to make it smooth (easier said than done)
(Friday...)
Mama Mia. I wanted to focus on drawing today, but my whole body feels lazy. And I woke up early in the afternoon. I took care of my basic needs, then as usual, went for my computer since there isn't much better to do.
2:50 PM, all I know is, the first obvious step is to draw the frames for Amanda's animation. Even with me at a crawl pace, slow is better than stopped.
As for the gunfire sound effect of the Swagger? If it be in Public Domain (like how federal agents taking photos would count), the intended sound effect is an abbreviated version of the sounds captured during an actual space shuttle launch!
Also, canonical fun-fact: the magazine for the Swagger is internal, capacity of 5 bullets, so the reload animation will show the magazine "eject" as Amanda loads in the fresh one. That's how it gets its noticeably slender profile.
OH and, fun fact: I practice gun safety even in my drawings. You wouldn't notice this without me explicitly and intentionally showing you the behind-the-scenes, but even in my drawing process, I make sure none of the characters are pointing at other characters they don't intend to harm. Observe:

Exhibit 1: the drawing board of Adobe Illustrator. Note the use of verticality in relation to the main white "work space", and guns pointed in different directions but not at anybody.
3:55 PM, 1 hour of crawl-pace effort, and I got Amanda's first batch of animation done. Now for the opposite direction.
OH and don't let me forget that both parents do need their reload animations done. I know I've got A LOT on my mind as-is, but at this point, that SERIOUSLY needs to get shunted up the priority list.
One other detail you may have noticed, is that there's a big white box on Amanda's back with a red plus sign. That is because, also canonically true, she's a combat medic that doubles as a sniper. Meaning, in gameplay, I want her presence to have a passive healing effect. (The Viking's wife will ALSO have a similar passive healing effect, but the medieval herbal remedies are puny compared to modern medicine procured by the Queen of Badass!) That's in addition to her gun that shoots tiny space shuttles at abominations. And we can test that with a debug button to command Scarlet to get hurt enough for the healing to be visibly apparent. Don't worry, she's a masochist. :3

These proportions are canonically accurate. Amanda is noticeably shorter than the Colonel, and she's more filled out as he (like me) also canonically has a DISTINCTLY THIN BUILD! Not morbidly anorexic or sick in the head (at least not that particular label), it's just a thin build described as "like a rod of solid steel". Amanda, like Scarlet, is "short and cute", just enough meat and fat to be cuddly but not so much she's grotesquely obese or even overweight.
Now remember, for "picking my brain" purposes, Amanda is specifically designed to be my perfect girlfriend.
4:50 PM, another hour roughly, and the left side is done. There was a quick toilet break, and a few minutes I had to pause and think, but approximately, that's 2 hours of work on the clock for today.
And, because I'm in a drawing gear right now, let's keep that going and do those reload animations.
With the Colonel, his reload animation is going to be more complicated because we'd get to REALLY see his rifle's dual magazine capacity. Like, those big chunky things can also double as a bipod. That's another fun-fact.
5:30 PM, 17 different images made so far. Those are the various frames of Amanda moving left, moving right, and reloading. Yeah, I'm upping my game with the smoothness of animation because the more frames there are, the more motion is depicted and the more fluid the overall actions seem. Now, obviously, the tradeoff is more labor and work, which means more time and (in a professional context that's not applicable here) more wage to compensate for said time and labor.
I find the right balance is where there's enough of a constraint to push people, but not so tight that actual completion is unrealistic. But that's also not applicable for here in particular, with the "When I Feel Like it" pace. That's part of why things are so slow. There's no other motivation for me making this other than, "I have nothing better to do with my time." And yes, the writing of the Dev Diary does, in fact, in and of itself count as "work" for the purpose of clocking this project.
5:40 PM, reload animation looks GOOD! Amanda seems a bit still, but watching the magazine get pulled by the illusion of gravity more than makes up for it. Now, time for the Colonel.
6:30 PM, Colonel's reload is...good enough. 3 hours 40 minutes, and I'm calling a lunch break here. When we get back, we're shifting over to the coding and getting Colonel's reloading working, plus Amanda fully implemented. Guess today's gonna be a full-time day of work, which as I've said before, that could in some cases count as a full-time week.
7 PM, half an hour later, and lunch break's over. Now, let's get to coding the Colonel's reload.
7:10 PM, coding doesn't look too hard since 1) Violet set the precedent, and 2) Colonel already had some placeholder code for this. Now, we just need a debug button to spawn bad guys for testing purposes. >;)
And, debug button's not working. Meaning, new persistent object following Scarlet around. I can do that. So, good news is that the debug console object works perfectly as the needed workaround for spawning bad guys on demand. Bad news, Colonel gets stuck in his reload animation for some reason. So, let's see if deleting redundant Colonel instances will help. Probably not, but still. I'm not sure what's *causing* the bug.
That caused a crash! So the info from that might help explain some confusion. And of course, getting rid of his "Persistent" flag means he no longer spawns at all. But keeping it on...
How did I fix this for the other guys?
7:20 PM, and then I had an idea: the debug. Have THAT check for "IF Colonel Selected, AND IF Colonel does NOT exist, AND IF ColonelReloading does NOT exist, THEN spawn Colonel."
CRASH! "colonelammo not set". OK, then...DEBUG, set ammo to 45 in the sequence BEFORE spawning Colonel. Good news, so long as we're seeing different messages, we're making progress.
And now he spawns, without being "persistent" either.
He still gets stuck in reload animation, though, so guess I need to set the animation speed?
THAT SAID, I'm having so much fun with a button for "Spawn Bad Guy on Command", I may add that to the Gameplay menu option for YOU to toy around with! :D
But, the animation is still broken. Sprite seems to animate fine, so it has more to do with the code than the image.
7:30 PM, it actually works...well, kind of. Maybe slow the animation speed, but I have it under "step", so every frame, animation speed is ensuring it's always at a certain speed until the animation ends, at which point it changes from reload state to normal, combat-ready Colonel.
It's just weird, with how INCONSISTENTLY the reload animation works. Sometimes, it skips the whole animation altogether and returns straight to combat-ready, and other times, it goes through the motions as intended.
https://drive.google.com/file/d/1dGQHFQwpZ9oNtjVAAoTXLgJlPgtADofe/view?usp=sharing
7:45 PM, I recorded a video to show what I mean when I say "sometimes" it works fine, and "sometimes" it skips over. Also we see the rails spawn at a location they're not intended to. Guess that's now a "known bug". Or MAYBE, the animation IS working, it's just that Scarlet's in the way so we don't see it play out.
7:50 PM...Eh, good enough. Now, Amanda's turn. And in-character, overall, Amanda in and of herself is very healthy (and absolutely outstanding by the standards of a middle-aged woman in her 50s).
8 PM, coding the bullet to destroy itself upon impact of bad guys, or exiting room. This is the easy part. So, yeah, Amanda's after the bullet. Only a couple minutes for that tiny tedium, so...as for Amanda, we can take some inspiration for coding from Colonel...however, we can't copy things over 1:1 because he uses different guns and such. Plus, unlike him, Amanda also has a healing effect to spawn a "clock and hand" mechanism like how we regulate fire rate. It's like that, only for gaining health rather than losing health. Finally, there are ways to heal.
8:10 PM, while "taking inspiration" from the Colonel's code, now I see why he's not doing his idle animation while topside. The command SPECIFICALLY said to "Set Animation Speed to 0". So, I changed that from 0 to 0.5 so now, he should seem at least A LITTLE more alive should he be standing around longer than a second.
8:30 PM, now that we're starting to command the computer to spawn Swagger bullets, now's the time to ask, "Is space shuttle sound effects public domain?" If so, that's what we're doing, because no way in Hell I can improvise my own space shuttle sound effects.[url= https://en.wikipedia.org/wiki/Space_Shuttle#/media/File:STS120LaunchHiRes-edit1.jpg] https://en.wikipedia.org/wiki/Space_Shuttle#/media/File:STS120LaunchHiRes-edit1.jpg[/url] According to Wikipedia, "NASA material is not protected by copyright unless noted". So, here's hoping they have a good sound for a shuttle.
Further details in context of audio: https://www.nasa.gov/multimedia/guidelines/index.html
And, according to their guidelines, using a space shuttle sound effect for an indie game seems to sufficiently adhere to their rules and guidelines, particularly since there's no implicit or explicit endorsement or collaboration with them in any official capacity. Plus, it's noncommercial, which is another reason why my game is FREE. Because it's FREE, I can more easily get away with creative shenanigans like this! No logos or employees are featured, just the simple sound of a space shuttle taking off. And lastly, as always, if I truly wanted to stretch my "excuses", remember: this whole project is specifically for education purposes...MY education, through a "learn by doing" mindset in a very informal capacity. "I'm like a college student, but without the college" as I'd word it.
Sound ciip sourced from: https://youtu.be/zsJpUCWfyPE?t=120
Thank you, NASA, for declaring this Public Domain. :3 (If I find space, this Saturday I may give them a brief acknowledgement in the ABRIDGED Dev Diary.)
9 PM, before we get into the meat of all the command structures, first I want to see if Amanda will load in-game AT ALL! So, there's the companion menu check first, now that the MOST basic stuff for her is done.
And NOW I remember why there were separate sprites for the Companion Menu. The black name thing at the bottom needs to be done also.
9:20 PM, some drawing is done for name plate, and now let's see how it looks in the companion menu.
Too skinny, and there's overlap with Violet. Move Violet to right, move Amanda to left.
Positioning is good, but now, she's even WORSE! Oh and there's a crash, too, showing what I mean when I say Amanda can't copy-paste Colonel's code 1:1. That error has been accounted for.
9:25 PM, no crash, and Amanda's KIND OF implemented. She does not follow Scarlet. But this means the menu and companion spawner (from new debug object) are all doing their jobs, so it's progress.
9:35 PM, I found out why Amanda wasn't moving before. A very specific "not" flag needed to be checked. Ah, don't you just love it when problems require simple solutions?
What THIS means is, now we do the bad guy checks for Amanda to shoot at them with the Swagger, and inevitably reload her rifle as well. Because all that "MOST BASIC" stuff is fully working. Except companion menu needs some neatening up (companion positioning, Amanda's proportions), but that is all so comparatively simple, I feel like a GOD telling the computer to obey my adjustments.
I might actually want to make the Companions Room bigger, for the later companions. But for now, just move Amanda a bit, and call it good enough.

Also, another fun-fact for research, I had to look up "How fast dose a space shuttle go?" And, Scarlet's bit on Escape Velocity is only half true. Literally! First impression claims it's actually 17,000 miles per hour, not 25,020. Source cited - https://www.quora.com/How-fast-is-the-space-shuttle-at-take-off?share=1
Either way, the Swagger bullet, CANONICALLY, goes anywhere from 17,000 to 25,000 miles per hour. What's IMPORTANT is that, without exaggeration or humor, it's "like a tiny space shuttle!"
9:50 PM, time to test Amanda's passive heal powers. And it WORKS! Don't really like Amanda gyrating behind Scarlet like that, so...animation speed to 0 then. :P And, leave healing speed as-is now. It's super powerful given the context of what Scarlet would be up against this early in the game, but when shit gets crazy hectic, trust me, the healing speed is going to be appreciated.
10 PM, remember how I said that the Swagger shot moves so fast, it might as well be teleporting? Well, real quick, I wanted to show what that looks like when translated to computer code:

10:10 PM, OK, everything looks good...after those few minutes of keyboard wizardry, and double-checking my inspiration from Colonel's structure to see that I matched the logic. I did. And, while going through, I saw some disabled code for his reload animation that was redundant, so I deleted that tidbit. Now, testing time. Let's have that power of spawning a bad guy, and see what the Swagger can DO!
..Actually, I don't even NEED to test! Before hitting F5 to compile, it just came to me. I did not yet define the BAD GUYS side of things for when Swagger hits. So, one toilet break later, and I'll take care of THAT step. See, this is what I mean when I say that there are SO MANY details to keep track of, it's amazingly challenging for the human brain to keep ALL of that in check!
And, because the real-world shuttle launches upwards of 10 times the speed of a normal bullet, I think it's reasonable to just take the damage of the Kar98, add another 0 to the end of all those figures, and slap that on for Swagger damage. Now, I just need a bit of time, but it should be easy!
(I just noticed the blob had no check for Karl's bullets, so that's one incidental bug that got purged. The only good bug is a dead bug!)
10:20 PM, that damage is actually stronger than the RAIL! But, you can argue, the Rail has unlimited penetration, but Swagger has 0 penetration since the bullet disintegrates upon impact. So, ARGUABLY, those differences "balance out" between the King and Queen of the Rifles. More damage per shot, but without tearing through swaths of bad guys. Fire and acid are still the best for crowd control because the sizes of those assets do not have the weird "Flying Sword Physics" of other projectiles, meaning you can use those chemical instruments of pain to simply sweep the area. COVID could work, too, but machines and blobs are immune to COVID.
10:30 PM, 7.5 hours on the clock (roughly), and it's time to test the SWAGGER! Queue the spawning bad guy debug button!
And well, it 99% works, just forgot the check for "If sound is NOT playing, THEN play sound."
Again, it's kinda working. Other than telling Amanda to stop thrusting when Scarlet is too close for comfort (because come on, that's out of character), there's one last check for the Swagger. If there are no more enemies present, then destroy itself. That will further uphold the illusion that it moves so fast, it might as well be teleporting. Narratively, it's not LITERALLY teleporting, it's just what would an object moving 20,000 miles per hour look like on the scale of 25 yards?
10:45 PM, Maybe I'll have a different idle animation for when Amanda's in the field, but that's NOT high on my to-do list! The only thing missing is some kind of smoke from when Amanda actually fires, but I won't worry too much about that right now. :P And up her base ammo count since shooting bad guys gives the illusion she only has 2 shots before reloading, when it should be 5. So, multiply by 2.5 ammo. 12 or 13 bullets, basically.
10:50 PM, now she NEVER reloads. So, undone. Maybe it's the debug doing a step command that screws it up.
Anyway, back to her old reload, so try the variable change again.
I don't know why it doesn't like the number 12. Even when it's not a "step", it still means unlimited ammo for Amanda. Maybe I should set the ammo count to change with each sound effect / creation of bullet, not in Amanda's code. Even if it's not accurate in gameplay terms, there should be 5 gunshot (shuttle launch) sounds, at which point she'll reload.
11 PM, something's not working right. So, let's run the debugger and watch that 1 variable. Seems like she just skips the reload phase and as soon as the variable hits 0, it instantly resets to 5. Talk about unlimited ammo.
11:15 PM, here we go again. I tell the computer to do something 4 or 5 different times, and it still does not do the thing it's supposed to. "IF Amanda's Ammo is less than or equal to 0, THEN switch to reload form." Also I added another check: "IF ammo is greater than 0, THEN create bullet to shoot at bad guy."
At least the ammo check is working, and now with 0 checks for reloading, she just doesn't do anything after running out of ammo. Guess that's something.
Also, going at it full-time, that's definitely not something I like doing all the time. On one hand, getting all companions would take a week or 2 at full-time pace, and if I were doing that this whole past year, the game would mostly be all done by now. On the OTHER hand, 1 day like that per week is plenty for me, especially with minimal or negligible return on the effort.
...
Good God, it's finally working all as intended! Now, let's record the Queen and King, and send out the Dev Diary, so I can go collapse and take a well-earned rest!
11:35 PM, the video is STELLAR! Like, it's a great idea of what "The Hero Team Experience" is like. Also, I can hear the Colonel saying in his gruff voice, "DON'T WORRY, SCARLET! MOM AND DAD 'LL KEEP YA SAFE!" I mean, thanks to the powers of spawning unlimited bad guys on command, we can REALLY get an idea of what Super Soldiers are like in this world. Basically, they're the precursors to the Warhammer 40K Space Marines, and in the lore have a similar reputation to them. They're gods of war brought to the mortal plane. And in this particular game, I want that to SHOW!
Now, before I do the distribution of the Dev Diary, all I want to note to myself is, "WHY do they have such FINNICKY RELOAD ANIMATIONS?!" Am I giving them a few too many "Set animation speed" commands? MORE DEBUG KEYS, to force the variables to 0. Maybe on the "create" command, say "Go to Frame 1 of the sprite".
11:45 PM, it's when she's MOVING that she does not consistently reload! Why *IS* that?! I tell it the checks in 3 different locations, but still, nothing's different. At least it's not skipping frames of the reload animation, so that's something. But they only reload when they're close to Scarlet.
When all is said and done, here's today's Dev Diary video:
https://drive.google.com/file/d/1vIAiifqHCJokZObR84Gxy0s5Aq41PKxO/view?usp=sharing
https://youtu.be/hJmE2Ah1eZQ
12:20 PM, about 9 or 10 hours depending on how breaks are counted, and NOW I'm wrapping up the Dev Diary. Man. What a day. See you in a few days.
Semper Bellum!
Jay
