Platforms and language

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
Here's SpiderBASIC, interesint BASIC that looks exactly like Cerberus-x

It's a PureBASIC version for Web/Mobiles but the IDE looks more like Cerberus-X


Also free BASIC for Android development
 
Last edited:

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
Crazy to see PureBasic is still alive and kicking and was even updated to run natively on M1 Mac. It was one of the very first programming languages I have discovered 10+ years ago when I was getting started but at the time I didn't have the money and could not find any PureBasic tutorial. Later when I had some experience and money to potentially buy it, I was ignoring it simply because the game examples at the time did not look very impressive and it is targeting desktop only. Then I was hooked up in to visual game editors and I was trying to avoid programming as much as possible.

Since then I was completely forget about it so I am surprised it is still around and in fact I was looking for something to develop desktop applications but C++ libs too complicated and I am lazy, C# libs are limited on other than Windows platforms, I hate JavaScript and making my own in programming languages like Cerberus was..... I am lazy. The only one I've found that I liked is Lazarus but the Pascal programming language is weird I don't find it very attractive. But the visual UI builder in Lazarus is pretty good.

So, thanks for reminding me of PureBasic just had an other look at it and the UI gadgets comes with it is pretty good and the fact it is still being updated to run natively on latest hardware is reassuring.

Regarding SpiderBasic similar to PureBasic it doesn't look to be very game focused but if someone want to develop complex UI applications to run in the web browser, looks pretty interesting. Certainly worth considering if you have something done in PureBasic that you want to port over to Web and Mobile.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
Actually I remember PureBASIC too waaaaay back, but I was never much interested in it . Now it seems to have alot of API's an access to ative stuff, which tempts a lot of course today. This is where it is at!

Regarding Spider Basic I'm not sure what to say about it as I have not had the time to try it but I took my time to study the commands and especially the graphical ones and what kind of performance you might get out of it in theory. It looks like it might be very game focused actually.

API's are the only thing I miss from Cerberus-X today. It's strange that it has milllions of internal API's that you never use but no external REALLY STRONG usefula ones, you know.. native stuff. I see how you can to stuff like SavetoSdCard and even more amazing, SaveToGoogleCLOUD in one single command or so, and I get anxiety that I have to leave Cerberus temporarily. This is what games and apps need today, it's a very different world.
 

MikeHart

Administrator
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,349
Post a wishlist of commands. Maybe a brave soul will pick some parts up, create a module and keep it updated.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
It looks like it might be very game focused actually.

Surely it has all the basic building blocks to make games, but I don't really see any game examples. Mostly just UI, Filesystem, Database staff. If it was really game focused I would expect to see similar examples to what is included with game focused languages like Cerberus, BlitzBasic, DarkBasic, AppGameKit.

With PureBasic there are some decent 3D examples included now. When I tried it years ago it had only a spinning 3D cube as example similar to SpiderBasic today. Was not very inspiring. :D

In any case as of today there is not many BASIC style languages worth considering. The only ones comes to my mind apart from PureBasic and SpiderBasic to target modern platforms is Cerberus, AppGameKit and even though it is not BASIC but very similar in terms of simplicity is Löve2D

There are others too like:

PlayBasic
BlitzMax
Blitz3D
RCBasic
GLBasic

But not sure how actively they are maintained, they seem pretty dead to me some of them was not updated for over a year or the documentation is incomplete.

An other interesting alternative in terms of simplicity is Free Pascal, it is a Pascal compiler available to target all modern platforms even Nintendo Switch, but technically there is not a single game or graphics library for Pascal that is actively developed. If you have a look at the Wiki it has tons of game libraries listed, but not a single one of them is maintained. All of them is dead. Maybe exception is the SDL, Allegro and Raylib wrappers but me personally could not get it to work any of them. I was getting compile errors with all of them. But that's maybe just my lack of experience and lack of patience.
 

Paul59

Active member
CX Code Contributor
Joined
Dec 13, 2018
Messages
383
An other interesting alternative in terms of simplicity is Free Pascal, it is a Pascal compiler available to target all modern platforms even Nintendo Switch, but technically there is not a single game or graphics library for Pascal that is actively developed. If you have a look at the Wiki it has tons of game libraries listed, but not a single one of them is maintained.

That's not quite right, take a look at...

Castle Game Engine: https://castle-engine.io/

or for 2D only : https://github.com/PascalGameDevelopment/SDL2-for-Pascal

I've used Pascal since the late 1980s and more recently Free Pascal / Lazarus. It's a powerful and flexible general purpose language but it's much more hassle to use than Cerberus and has no easy HTML5 option.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
That's not quite right, take a look at...

Yes I did but I was getting compile errors with them on macOS, also with the Raylib and Allegro wrappers. Maybe it is just my lack of experience, not sure why I was unable to get any game library compile on macOS. But otherwise Lazarus was pretty nice for building graphical applications. Lazarus did compile with no problems but nothing else.

It's a powerful and flexible general purpose language but it's much more hassle to use than Cerberus and has no easy HTML5 option.

Agree. Being able to compile the same code for Desktop and Web with a click of a button is sweet especially because I don't like to work with different JavaScript SDK's. I prefer easy, once click exports which was not the case with that few Pascal game libraries I tried.
 

dawlane

Well-known member
CX Code Contributor
Tutorial Author
Joined
Jun 21, 2017
Messages
937
I've used Pascal since the late 1980s and more recently Free Pascal / Lazarus. It's a powerful and flexible general purpose language but it's much more hassle to use than Cerberus and has no easy HTML5 option.
I wouldn't go singing praise of the Delphi 7 clone Lazarus. It's incredibly bug ridden, a complete mess and with documentation that would make it look like BRL languages from BlitzMax on were well documented with good examples. If Lazarus was that good, there would have been a new IDE for Cerberus up and running as soon as it came to light that the version of Qt that Ted uses was starting to become a problem.
 

Paul59

Active member
CX Code Contributor
Joined
Dec 13, 2018
Messages
383
I wouldn't go singing praise of the Delphi 7 clone Lazarus. It's incredibly bug ridden, a complete mess and with documentation that would make it look like BRL languages from BlitzMax on were well documented with good examples. If Lazarus was that good, there would have been a new IDE for Cerberus up and running as soon as it came to light that the version of Qt that Ted uses was starting to become a problem.
I've never had an issue with it (although I haven't used Lazarus for a complete GUI project since 1.something) but I agree regarding the documentation, it's bad. I have used a stripped back Lazarus as a Free Pascal IDE more recently than that without any issues but again only for reacquainting myself with the language.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
Well I know what I want in Cerberus-X to make it possible to use it as my main tool :

* Fileaccess - (Android & iOS) A Load / Save (or Share) Png to internal storage of ios and Android. if possible to deal with memory cards. Note that it does not have to be SAVE it can be SHARE (png). Because it is not about saving something hidden it is about saving something with intention and having the user put it somewhere he/she likes it to put it. Same with Load.

* Touch everywhere - (Windows) Touch that work in Windowtablets
Windows desktop does not work, and neither does viewing html5 inside a Windowstablet (regardless of browser you use).
HTML5 works everywhere else in webbrowsers so Windowstablets is the exception right now. I always have to port to my andoird phone to try touch commands even if I program on a Windowstablet with touch.

* Touch everywhere 2 - (mac) macOS touchpad that also work as a touchtablet would be so boss to have. Monkey2 had it and I think this was because they used SDL and they got it "for free". I must say I don't like SDL at all for graphics but it has other nice stuff like touch API that gives you a wide range with no effort. This might need clearification. Monkey2 (and presumably SDL library ) gave you multitouch (yes multiple absolute coordinates) in macOS, so you could develop touch apps and try on your mac directly if you were okay with the fact that your fingers were on a touchpad and not on the screen itself.

* More example on Admob and inApp, because it is *really* not easy to understand how it all works the first time around.

Not as important but I would love it:
* Audio API that allow more realtime audio like reading the mic and to output realtime synthesis.
 
Last edited:

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
If it's okay I would like to create it bounty for the "Android Load/Share png feature" above. The share should have save as png file as an option. The first one that writes a Cerberus-X module that works on Android API 20 and up will be awarded $50 via paypal. Post it anywhere on this forum to prove when you created it. The first one that works will get the award. No questions asked.

If this works out I might be able to create more bounties at a later time as I want to help the community of Cebrerus-X, it's a great tool that just lacks a few things to be even more powerful.
 

MikeHart

Administrator
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,349
So I had a look at over tools and tried Godot in the last days with the help of some YT tutorials (Platfomer series by Heartbiest). Really wanted to understand it. First I thought that it is a nice concept (nodes and scenes) and it went well till..... tilemaps. Using the latest 3.5.x version, I couldn't change the tile size of the imported tile sheet what so ever. I did everything like it was shown in the video but got a different result. Later I read on the inet that there are post about similar problems. So I ditched Godot for good.

In CX I can at least correct problems myself when they arise. Tiled and fantomCX are a great combination for what I want to do. I am not upset for waisting some time.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
Ya I've hear a lot of things about GoDot and they are not good. It's limited and have bugs.

The environment i love the most so far is CV but i only do not know how to give it what I need to finish my app, namely fileacess.
The app will suck to only have internal images inside the app. It's okay with games but not with my tools.

So I talked to a few FIVERR's that know Android perfect but they do not know Cebrerus instead :sneaky::rolleyes: So i'm stuck in the middle. It kinda depraves my inspiration to code so i have stagnated. That is what I am trygig to get out of now by leverage and find a way.
 

MikeHart

Administrator
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,349
Sorry to hear that. I would have posted your bounty in a separate topic in the Android forum.
 

magic

Active member
3rd Party Module Dev
3rd Party Tool Dev
Joined
Mar 5, 2018
Messages
233
Things I dislike about Godot versus CX:

- Cannot easily do in code only. Need to do in visual(manual) for some scenarios. Example case: when I want to generate auto level creation or generate my texture on the fly base on runtime scenario.

- Render to texture is not straightforward. I'm talking about 2D. You need to use a viewport and its not as flexible as CX render to texture. In CX you can do it in code and can create a hundred of them and delete them easily.

- Read/Write Pixel I believe CX is faster, but I have never thoroughly tested it.

- One code attaches to one node style. I'm not too fond of it. Difficult to make them hierarchy in terms of OO like extending them in a structured way. Many nodes extend their own class to serve their function. I found it difficult for me to create an object in (OO parent/child structure) that I want. Also between nodes need to use a signal. It becomes harder when I create node by code on the fly. Godot creates the instances toward the visual representation of the node. but normally I like the OO hierarchy base on the game logic or the functionality of the game.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
Using the latest 3.5.x version, I couldn't change the tile size of the imported tile sheet what so ever.

Bugs the primary reason why I dropped Godot. It is a really nice tool to teach and learn game development but I don't personally consider it reliable. The build templates for mobile and web also often fail to build or crash. It is nice to play with but nothing more. I think the problem is that Godot is growing way too fast and core devs and contributors just can't keep up with it.

Many people suggest CocosCreator and Defold is a better choice. Regardless the moment I tried them I managed to find bugs with them and the responses I was getting on the forums was a little disappointing, not friendly.

So then I tried CX and it is corrupted me. No idea what happened, it must have switched something in my brain because I can no longer go back to visual game makers. I no longer have the patience to navigate between menus, check boxes and toggle switched to get anything working. I prefer to code even if it takes 10x longer but usually it is not. if I know what am I doing, 10 mouse clicks is just a few lines of code.

My personal favourite is GDevelop, but I dislike the direction it is heading. It is becoming bloated, they are focusing too much on hiding complexity behind extensions and behaviours that you can just attach to objects and tweak settings instead of actually scripting the gameplay. I can't see myself ever using it again or any other visual game maker but for beginners or if you would like to take a break from coding and focus on the art and design aspects, it can be very relaxing to use and people have actually published more commercial projects with it than Godot, it is very reliable and stable for the most part.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
I've had gone through most libraries you mentioned and I was surprised that most of them works great.

Cerberus-X is still my personal favorite. But still have two left to try : bgfx and libgdx

Lots of people seem to prefer libgdx over Unity so that one will be interesting to explore.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
I have never used libGDX. Last time I was considering many people was complaining about the documentation being incomplete and it is in "maintenance mode" and no more improvements and new features planned but only bug fixes and generic maintenance. Despite it is indeed very popular especially among students. Later I was ignoring it simply because I am not interested in Java.

But since you are looking at a Java game library, I would like to mention also MonoGame here.
It is a C# game library that is actively developed and support even game consoles. It is a continuation of XNA and fully compatible. It was used to port hundreds if not thousands of commercial XNA Windows and UWP games over to mobile and game consoles. Its lead developer actually using it in his studio (Sickhead Games) to develop commercial games with it. So the fact its lead developer actually using it, is reassuring regarding its future. One thing people complaining about is that it comes with its own content manager that you need to use to import your images, fonts and sounds which many people dislike and lack of documentation if you want to do 3D.

There was a time I was heavily invested in C# and MonoGame I really liked it but I suffered mental breakdown and burnout and I was forced to stop coding and game dev for almost a full year but it was not because of MonoGame or C#. I was just stupid. After I have discovered Cerberus and never returned to C# and MonoGame because I love the simplicity and performance of Cerberus, but I do recommend MonoGame if you looking for something cross-platform that is proven and also support game consoles.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,196
Same here so I can relate to having a burnout. I prefer Cerberus-X for the same reason, you get quality and without the fuss. Hands down the best choice.

The only reason why I do this now, is bcI have to build an app wich needs features that are missing in Cerberus-X, those features are Android fileaccess, Load/Save png and sharing images.
This meant that my only optione was had to do it myself which I can't do as quick as I need it because of this burnout. I'm totally out the loop.

So I thought why dobn't I look for suitable tool just for this project. The tool I settled for was unluckily tied to LibGDX. But this is the quickest route for me. It's too hard for me to implement Android native code for cx right now. I could do that later but not right now, and the app needs to get done.

Btw my complete list of interesting subjects was :

* Löve MonoGame LibGDX HaxeOpenFL C++Raylib
* Pixi & P5 (these were the fastest web libraries of 30 most commone ones)
* Unity
* Unreal


But course after testing I still have to ask myself the question which one of these are realistic for me to use right now. I'm not talking about months of learning, but right hhere and now. But Cerberus is still my favorite. This research have actually only made me appreciate CX more.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
200
Full filesystem access on mobile and export png is not going to be easy if you looking for a simple solution that just works. Android and iOS also make it difficult for security reasons. But I believe AppGameKit does support exporting png and access the root directory and external storage and also file transfer via bluetooth. It is not free, but I believe the trial version give you access to all features with the limitation your games can run only for few minutes and if you are lucky you can get AGK Classic for as low as $15. It is on sale all the time. Maybe worth to get it for just this project. But I can see many people complain it does not work equally on all Android devices. It would be too boring if it would just work everywhere :D
 
Top Bottom