Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

BASIC Forum & Tutorials

The tutorials are useful for self-learning and the forum is good for sharing ideas & information · By david.JamIsFun

BambooBasic Release

A topic by dabzy1978 created Jun 26, 2026 Views: 341 Replies: 17
Viewing posts 1 to 6

BambooBasic - Retro BASIC Programming using the newest DirectX technology.

This is version 1.0, and as such, probably more of a beta release, but, I've got to hand the reins over for people to try, so, updates, fixes and everything will be built from this.

Windows 11, DirectX12, and a half decent graphics card is required, I havent got a list of which cards plays nice or not, only my own (NVIDIA GeForce RTX 4060 Laptop GPU), and someone has tried it with a Intel Iris Xe Graphics and it's fine. But if you do try it, post your specs if you dont mind, if it works or not.

Executables have been confirmed to run in Linux... Wine-proton, providing you install the direct-X SDK. Apparently too, the IDE will work and compile, but running and debugging is an issue, which isn't a surprise really, especially debugging as it is uses Windows Debug API, which may not be properly implemented, and running from the IDE, there could be a few reasons... Anyway, it was a nice surprise to find it worked at all! :D lol 

My aim with this at the minute is to get it stable before adding more to it, I do have plans, more so VR, as I think it will be capable of scenes in VR, maybe not massive worlds, but, within the realms of party games and such. 

If your trying it, and you write something you'd like to share, I'm game for users to put their work in the "BambooBasic/boons" folder, I've got heaps of stuff in there myself, but it will be brill to see what people come up with.

Anyway, all in all... Thanks in advance if you take a peek! :)

Dabzy

Fleshing out a game mechanic, if anyone remembers "Super Fruit Fall" on the PS2, then, it's like that, but, in 3D:

Plays well actually, I'm trying a "mine" theme for this, well, mine area, I'm thinking of others as the levels progress, beach, village, forest etc etc

But yeah, now going to write a proper game with BambooBasic, that'll bring out any nasties! :D lol

Dabzy

Hello...the original game looks nice.  I believe that the gamers who like the original game will really look forward to a 3D version.
https://www.youtube.com/watch?v=75xr8Gb16n8

(1 edit)

Cheers David, past few days have been productive, I've added a solver to the proceedings, basically, checks if a level is completable when editing it in the tile map editor, and also, I'm using it to "auto play" the level when in game mode.


The solver uses Breadth-First Search (BFS) to find the shortest solution.
This is the reference material I used, and fudged it into BambooBasic to work with the spinny mechanics and stuff:

https://github.com/RajPShinde/8-Puzzle-BFS_Algorithm

Brill reference to get going on the subject.

The difference between BFS and DFS (Depth-First Search, which I also looked at) is that BFS explores all 1-move solutions, then all 2-move solutions, then all 3-move solutions, etc. This guarantees that the first solution found is the shortest possible. A little slower apparently, but in regards to this, it doesnt matter about the speed.

Works a treat! :)

Dabzy

I see. Well done!!! The development progress of this computer game is going very well.

It's going lovely, trapped some bugs as well, so, bonus for that! :)

Though, it does help when you know the engine too, like, I've learnt it by making it, which, again, is what I did it for really... it's mine! :D

Currently doing a bit mundane work on it, like, area map screens, which you click a level to play:



Very basic as you can see, but it works, complete a level, and it unlocks the next level, complete the levels in the area, and you can move on to the next area. Loads of spit and polish required, but, I'm only going to start that when I've got all the levels in, currently looking at 5 areas with 10 levels in each.

I'm also going to implement the 3-star system for each level... Complete the grid, 1*, complete grid and open chest, 2*, complete grid, open chest and, do something else (Havent thought about that one yet, lol) and you 3* the level.

I reckon most of the development time after this will be asset based stuff, I can rattle through code, media wise, it's more of a drag for me really, pooling stuff together that fits and all that... This is what ultimately kills any of my projects, but, I'm keen to get this finished and a decent level of shininess so it highlights what BambooBasic can do!

Dabzy 

Hello!

 "........ a decent level of shininess so it highlights what BambooBasic can do!" <----- Correct!!! Yeah! Let the BASIC enthusiasts realize that the language is similar to a modern version of Blitz3D. 

Now on Linux (debian and arch)

BambooBasic for Linux - Retro BASIC, native on Linux with Vulkan.

:)

Dabzy

Hello! Very good news!!! 

I like the "Things People Get Wrong" button.....yeah.(https://bamboobasic.org/linux/) The "FAQ" should be very useful to new users though I am not a Linux user.

Hi....perhaps you should also promote BambooBasic in this forum(this) if the next version is released. Word of mouth of your langauge is really good!

Hey up chuck... Yeah, I will do when I'm fully sorted with it... I put this out there for people to try, but it's not "offical" really (Hence why the Linux pages isnt wired to the main site yet).

I've had a couple of bug reports (Just the IDE), and I've picked up some myself, so, once these are ironed out, and I'm content, I'll be more confident in going "Right, this is it"! :)

I'm also waiting for a Raspberry Pi4, which, on the Linux side, will export to Pi, there will be no development on the Pi, so, you build on your Linux box, test, build for Pi, out pops an Pi exe, and you plot it over!

And someone is requesting I add Web to Linux too... Little bit iffy when I've tried it, but the user showed pictures of it working in Chromium (Not BambooBasic apps), so, I'll have to investigate that on my side.

 So, at the minute, the plan is, build a couple of, well, meaty examples on Windows, since that is the source of truth, and then give them a proper run out on each of the targets (Web, debian and arch linux), and then see what happens [breaks].

Never a dull moment! :D

Dabzy

Yeah! I see. You’re doing a fantastic job! Sure!!!

Only my little opinion, these two places are suitable for introducing your language, too. 
First
Second

By the way, there is a mascot in the logo of this language: this

That mascot makes me remember Bam-booey. I look forward to the formal logo of BambooBasic. Sure.
https://www.syntaxboom.net/filedata/fetch?id=1719&d=1777028809&type=medium

Could be his cousin! :D ;)

Dabzy

Bit of an update where I'm heading with the runtime:

Going forward... - SyntaxBoom

Dabzy

(1 edit)

Just to let peeps know, version 1.2c is up (BambooBasic)

v1_2c

- Added b2dLoadTTF(), which loads a TrueType/OpenType font (.ttf/.otf) at a pixel size

you choose and hands back an normal font handle.

- Added b2dDrawQuadDepth - like b2dDrawQuad but each corner takes its own depth

(0..1), interpolated per-pixel by the GPU. This is what proper "3D in 2D" wants:

interpenetrating and steeply-tilted faces now resolve correctly per pixel, so

you can draw everything in any order with no backface culling. (b2dSetDepth gives

a whole quad ONE flat depth, which can't separate a solid's own overlapping

faces - that's what this fixes.) Desktop + Web; see the "3D in 2D" doc.

NOTE: feed perspective-correct corner depths (a + b/z), not raw view-z.


- New examples: "26 - 3D in 2D Stress" (rotating-cube benchmark) and

"27 - Quad Depth" (flat vs per-corner depth toggle), desktop + web.

- Big one: the runtime is now 2D across the board. The 3D (b3d*) engine has been

retired so every target (Windows, Web, Linux) sits on the same 2D runtime and

the same API. The old 3D runtime stays available but won't be updated.


- The handful of functions worth keeping have been renamed from b3d* to b2d*

(display setup, cls, flip, the frame loop, and the full-screen shaders).

- b2dDrawQuad - draw an arbitrary 4-point polygon (not just rectangles)


- b2dSetDepth - a proper per-pixel GPU depth buffer for 2D primitives, so you

can draw in any order and let the hardware sort out what's in front (see docs

+ the new "3D in 2D" tutorial)


- b2dSetClipRect / b2dClearClipRect - 2D scissor clipping.


- Indexed images now build a full mipmap chain (no more shimmer when scaled down).


- BGI canvases are now 2D-only (bgiCreateCanvas).


- Removed the 3D tools from the IDE's Tools menu.


- Fixes: palette-cycling text draw order, F1 detailed-help lookup, and web

key-repeat firing key-hits every frame.

And, all the shiny examples I've made are on the web here: Web Samples

I've absolutely done a load this weekend, pulled everything together, so, if I've missed anything, or something is "off", let me know... But... Worked out well me thinks... Now, Monday morning blues... Back to reality! 

Dabzy

Well, I was hesitant to implement this, but... I may as well join the revolution, basically, BambooBasic now has an AI Assistant in the Editor, and, to be honest, it does actually work really well...

Thing is though, its not free, as in, using the Claude agent inside of it, you have to buy credits for it, which there is a link when you first use it... When you buy credits, you then generate a key, which you paste into the editor, and then your away.

The video pretty much shows how it works, so, I'll not bang on about it! :P

Dabzy