New games every week!
15th May 2021
1. Else. Must fix that.
The else is inexplicably more complicated than I thought.
If I'm completely honest, I don't typically use Else.
It's one of those commands that I fell out with because in some language or another, back in the day, it was misbehaving. Or at least, not behaving how I expected it to.
.. Which ironically is the exact problem I'm having now!
But I definitely need to fix it. It's one of the "core" commands, and can't be ignored.
I have a vague idea how to do it, but I'm wondering if it might end up slowing things down again.
At least it's flowing forwards, which is easier to deal with because I can easily skip down the next bit now that I have Skip-points enabled.
Not in yet. These work more or less the same as Repeat-Until, except the check is at the top, instead of the bottom.
will perform the task once.
won't perform the task at all.
In simple terms, the while acts in the same way as an if does, with the wend simply being an endif as well as a goto.
However, the goto should only goto if the while-if at the top is going to trigger. So, I need to figure out the result of the while, send it to the wend, and only goto the while if the while is true..?
Or maybe "always" goto the wend, but jump back if the while is false?!..
I'm sure I can figure it out!!
3. That GUI. Aaaargghhhhh!!
4. Palettes and Modes. The more I think about it, the more I seem to want to start adding things like that. Have a simple System CPC, and Mode 0 setup, or something similar.
Maybe integrate it with the other Colour functions so they also try to stay true to the requested palettes.
One odd thing I'm not sure of, though, is Screen-Squeezing.
On an Amstrad CPC, for example, Mode 1 is standard, but Mode 0 stretches pixels to twice their width, and Mode 2 halves the width. (Giving half the horizontal resolution in Mode 0, but twice the resolution in Mode 2)
They also place limits on the number of colours available, too.
That stuff sounds fairly complicated to keep track of, and every retro system has its own specific set of rules for how to deal with this stuff, and that's before you even get to the Spectrum's Colour Clash!
Yeah, I might leave all of this stuff until much later!!
For the most part, I tend to stick to a few basics. Rectangle, Oval, Line and Point collisions typically work enough for my games.
It sure would be nice to have pixel-collisions, but realistically with scaling, rotation and more, I'm at a loss as to how to do that quickly enough to make it worthwhile.
I'll instead try to come up with some nice commands to judge when things are roughly within collision range, and will probably not do a very good job of it!!
My classic particle engine "should" work. The Browsercade framework is mostly intact in the JSE engine. I haven't yet added any particle commands, and .. could honestly do with fixing the whole thing up a little. Maybe a rewrite of the important bits?
.. Well, guess that's my weekend planned!
Oh yeah, and a SmileBASIC game, too.
New games every week!