You know what's sad? I never caught that shiny Seel.
I hatched and I hatched and I hatched. But none came. It's likely I may have even released one as the shiny and normal variant look very similar in most light sources. I guess that's what I get for using outdated hardware. According to my spreadsheet I am within the 1% of unluckiest people to hatch this many eggs without a single shiny Seel. The odds are 1/64. I'm at about 400 hatches. And you know what's even more insulting? I got bored of Seels at one point and switched over to Exeggcute. I got a shiny in 10 eggs. Why, game? I just want to play Crystal with a team of shinies
Ahem, excuse my further off-topicness. After writing that last post I'm pretty sure I didn't do any game dev at all until shortly before my Winter break started. However, in the last couple months progress has once again, gone through the roof.
The first thing I did after booting up Eclipse was try to build Minesweeper. That prompted a minor rebuild into expandable 2 dimensional arrays of booleans (trues/falses, 1s/0s) instead of the fixed variant I had been using previously. After a lot of simple yet surprisingly difficult to think over maths, that's all working, as is Minesweeper. It's lacking a heck of a lot of GUI but it works a charm and brings back all the memories <3. I'd totally release it here if it had summa that GUI so the size of the field and number of mines could be set from inside the game rather than the code, but hey, here we are. It's totally going in the final tech demo build though, don't you worry about that.
Here's a lil' screenie to wet your appetite.
As usual, click to expand ima-
WAIT! That's actually no longer necessary (unless you can't actually see the characters) as we'll get onto now!
(There was a gap over the Christmas period where I played Heat Signature and drew for 2 weeks solid, then exams happened.)
About a week ago I finished exams. Since then, not only have I managed to watch the first season of Daredevil with my housemates, but it has also been the most productive programming week of my life... actually I can't remember if that was the week up until the burnout over the summer but still.
In the process of removing a bug, I had to rebuild the rendering loop to incorporate timers. Timers run loops of a fixed period of time and update when the rendering loop gives them a kick. However, during that rebuild I removed the "Thread.sleep(...);" code in favour of running the loop the whole time. After reading an article saying that any thread using Thread.sleep(...); is wasting resources, I want back to the original article I read along with that knowledge and my programming experience, and now
I can get the game to run smoothly at 60fps using the most intensive antialiasing option... on my laptop only apparently. Not on my desktop which has a GTX 1080 - it lags profusely when the antialiasing is on and it gets worse the bigger the window is, huh. I'll have to look into that.
What was the bug? Locks and keys overwriting each other when they enter/leave. Now, using timers and a lot of extra code, locks and keys (and all other items I might want to add to buttons) now enter and leave effortlessly, one after the other. And when multiple keys/locks are present on a button, they now loop, so you can see all of them without having to remember!
What prompted the removal of the bug? A heckin' megaton massive goddamn rebalance! I took the notes I made when playtesting over the summer and decided to act on half of them. Lock/unlock pairs now cost less difficulty points, from 10 down to 6 - they're only really worth 10 when a button locks itself (though this is still waiting to be implemented). I may also have dropped the difficulty points of the "Set" command (sets a particular tab to a particular letter) from like 6 down to 3 or something, I can't quite remember.
The most important of the lot though was
the rebuilding of the system so each button can only have 1 command on each tab. This means not only is it much less likely that the level will lock up as one command counteracts another (EG first command increments tab 1, then the second command, still on the same button, decrements tab 1, rendering the button useless), but now commands that counteract each other are no longer wasting difficulty points -
meaning difficulty 100 is actually (like properly this time) difficult!
That happened somewhere in between the Winter break ending and my exams finishing. Regardless, the system is a heck of a lot more fun and challenging now. It still locks up occasionally (excuse the pun), mainly now with buttons managing to create chains of the now much cheaper locks, which mean two buttons are both locked by each other, and also holding the other one's key. I've also had the increment and decrement button both move up/down by 2 instead of 1, preventing access to the middle character in a tab which is only 3 long. But hey, it's a heck of a lot less volatile.
I also managed to get music working at some point, and oh god does it sound good. Here's a couple videos of what I'm on about. The first is a mock start of a trailer, which is like, most of the work I've done on this project so far coming together into something
awesome. It feels that way anyway. The second is a stretch of 5 levels around difficulty 20 , to show you what it'd be like in the actual game. (I tried 30, 40 and 50 and all of them took too long, locked up or were too difficult

).
I did stop briefly on one of the levels towards the end, only because I wanted the next section of the music to be heard. It will skip the section if you have finished before it moves on, just to point out.
Gah. I think that's it. I've likely missed something out but whatever. I've still got the programming vibes for now, along with a few more days until the next semester starts, so I'm gonna use that to my advantage! And, possibly grind some more Seels and continue working on my adaptation of Heat Signature to tabletop RPG format because it's that damn good.
See you in god knows however long,
~G <3