week of 2023/04/23: Devops edition
12 minute read - Published on: 2023/04/25
Table of Contents
hello everyone welcome to da funkin weekly again!!!! Apologies for the mischief and posting on the Sunday today!!! I need a better habit for myself to write first thing on Friday morning to write a buncho blog posts!!! I got busy later in the day!!!
In anycase, it's been a pretty damn solid week of work I like to think!!! This blog will simply recount it... as always!!!
One thing I want to try to start doing is small lil community highlights, whether it's sharing a cool piece of fanart, or funny posts or memes or interesting videos.... I will share em below!
yeah, there's a lot of stuff I've done directly for funkin this week - chatting with various wise sages, nudging admin things along, testing stuff for the kickstarter portal - but in my downtime, I've also been trying to learn a lil haxeflixel myself!! just slowly working through the dungeon crawler tutorial on the website with my own comments, nothing really even worth showing off. i hope after finishing the tutorial i can work on a very silly project for myself, and i'll let y'all know when that happens but don't hold ya breath!!!!
i don't view myself as a programmer per se - i'll never replace ninjamuffin or eric, they're real great! but i've done bits and pieces - my own projects in Twine, contributing to a big Typescript online event space, some database/SQL stuff in a past life. it's fun to occasionally gain the cross-class XP, get a bit more insight into how otherl mfs are thinking and doing, and just generally learn more and not get stuck in a rut!! i recommend it to everyone!
last week I mentioned getting contractors sorted out, and i have generally (with help of kawa filling out some paperwork for me cuz im lazy with paperwork) we are back on track with 2 of our programming contractors!!!
One of them is Shingi, who is continuing / finishing his work on the KICKSTARTER BACKEND!!! We are aiming to have that FINISHED at the end of May by the LATEST! Shingi is doing pretty dang good work on it!!!
The other is the person who was working on a bit of a secret task relating to the next update... they are Ravy! She has been re-contracted for various crazy devops type work, since we WILL need that infrastructure in place and working all good. I am complete noob with all that shit. She knows damn near everything about hosting and deployment and all that crazy fuss.... god bless em.... anyways as mentioned there's definitely a lot of work cut out for her, and she is damn good at it!!!! The current task they are working on to ease into things will be helping Shingi with DEPLOYMENT and all that, and helping us with some backend TESTING WORKFLOW work. Maybe Ravy will elaborate on how and what they will work on at a later date, but for now, thems the plans!!! Looking forward to having Ravy help with GAME related things for the people, whether it's helping figure out online multiplayer infrastructure, sharing network tech, leaderboards, or any other damn crazy task we need!!!
Over the past few years I personally have been on GAME PROGRAMMING, so all this other world of networking, hosting, and whatnot very much intrigues me!!! And it makes me happy to have these other programmer people around me that are super smart with it all and be able to work wit em hehe 🙂
On Cleaning Up After Yourself
A lot of the work I spent developing over the past few months was focused on getting NEW features into the engine, and refactoring old stuff to be more extensible, but last month I looked behind me and realized I had left behind a mess, and almost all of the original game was basically unplayable, doh! I had to spend up until now going through and fixing shit! Then last week, when I was cleaning up and sending things to Cam, I realized I basically had gotten tunnel vision on the actual fixes, and should have been merging them into the main branch piece-wise, and now Cam has to review a month's worth of changes, double doh!
My mom gave me some good advice recently, the basic gist being to "Look for things you can do now to lessen the load on your future self." I've been trying to improve myself in this regard, in life and in my work. I keep hyperfocusing on the task in front of me, and I need to take the time to do those tasks that aren't necessarily fun to do, but are important and necessary to being an adult. Like this pile of dishes sitting on my desk, triple doh!
My main task for this week is pivoting back to the input system! I've got a friend helping me do playtesting and initial bugtesting (hi FoguDragon!) and you should hear more from us on that soon.
On Priorities and Developing Stuff
Dev work is one of those funny things where the creation of any functional software is a minor miracle, and game dev is probably even worse in that regards.
I remember when i used to pour through tons of books on software development, engineering and the dev process and hearing the adage that "95% of Software projects fail" and i'd always scoff at that notion. I mean I could make myself a cute lil app in a week or 2 by myself, why can't 5 people make a software in a year?
Then i started going out and making projects for friends and small businesses as a student. Oh boy, was that a trainwreck X-D (although to be fair it taught me a lot about working with other people and valuable lessons like being able to speak the language of the people you're working with - and not constantly spitting the latest jargon and technical crap that nobody except you really understands)
I think part of the reason why software (and especially games!) end up taking so long to complete and make work is due to priorities. Like the first thing is figuring out the difference between what you want to do and what you need to do to ship X product and that's just the start of it! Like a perfect example of this is current FNF - we actually have weekly dev related meetings and there's always this constant battle of being like "Okay, so there's this cool thing that if we do will make the Engine work better or make the dev work for Week ▇ easy as pie, but does that take priority over this scuffed Boyfriend glitch that's been there since week 5?". Stuff like this doesn't really have a correct answer because everything would be great to do, but when it comes to shipping an update certain compromises have to be made between balancing new stuff and fixing old stuff.
Also to close this off and show even i'm a dumbass: I had this vision for the Portal to do with certain Logistics stuff that i spent a long-ass time working on just to realize that it's better done manually! Doh!
over the past few months, I would even say over the past year, I think a LOT about WORKFLOW and TOOLS. Haxe is the coding language we use for the game, and support for it feels very grassroots and community oriented. It's very likely that if you write Haxe, you know a few people in the Haxe community. Maybe it attracts me a bit for that reason, reminds me of Newgrounds in a way! Similar to Newgrounds though, it simply won't have all the bells and whistles as the shiny popular kid on the block. I think about both a lot!
For any sort of work, the tools you use affect the quality and output you have. If you have a dull kitchen knife, then even simple things like chopping veggies can become tedious, and an unpleasant experience. Unfortunately Haxe has some of these dull edges, but it has sorta felt hopeless up until recently. It has felt like recently it's been within reach to change workflows however needed or pleased in terms of coding. It does feel like if something starts to get in the way, there's a solution of some kind.
One recent example is that the haxe vscode autocomplete has been acting fuckie for..... a long ass time.... at least a year or so. Eric coded up some crazy macro code for polymod stuff, but that makes the autocomplete for vscode shit itself. So now what is essentially one of the base essentials is... gone.... as if we're writing code in notepad. It was pretty painful to write code, not even tab completion! Eric got me woke on Github Copilot though (this is not an ad fuk you github !!!) and it has made programming... tolerable!!! Sometimes copilot can nail pretty much exactly what I planned to write, in which case, it can even work BETTER than autocomplete!!! So it balances itself out nicely. This example shouldn't be seen as an example of a solution, moreso a bit of an example of having something feel out of your control, and doing some jank bullshit workaround. We don't have the bandwidth to fix whatever crazy thing is going on in the Haxe language server for VS Code, we aren't smart enough for that!! I barely understand macros!!! But having little things like this able to be solved, it makes my brain feel good.
on blog writing
ideally blogs CAN be short snippets, but there's definitely an expectation of them to be thorough and packed with info or thoughtfulness. Likely just an expectation from ourselves and what WE want out of not only OUR blog, but game blogs in general! We like it when game creators express themselves in more than a thread on twitter! But also it can seem daunting!
fanart of da week - Kor0kke
this art is by Kor0kke on Newgrounds!!!
ever since they've joined Newgrounds I've always enjoyed seeing their work pop up in my feed! Very colorful and cute and awesome
Go toss them a follow on Newgrounds!!! https://kor0kke.newgrounds.com
If you want ur art featured... post it on Newgrounds!!! that's mainly where I personally will be browsing for art! (although sometimes I will stumble across somethin on twitter here and there hehe)
Phantom Says: Bye Bye Toronto!
by Phantom Arcade
Here in Toronto in the dead of night... there's some bittersweet news...
I'm outta here, fellas!
It's been an amazing time here with Ninjamuffin, Cam's been a great host. We got a decent amount done work wise, and even better than that... I think in this odd era of Funkin as we navigate a large scale multi-staff game production we're coming to find there's a lot of work that's beyond the normal "draw now code now". Don't get me wrong, daddy likey the draw now code now, but as much as it pains me to admit it.... thinking critically is important. I know, I know, tragic.
Jokes aside though, there really is more to running all of this than just hammering away. I think having a lot of discussions about the project irl, late night musings on various factors... it really does help. Maybe because the human element of being in person makes the follow and understanding of conversations different, or maybe because the proximity of each other means better focus.... I'm not entirely sure. But I think understanding your team well is good, and I feel like even though he was already a good friend, I understand Cam even more having basically lived with him for a month and a half.
Ideally, this could mean things like being able to work faster now that we have a clearer idea of each other's concepts, and using that info we gained in person even when we're remote again. Maybe it means with lingering ideas from one n other we're able to continue work remotely with a stronger idea of goals. Maybe odd end discussions now will end up having relevance when remote, and we'll already have answers and clarity we need. Basically, understanding someone better = good.
But honestly, fuck all that shit man. At the end of the day (or month n half lol) I had a fuck ton of fun. I wasn't cramped in a room all day, I wasn't ever bored, and I wasn't ever scrolling social media too long. Getting out, seeing a new country, playing games with a friend, working on art, discussing game design, cookin food, 3am walks, trying new stuff... it's everything I ever wished life could be since I started animating. Life in PA at Newgrounds has been a blessing since day 1 of animation giving me friends and fulfillment, and now I have trips like these offering the same feeling. It's everything a man could ever want....
Except for like 2 weeks ago when I fell off an electric bike n broke my ankle, that's kinda sucked. I miss being able to walk normal n like, go to Tim Horton's n shit. Or play 3DS / Vita on the street car. But ah, that's whatever. If a wizard said he could rewind time and I could either do this entire trip or NOT do it and my foot wouldn't be broken.... no question man, I'd do the trip a million times over.
Now it's back to PA, back to Newgrounds! Back to the lab again! Bye Toronto, bye CN tower! Bye Cam! -Dave
P.S. oh yeah and we got a lot of work done and focused on putting art assets in this week pog
I'll let dave sing us out with that one, aiming to have Friday be a blog day!!!!
SONG OF WEEK (chosen by Kawa!)