BasicBoy(Maizie Bones, BB4W game)has finished in 1st place in a Maze theme game programming contest!!!
Posted: Mon 29 Oct 2018, 22:56
for the Windows, Linux (86), Mac OS-X, Android, iOS and Raspberry Pi editions of BBC BASIC
Indeed. Three wins for BBC BASIC now!
I do of course intend to publish the code, but it's not at that stage yet and I'm juggling a few things at the moment. Something else I've recently succeeded in doing (also demonstrated in that video) is outputting both music and sound effects in a cross-platform context - without having to link with SDL_mixer. As a useful side-effect you can output multiple overlapping sounds without any being truncated, which would have been helpful in my reworking of FOD for BBCSDL. It does however imply that if you give the player the choice of disabling the background music you must stream 'silence' instead!
Do you know when it will happen? I'd be interested in trying to submit something if it's scheduled for a time when I won't be busy.There's probably going to be another code-a-game contest coming up soon at SyntaxBomb
Probably within the next few weeks, and hopefully by the end of November at the latest. Best to keep an eye for any announcements at SyntaxBomb.
Looks unbelievable but really happened.
The above partial simulation video is nice and very excellent!
That's good, but it still leaves some choices. For example would it be 'desktop platforms only' (i.e. relying on a keyboard and mouse) or also suitable for running on touchscreen devices? Would the supported platforms include iOS, thus ruling out assembler code and/or compiled binary blobs?
Depending on what kind of game it's going to be (the upcoming contest is still only at the 'ideas' stage over at SyntaxBomb), I'm probably going to go for a 'multiple builds versions' approach, rather than producing a single cross-platform program. This is mostly for code efficiency reasons. Assuming it's an 'arcade video game' (for which I will always prioritise performance!), there will be a dedicated BB4W version, a BBCSDL Android version, and almost certainly a BBCSDL Linux (x86) version. As for the Raspberry Pi edition of BBCSDL - well, I'm unhappy with the overall performance prospects (I'll e-mail you privately about this). I'm also probably going to produce a version for RISC OS (because the process will be fun and nostalgia-filled).guest wrote: ↑Thu 01 Nov 2018, 09:27That's good, but it still leaves some choices. For example would it be 'desktop platforms only' (i.e. relying on a keyboard and mouse) or also suitable for running on touchscreen devices? Would the supported platforms include iOS, thus ruling out assembler code and/or compiled binary blobs?
In the arcade/action video context, 'acceptably fast' for me means high frame rates (60 fps for 60 Hz displays, etc.), and silky smooth animation and motion. I'm not a BBC BASIC purist (obviously!), and I'll be more motivated by getting the game done and dusted before the deadline than worrying about the implementation (hence my willingness to resort to assembler or C (the latter just saves time in some cases)).Personally I find the challenge of doing everything acceptably fast In 100% BASIC code (leveraging the available libraries via SYS to the full) quite stimulating, but you may see it as too much of a limitation.
I'm sure you'd agree that what matters most is that the animation speed (and therefore gameplay) is independent of frame rate. Personally I don't see anything wrong with the frame rate falling on a slower device, so if it runs at a full 60 fps on a fast PC but only 20 fps on a Raspberry Pi, say, that seems perfectly reasonable to me and only to be expected. 20 fps should be easily fast enough to play a game.
Again, achieving only "mid-range" performance on a "mid-range" phone is what I would expect! It's quite normal for a video game to work at its best only on the very latest and fastest hardware. I would judge that supporting iOS should be a higher priority than achieving some arbitrary threshold of performance on Android.Same with BBCSDL for Android (only if I use my custom plotters; the 100% BASIC/SDL-only approach just doesn't produce good performance on my mid-range phone).
Remember that although the current Linux and MacOS releases of BBCSDL are 32-bits, they are both under 'sentence of death'. Arguably I should have already replaced the Linux edition with a 64-bit build, and Apple have announced that support for 32-bit apps in MacOS is going to be discontinued soon, probably within months. There is currently no assembler in the 64-bit editions so you may want to take that into account.I think BBCSDL for Linux (x86) will be fine performance-wise, and I look forward to producing a build for it.
MacOS should be fine, I guess.