VVVVVV Source Code!
After working on so many games for so many years, I can finally reveal the source code to one of them for the very first time!
This game is really really special to me, and I think I can sum it up with this one image:
VVVVVV was one of the first independent games I bought... it was a month before I put Linux on my laptop! I was still in school! It honestly feels like it was a century ago.
It was a great honor to be able to maintain the game years later, culminating with VVVVVV 2.2, and I've quietly kept things clean with minor updates to SDL, including the SDL_RenderSetIntegerScale feature, and for a long time I hoped Terry would be willing to open-source it some day. As soon as he told me he was planning on doing so for the 10th anniversary, I immediately got it ready!
What you see on GitHub is pretty much exactly what is in the latest public release, but I did at least update all the dependencies, including a quick rewrite of the SteamNetwork.c file to go straight to steam_api instead of my crappy old Steamworks# C library. Other than that, it's completely unchanged - I didn't even fix the deprecation warnings from updating to PhysicsFS 3.0!
One thing notably absent is a commit log... and that's partially because there wasn't much of one. When I first came on to the project, I looked at the SVN log to see if the latest tip was safe, and then... silent. Hundreds of commits, but all the messages were empty! So uh, yeah, not much to see unfortunately.
I hope you'll enjoy reading through everything! I can't promise that the scripts won't raise more questions than answers, but it's still nice that there are still independent developers out there still willing to release game sources. If you're a game developer, you should do this too!
Here's Terry's announcement too!
I'm happy to announce that I am now in the GitHub Sponsors program! This means that anyone with a GitHub account can now subscribe to a monthly payment system that will allow me to continue my work maintaining the numerous FOSS game development projects that I maintain, including FNA and FAudio.
You can find my sponsorship profile here.
If you're on the fence about this, I'll give you quite the incentive: Microsoft has offered to match my first year's funding! They have offered up to $5000USD for the first year, and are also skipping all payment processing fees, so in addition to taking extra money out of Microsoft's pocket (which I think my audience will take some joy in...), everything you pledge will go directly to me. A slight change of pace from Patreon's usual scams, hm?
I've been very vocal about the poor state of the crowdfunding ecosystem, and I think the GitHub Sponsors program is very much what we've all been looking for. I think you'll agree, and I hope you'll pledge what you can!
Want a Linux game?
I'm now officially back to working on Linux games full-time! I have my own hit list as always, but I'm always looking for more projects! Now's a really good time to hit me up while it's on my mind. Don't forget, whether you're an indie developer or an independent developer, there's a good chance I can accommodate your needs!
Turn a minimal Fedora installation into a SteamOS box!
1. Write Fedora Workstation NetInstall ISO to a USB drive 2. Boot USB image, install Minimal configuration with standard partition layout matching SteamOS' 3. Set root password, create a user called 'steam', set a password for it 4. Reboot, log in as root 5. A whole bunch of commands: dnf group install hardware-support dnf install Xorg xorg-x11-drv-evdev libglvnd-egl vulkan-loader.x86_64 vulkan-loader.i686 lightdm flatpak NetworkManager-wifi kernel-modules-extra bluez dnf config-manager --add-repo=https://negativo17.org/repos/fedora-steam.repo dnf install steam steamos-compositor steamos-modeswitch-inhibitor.x86_64 steamos-modeswitch-inhibitor.i686 setsebool -P allow_execheap 1 systemctl enable sshd.service systemctl enable lightdm.service systemctl set-default graphical.target 6. Edit /etc/lightdm/lightdm.conf: pam-service=lightdm-autologin pam-autologin-service=lightdm-autologin user-session=steamos autologin-user=steam autologin-session=steamos 7. Create /var/lib/AccountsService/users/steam: [User] Session=steamos XSession=steamos Icon=/home/steam/.face SystemAccount=false 8. Reboot, should work now! 9. Additional steps for NVIDIA users: dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo dnf install kernel-devel dkms-nvidia nvidia-driver-libs.x86_64 nvidia-driver-libs.i686 reboot # Should be using the NVIDIA driver now!
Wait, a "plan"?
Well, this is a .plan file, so here's my TODO. Expect nothing from it, ever.
In Progress Codename BlackHole, StonedTachyon - Initial playables! Codename AcidBath - Glyph Hell FNA Tutorial Waiting Room SDL_GetAudioDeviceSpec - Oh god I don't even know dude Codename FullCircle - Need some backend access first... Codename CityVessel - Not even finished yet, whatever Codename SpinnyTokelau - Assessment coming up in... uhh... ScoreRush PC - Graphics, AppAdmin, strings for PC settings, blah blah blah Zeboyd Catalog - Possibly no source, really just need AppAdmin access tbh MommysBestGames Catalog - Just need a source drop to do an assessment FAudio GStreamer - Decoders are terrible, need to send test data when requested 64-bit Panic - Waveform repo :/ - They Bleed Pixels middleware :/ - Gotta rebuild all MojoSetup packages (F you Canonical)