MacOS bugs are now cleared. Next on the list is the iOS bugs and if that goes well the CodeBlocks bugs should be taken care of this weekend.
Then comes the big one: updating the Android tutorials.
New Year, new SDL MacOS tutorial updated for MacOS Sonoma. Apple has decided to continue on its path of turning everything they make into an iPhone which of course broke my tutorial. At least the procedure is easier than before even though I would have prefered them to use the conventions of Unix for their build process.
Anyway, I have a couple more MacOS bugs I need to verify and fix if they are indeed broken. After that I'll be going for the iOS bug reports.
Then comes giving the Android tutorials a much needed update.
Remember how I said if everything went well I'd resume updates in July?
Everything did not go well.
I posted the last update hoping I'd take a month off, maybe play some Street Fighter 6, and then get back to finishing the website. Literally days after I posted that update I had a series of family, financial, and professional issues spring up that basically ate up what what free time I had for months.
Things are getting better now, but I am not out of the woods yet. I spent some vacation time and knocked out the non-platform specific bugs. I am still fairly swamped but I do think I'll be able to get some more updates in to knock out at least most the platform specific bugs during Christmas vacation. Until then, I still got some figurative fires to put out.
Also, if you guys don't know about CI/CD, learn it ASAP. Most game programmers I know don't put enough emphasis on it and it has made things like updating the website much easier. I honestly don't know how I did group projects in college without it. Yes, it requires a significant time investment at the start of the project but it makes things so much easier in the long run.
If you can read this, it means the website migration is working. Yay =)
What's changed? In terms of what you guys see, nothing drastic. The layout will no longer make your mobile device vomit and there's a nice dark/light mode toggle at the bottom of the page. Also added a search bar to encourage Googling before emailing.
What really took 6 months of what little free time I had was switching over to a data driven static site generator with a a proper deployment pipeline so I should no longer have to fix things on prod like I used to. For example, the page tutorials/SDL/02_getting_an_image_on_the_screen/index.php php file looks like this:
The website is almost entirely data driven now. Learn this lesson I learned the hard way: you should throw out anything you made as an undergrad and be prepared to rebuild it from the ground up after you become a professional. Any attempt to salvage it is just putting off the inevitable.
While I was updating dozens of tutorials, I went an updated the logging article. It's not the most in depth article considering there are entire chapters in game engine architecture books that cover logs and entire companies whose only product is something to manage logs, but it at least has some value in teaching logging as a debugging tool to students who are transitioning from purely text based application to graphical ones.
If you find any issues, please shoot me an email so I can fix it. My new email is on the FAQs page.
If you can read this, it means the sub update part of the script works. I would also like to say I am going to put site updates on a simmer for a bit. I am pushing for a promotion at work and if things go well updates will continue in July.
I am officially putting the site on content lock. Updates will be halted and reported issues will be put on the backlog until the website is ported over to the new codebase. The sooner I start, the more likely I'll be able to meet my hard July 1st deadline.
Thanks to Jacques for the donation!
Things are coming along with porting the site to a mobile friendly version. Unfortunately, this means I will have to port around 150 tutorials and subtutorials over to a data driven system. Always separate the model from the view, kids.
This means once the core of the new website is finished, I will put the website on code lockdown which means no updates until the site is ported over. I am currently on track for end of a end of March code lock, so if you have any issues to report get them in now.
In terms of when the website will come off code lock, it will have to be finished by July 1st 2023 because that's when some of the scripts I use reach end of life which means I don't have much of a choice to finish by then.
Then again, you'd be surprised how many multi-billion dollar companies have critical software running on things that have been EoL for years.🤷
Thanks to Adam for the donation! Now back to dealing with high interest technical debt.
Happy new year everyone!
The website migration to a new design with static site generation is making progress, but has been stalled due to holiday family stuff. I wanted it to get done by the new year, but it looks like it's going to take a few more weeks. Hopefully it won't turn into a few more months (though it probably will).
Oh and a word of advice to all the budding game programmers: learn CI/CD. You should never work on a group project without it and it's one of those things that you'll wish you put in your personal projects only after it's gotten too cumbersome. Now if you'll excuse me, I have some deployment pipelines to make that I should have made forever ago.
So, I spent a good chunk of my free time setting up new Linux boxes for testing bugs and they all turned out to be Cannot Reproduce. 🤷
Anyway, this leaves 4 bugs on the backlog: 2 Android Studio and 2 MacOS with both being due to changes in the IDE since I made the tutorial.
I'll be holding off on those because A) Apple/Google will probably change their IDEs again 30 seconds after I update it and B) I have a bigger bug to deal with.
My announcement script has been borked forever and while I'm in there fixing it by switching over to a static site generator, I might as well update the design to be mobile friendly.
Would it be too on brand if I just use the Bootstrap default template?
Oh and thanks to Alex for the donation!
Thanks to Shanee for the donation! Also, iOS tutorials have been updated. Next on the queue: Linux tutorials