Kris Asick
banner
pixelmusement.com
Kris Asick
@pixelmusement.com
Proprietor of Pixelmusement, creator of PixelShips, and host of the web shows: Ancient DOS Games and No-Nostalgia Retro Gaming. (He/Him)

Website: https://www.pixelships.com
YouTube: https://www.youtube.com/@Pixelmusement
Just tested all of my recent work in Project AB in VR and yep, all working as expected! :D

Eventually I'll put together a VR demonstration, for Patreon supporters first then the general public later, but I want to have more VR-specific features implemented first. :B
November 25, 2025 at 4:21 PM
"Save the planet from disaster!" ;)
November 24, 2025 at 8:18 PM
Quick heads-up that there's not going to be an NNRG video this week because I don't have any moments coming up in the next few days where I'll be awake at a point in time where I can record clean audio. :(

It's been over FOUR YEARS and our apartment complex is STILL doing renovation work... >_<
November 24, 2025 at 8:01 PM
Reposted by Kris Asick
It's Monday. So I thought I'd checka my email.
flashy: homestarrunner.com/sbemails/210...
tubey: youtu.be/-zhsNdk1_Vc?si
November 24, 2025 at 2:19 PM
Happy Birthday, Liz! I myself have only got about one month left of being the same age as the answer to life, the universe, and everything. :/
November 24, 2025 at 4:52 PM
Ouch. >_<

My immediate family's take on games:

Dad: No interest at all.
Sister: Goes through phases of liking and not liking them.
Mother: STILL plays Fire 'n Ice and Tetris 2 for the NES... if nothing else. :P
November 24, 2025 at 4:49 PM
Oh wait, I figured out what's wrong here... It's actually a mistake on my part because I'm continually forgetting that with light passes you need to add each pass together or light sources can get skipped. :P
November 24, 2025 at 1:41 PM
So I got most of my shader retooling done overnight for Project AB; wasn't AS bad as I thought it was going to be, however I'm kinda tripped up on one of the last shaders to fix because it relies on doing alpha-channel stuff during light passes and is somehow broken beyond what I intended to fix...?
November 24, 2025 at 1:33 PM
At first glance I thought it was some super-cheap Super Soaker or NERF knock-off of some kind.

...upon closer inspection, it's worse than I feared... o_o;
November 24, 2025 at 9:10 AM
Hold the phreaking phone... is THIS why the inside of the box for my copy of Sonic The Hedgehog 3 I got brand new as a kid smelled like cherries for 10 years?! Was my Sonic 3 box originally a Gunstar Heroes with Fruit Roll-Up box that never got sold and was instead recycled into a Sonic 3 box?! 8O
Would you eat the 30 year old gunstar heroes fruit roll up...
November 24, 2025 at 9:07 AM
My "solution" is to fake the effect I need with the emissions channel instead. This means the shader will have a small level of light even when it shouldn't, but it's either that or have ranged lights glitch in and out of the shader when they enter/exit range. :P
November 24, 2025 at 12:40 AM
The silly thing is the reason I don't have a good solution is because the light-processing of Godot Engine shaders combined attenuation and shadows together into the same value for performance reasons years ago, but I need them separate and have no way to separate them. :/
November 24, 2025 at 12:37 AM
About to go to bed but found kind of a serious bug with one of my shaders in Project AB which I do not have a "good" solution for even after experimenting and looking for help online for two hours. :(

The solution I do have requires I make a LOT of changes and isn't perfect either. >_<
November 24, 2025 at 12:35 AM
Every tool in the game has to account for the fact that the player can just DROP IT into the world at any moment, can "unequip" it and return it to their inventory, and some design tools have ancillary features and popup menus to account for as well.

Players can and WILL break it if they can. :P
November 23, 2025 at 4:19 PM
Example:

1. Open logic frame on a touchpad.
2. Open logic frame on a spinner.
3. Begin connecting logic node on touchpad.
4. Aim at compatible logic node on spinner.
5. Hold down trigger but don't release...
6. Hold down Action Button for 1 second to close all logic frames.
7. CRASH. >_<
November 23, 2025 at 4:16 PM
I've FINALLY got all of the internal logic, functionality, failsafes, EVERYTHING, ready for the Linking Tool in Project AB to actually start making logic links! :D

The number of edge cases to account for was STAGGERING... >_<
November 23, 2025 at 4:15 PM
I did once write a program to test the perceived maximum refresh of my own eyes, as I was using a then-modern CRT monitor for most of the 2000s which had an upper limit of 120 Hz. My own eyes top out at around 90 Hz before I lose the ability to perceive any faster. :B
November 23, 2025 at 11:29 AM
Not with a normal display, probably not, though I haven't really tested.

VR? Whole other story. I can see BETWEEN THE PIXELS on my Rift S which has 1280x1440 resolution per eye (2560x1440 in total), commonly referred to as a "screen door" effect. I'm considering saving up for a Valve Frame. :B
November 23, 2025 at 11:27 AM
There are presently 405 games in my DOSBox shortcuts folder. To give them all proper icons would take me... a LOT longer than an entire day... >_>;
November 23, 2025 at 5:55 AM
Reposted by Kris Asick
Perusing the new eXoWin9x project! 660+ PC games from 1994-96 for Windows 9x, all set up and ready to play straight away using preconfigured versions of DOSBox-X, 86Box, and LaunchBox.

youtu.be/FazeobVWdmM

This went off the rails and unintentionally became the funniest video I've done in a while 😄
LGR Plays - eXoWin9x Vol. 1: 1994-1996!
YouTube video by LGR Blerbs
youtu.be
November 22, 2025 at 2:34 PM
"If logic doesn't run when editing the world then why do the physics do their thing and why do objects in the world act like they're working instead of frozen?!"

I assure you, there IS a reason, but it ties into the core theme of the game I have yet to reveal so I can't answer that right now. :P
November 22, 2025 at 1:04 PM
The great part here is that logic DOES NOT RUN when the world is being edited, only when testing or playing the world appropriately, so I can take as long as I want to recalculate these L-Codes. ;)

...and yes, this raises a very curious question you might have by this point...
November 22, 2025 at 1:02 PM
However, the biggest trick is that this all needs to be recalculated any time a link is added or broken, and if there's a TON of objects this could get ugly in terms of hitches and frame drops.

So... I also need to code this so that there's a limit as to how much checking can be done per frame. :P
November 22, 2025 at 1:01 PM
When recursion is detected there's not really a good way to solve for it, so whichever object is next in queue which hasn't been given an L-Code is just given the next one, then the standard loop is resumed. If recursion occurs again, same deal.

Eventually, this WILL get L-Codes to all objects! :D
November 22, 2025 at 12:58 PM
Second: A loop begins which scans all remaining objects to see which ones have all of their inputs marked and will assign the next L-Code in sequence: L-000001, L-000002, etc.

Third: If a loop concludes without any new objects being assigned an L-Code BUT objects still need them, we have recursion.
November 22, 2025 at 12:55 PM