SyntaxBomb - Indie Coders

General Category => General Game and Application Development => Topic started by: EdzUp on August 22, 2021, 15:35:02

Title: Best language to settle with
Post by: EdzUp on August 22, 2021, 15:35:02
Having dabbled with coding for many years (I was a serious coder back when MSDOS was a thing using C/C++ but didn't like windows programming) I'm looking for a good alternative to replacing that. I've got BlitzMax, Code Blocks and Unity but I just want a language that no matter what I want to make I can just go and make it. At present BlitzMax does do most of it but the issue I have for ther is future proofed support etc

Anyone have any other suggestions as I'm veering to going back to dos using Dosbox 🤔
Title: Re: Best language to settle with
Post by: Amon on August 22, 2021, 16:12:54
Try Gamemaker. It has a free version now.

https://www.yoyogames.com/en
Title: Re: Best language to settle with
Post by: Henri on August 22, 2021, 16:19:03
Hi EdzUp,

if you are working on Windows target only then I wouldn't be that concerned about future proofing. Whatever works now will work for the foreseeable future.

-Henri
Title: Re: Best language to settle with
Post by: EdzUp on August 22, 2021, 17:03:48
@Henri: I rarely look at android as well but I will say that is even less now as they keep changing the store systems for tax stuff etc.
Title: Re: Best language to settle with
Post by: Hezkore on August 22, 2021, 17:09:23
No language will ever cover all your needs.
Use what's best for the current project.
TypeScript is pretty decent for quick prototyping, but so's BlitzMax.
C isn't going anywhere, so as long as you know C you'll be fine, but I probably wouldn't want to use it for big projects.
I've been using D lately, and I think it's a pretty good middle ground and works for most things.
It's also got some really nice language features. (like uniform-function-call-syntax-ufcs (https://tour.dlang.org/tour/en/gems/uniform-function-call-syntax-ufcs) and string-mixins (https://tour.dlang.org/tour/en/gems/string-mixins))
You can run the D source files as scripts as well, making it very quick to toy around with.
And you can even try it in your browser on their homepage: https://run.dlang.io/ (https://run.dlang.io/)
It's well documented and has lots of books written about it: http://ddili.org/ders/d.en/index.html (http://ddili.org/ders/d.en/index.html)
Title: Re: Best language to settle with
Post by: EdzUp on August 22, 2021, 17:57:06
Quote from: Hezkore on August 22, 2021, 17:09:23
No language will ever cover all your needs.
Use what's best for the current project.
TypeScript is pretty decent for quick prototyping, but so's BlitzMax.
Yeah true, I do like using Max have been looking into it more now we have BlitzMaxNG :D

Quote from: Hezkore on August 22, 2021, 17:09:23
C isn't going anywhere, so as long as you know C you'll be fine, but I probably wouldn't want to use it for big projects.
C is good for loads of things but its very convoluted and longwinded to get things going, it was brilliant back in the DOS days when you could write anything with a few lines of code now you need dozens of lines just to get a window on the screen.
Title: Re: Best language to settle with
Post by: MikeHart on August 23, 2021, 05:48:36
What? No AGK anymore? What the engine you we're programming?
If you look for a general purpose language, I would say C# or Python. They are supported and have huge resources available.
Game engine wise I would say Unity or UE. Only them have the wallets and Stamina to survive.
Title: Re: Best language to settle with
Post by: EdzUp on August 23, 2021, 07:00:45
AGK is a good system but one bugbear I had with it was the interpreted nature of it, the engine I'm still coding but after a load of real life stuff it's slow going. Which is why I am looking for a language to fill the void as it were as I just intend to finish the projects I have then just go back to small programming tasks.
Title: Re: Best language to settle with
Post by: MikeHart on August 23, 2021, 09:12:32
Then I would say Python. Has a lib for everything.
Title: Re: Best language to settle with
Post by: EdzUp on August 23, 2021, 09:53:31
I will have a look, thanks MikeHart
Title: Re: Best language to settle with
Post by: Kryzon on August 23, 2021, 10:01:15
I'd love if there was a tiny single framework and language that you could use for both desktop and mobile, but I don't think there is.
I think BlitzMax could've taken that spot if it were developed further. Simple compiler and toolset, no need for huuuge gigabyte downloads like you do with, say, the C# tools.

I wish this was Haxe, but to me the learning curve was very difficult and I gave up on it. I wanted something like BMax that you could get up and running in less than 15 minutes, but when setting up Haxe and getting the sample projects to run I hit little snags at every step of the way.

I'm thinking you won't have one generic solution, but several, each more suited to a different kind of project. For 2D games I'm finding Love2D + Lua to be very fun to work with, but if I wanted to make rich desktop GUI apps I'd need something else (maybe Go and Qt (https://github.com/therecipe/qt)).
Title: Re: Best language to settle with
Post by: MikeHart on August 23, 2021, 12:29:41
Again Python and PyQT for Desktop apps then.
If you don't care about a tool being supported or run by a one man show, then of course you have plenty of tools available. If you want at some security with support, then go with the big guys.
Title: Re: Best language to settle with
Post by: EdzUp on August 23, 2021, 13:35:11
@Kryzon: definitely my sentiments BlitzMax would have fitted the whole thing perfectly but for monkeyX being created for mobile

Title: Re: Best language to settle with
Post by: Steve Elliott on August 23, 2021, 18:46:03
Well if you're talking about general purpose languages for games then C++ and C# are good candidates.  But certainly C++ changes every 5 minutes and gets ever larger and larger (which can be frustrating).  Then of course you need some game engine to learn and bolt on.

IMO for games, languages like the Blitz Languages back in the day and the modern equivalent AGK are ideal.  Because they are simple to learn and you can get things done game-wise, putting art on-screen and sounds playing with ease.  But the Blitz languages are abandoned and AGK could be quicker if it was compiled, plus that command set is awful IMO.  Soo long winded:  ThisIsaCommandToDoSomething() and ThisIsaCommandToDoSomethingElse().  And btw Python is also interpreted, just like AGK!
Title: Re: Best language to settle with
Post by: Henri on August 23, 2021, 20:09:56
Blitzmax discussions can be found in Discord as well at https://discord.gg/5q57ewKF

'Official' website is here https://blitzmax.org (https://blitzmax.org)

Android target is currently out of order, because Android development team deprecated the gcc toolchain support (as far as I know). I don't use Android myself , but if I ever go there , I might try to get that working..(I don't consider it too impossible :-))

-Henri
Title: Re: Best language to settle with
Post by: Pfaber11 on August 24, 2021, 00:42:11
My first suggestion would be AGK and second PureBasic . AGK is very much game bias but I would imagine it could be used for many things . It just seems easy to get along with and just works . Purebasic is very good but I find it a drag compared to AGK and some things it does are a pain and long winded . I did have a brief spell with Python as well and although it's considered easy to learn (matter of opinion) I think AGK studio is better for games at least , as for other stuff I don't really know although python seems to have a module for just about everything. Me , I'll be sticking with AGK studio for a while .
Title: Re: Best language to settle with
Post by: William33 on August 24, 2021, 19:17:48
Quote from: EdzUp on August 22, 2021, 17:57:06
Quote from: Hezkore on August 22, 2021, 17:09:23
No language will ever cover all your needs.
Use what's best for the current project.
TypeScript is pretty decent for quick prototyping, but so's BlitzMax.
Yeah true, I do like using Max have been looking into it more now we have BlitzMaxNG :D

Quote from: Hezkore on August 22, 2021, 17:09:23
C isn't going anywhere, so as long as you know C you'll be fine, but I probably wouldn't want to use it for big projects.
C is good for loads of things but its very convoluted and longwinded to get things going, it was brilliant back in the DOS days when you could write anything with a few lines of code now you need dozens of lines just to get a window on the screen.

With C you could use https://www.raylib.com/ (https://www.raylib.com/). That's a pretty awesome library, just one line of code to get a window on the screen. And did I mention it's multiplatform?
Title: Re: Best language to settle with
Post by: Pfaber11 on August 24, 2021, 21:54:41
Just took a look at Raylib and it does look like it covers a lot of bases .
The only problem I have with what I use is it's aimed almost exclusively at games and with just a bit more effort it could be a real Basic(all purpose) and include windows forms . I'm using AGK Studio and I suppose I could use  windows forms that I program myself (maybe). 
Title: Re: Best language to settle with
Post by: Steve Elliott on August 24, 2021, 21:58:22
Maybe choose Fast ST BASIC?   ;D

I remember that as the first fully serious language (for the Atari ST).  Then came STOS, AMOS and all the others.
Title: Re: Best language to settle with
Post by: Pfaber11 on August 25, 2021, 16:20:17
I had STOS on my Atari STe and thought it was great and was looking for some time for something to match it on the pc as we know it now and I believe I've found it in AGK s/c  . I found stos to be a bit too slow for commercial use but now with AGK 30 years later it is pretty amazing what can be achieved with AGK Basic. The grass is always greener and I find myself looking at similar languages but I think I've settled in with AGK studio for maybe another year or ten if it is still a thing .
Title: Re: Best language to settle with
Post by: Steve Elliott on August 25, 2021, 18:50:16
I have Fast BASIC and STOS for the Atari ST even today (not the compiler though, that made STOS run faster).  I'm a computer language aficionado so I must have bought nearly every language available lol.  And back then there was always a good boxed package with a beefy manual.
Title: Re: Best language to settle with
Post by: Pfaber11 on August 25, 2021, 23:51:04
I never had the compiler and hmm might of been fast enough for commercial use with it . I guess I'll never know. Did one game and some educational stuff with it . Not much really . Tried visual basic express 2005 edition years later and it really wasn't for me . probably very good and I was using it in a really crap way. Been using AGK on and off for 3 years and tried a few others . Almost sure I will stick with AGK now . Got a plugin for a GUI called Nuklear which is very cool incase I want to try my hand at some business or non gaming software. Yeah I would love it if AGK came with a book . I had STOS in 1992 30 years ago and think it set me back about 20 quid. From what I remember it was as or easier to use than AGK . I suppose stos was a bit of a game engine too although it was useful for pretty much anything .
Title: Re: Best language to settle with
Post by: Pfaber11 on August 26, 2021, 14:31:11
I think the language to settle with would be the one you feel most comfortable with . For me it has to be current too and fairly easy to get along with. I am intrigued to know what you have chosen.
Title: Re: Best language to settle with
Post by: Steve Elliott on August 26, 2021, 14:58:53
Quote
I am intrigued to know what you have chosen.

For now I'm using AGK which I think is a pretty good choice, but behind the scenes I'm working away on my elgol language.  I'll get there one day lol, but it's a lot of work.
Title: Re: Best language to settle with
Post by: Pfaber11 on August 29, 2021, 17:14:05
I think AGK ticks most the boxes and is pretty fast considering it is an interpreted language and feels great to work with. I have a GUI plugin installed for windows style forms if I need them if and when  I decide to do some non gaming apps . The download is on TGC 's forums just type in Nuklear in the search and it should get you there.
Title: Re: Best language to settle with
Post by: EdzUp on August 31, 2021, 13:56:22
At present I have been using Unity, C++ and AGK although at present my time is very limited.
Title: Re: Best language to settle with
Post by: therevills on September 02, 2021, 11:15:24
At the moment I'm enjoying Lua/Love2d.
Title: Re: Best language to settle with
Post by: Pakz on September 02, 2021, 12:53:40
On the ipad and iphone I took the gamble and bought that 'codea' app. It turned out to be a fun game dev tool. The language is Lua with some extensions. It can do 3d as well. There is even a whole Minecraft/voxel example where the files/code can be used to build your own voxel stuff.

I spend a couple of weeks getting to know it and stored my examples on a github repo :
https://github.com/Pakz001/Codea-examples

coding on the iphone is doable when you get used to it. I plan to keep using codea.
Title: Re: Best language to settle with
Post by: Pfaber11 on September 02, 2021, 16:04:25
@Pakz  Just looked at your code snippet and am thinking you are programming in Lua is that correct. Looks nice to work with.
Title: Re: Best language to settle with
Post by: Pakz on September 02, 2021, 16:10:53
Yeah, Lua. Said to be a easy language to learn. Kind of like Godot script too. I'm not sure if it is the LuaJit version, which I have seen in a benchmark rivaling regular C.
Title: Re: Best language to settle with
Post by: Kryzon on September 03, 2021, 19:19:23
On desktop platforms, as far as I know, LuaJIT compiles down to machine code (so truly a binary executable, like C).

Edit: hm, but it's not all of the code. Some parts might remain interpreted if they do some specific things that I don't remember.
Title: Re: Best language to settle with
Post by: Pfaber11 on September 04, 2021, 17:09:59
Lua does look pretty good and with jit is quite fast . Had a look at it myself , failed to get the jit part working at the moment .
Title: Re: Best language to settle with
Post by: Kryzon on September 05, 2021, 05:59:22
There's some convenient binaries over at the LuaPower project: https://github.com/luapower/luajit/tree/master/bin 
But if you use a game engine like Love2D, LuaJIT comes embedded in the engine runtime.

Edit: I use the Windows binary from LuaPower as a simple shell, to try on some Lua formulas and one-liners.
Title: Re: Best language to settle with
Post by: Pfaber11 on September 05, 2021, 12:28:34
I ended up going with zerobrane which uses Luajit by default as it's internal engine. I noticed lua works with Raylib as well .
Lua may end up as my goto language . If and when I get to the same skill level as I'm at with AGK I'll make an evaluation , early days yet but it does look promising . Good day
Title: Re: Best language to settle with
Post by: MikeHart on September 05, 2021, 12:45:30
QuoteI ended up going with zerobrane which uses Luajit by default as it's internal engine.

Again, something using LuaJit is just for its own workflow/engine.

ZeroBane (Editor) uses LuaJit for its own plugins/functionality. If you code with ZeroBane for some engine  (raylib, Löve, Defold, Gideros Mobile, etc. ) that doesn't mean that this engine uses LuaJit automatically.
Title: Re: Best language to settle with
Post by: Kryzon on September 07, 2021, 09:30:32
Quote from: MikeHart on September 05, 2021, 12:45:30
Defold, Gideros Mobile
Wow, didn't know of those ones. Thanks!

Edit: looking at some itch.io games, Defold is so lightweight, damn.
Title: Re: Best language to settle with
Post by: Pfaber11 on September 09, 2021, 23:55:02
I've just spent the last 2 days trying how to get lua to make an exe which I have had a bit of success with . the problem is it will only produce one file at a time which really isn't enough . still at least i have an idea of how it's done now . Tried loads of IDE's and text editors and the only one I like is zerobrane . I did take another look at python too and really can't get on with it . Got to sort the exe thing out though I really felt like ripping my hair out but at least I found something that works although not ideal. As far as it goes it really is pretty good to use . If anybody has a solution to the one file thing please let me know .
well thats it after spending about 3 days trying to produce a working exe on Lua I'm chucking in the towel. It's back to AGK full time unless I find a language that is procedural and I can work with and is semi professional and is a good allrounder.
The syntax of Lua is very nice but I find the problem of producing a reliable exe a bit of a swine , it's probably easy and I'm just not getting it but I ran across a few posts of people having difficulties in that area too. Anyway it's back to the serious business of writing games.
Have a nice evening .
Title: Re: Best language to settle with
Post by: Kryzon on September 11, 2021, 07:19:31
@Pfaber11 If you don't have a toolkit that handles deployment for you (eg. Defold), then you'll have to do it manually. According to the LuaJIT documentation, you're supposed to:
A) Compile your .lua scripts down to native bytecode/object files.
B) Have a C program that can invoke the Lua interpreter.
B) Link your C program together with the object files from step A.

A few resources on the topic:
- https://williamaadams.wordpress.com/2013/03/13/is-that-cool-or-what-embedding-luajit-bytecode/
- https://stackoverflow.com/questions/19416981/running-luajit-object-file-from-c
- https://github.com/jirutka/luapak

Step A could benefit from some automation, I think that's what the Makefile recipe system is for: set it up once and let it handle building your program automatically. This tool seems to be made for this: https://github.com/jirutka/luapak
Title: Re: Best language to settle with
Post by: Baggey on November 27, 2021, 15:11:02
BlitzmaxNG Is great! Ive been Learning to program with it! I Started with Playbasic and have been looking at trying out Freebasic and Sokol/Wonkey as well.  :)

Kind Regards Baggey
Title: Re: Best language to settle with
Post by: Pfaber11 on April 18, 2022, 17:29:20
I've spent the last 10 days trying to do the Lua thing again  and this time I did get further than last time . I wanted to use it with raylib but could not get it to work . My code was running ok until I try using require raylib  and then it all went to crap . So I'm back to the tried and tested AGK Studio. I'm half way through a project right now and when I'm done I might just take a look at PureBasic again . Ogre is very nice to work with and similar to AGK when using 3D . The only thing I don't care for is DX9.0c as it is no longer included with windows 11 however when they get around to releasing PureBasic 6 I am going buy it . Happy Easter.

The only thing I don't care for with AGK is it's a bit slow don't get me wrong I really like it and with a bit of optimizing I do hit the 60 frames per second from one end of my map to the other so I have to say that speed hasn't been an issue yet but my projects are getting more complicated as I go along . Sorry for the long message .
Title: Re: Best language to settle with
Post by: Shardik on April 18, 2022, 20:44:39
Quote from: Pfaber11 on April 18, 2022, 17:29:20
The only thing I don't care for is DX9.0c as it is no longer included with windows 11 however when they get around to releasing PureBasic 6 I am going buy it .

As far as I know you had already bought PureBasic before starting with AGK. Since PureBasic has unlimited updates you may load every new PureBasic version (and even beta versions):
Quote from: https://www.purebasic.com/pricing.phpThe updates are unlimited, unlike most other software out there. That means when you buy PureBasic you will get all future updates for free, on this web site. Better still, you get the four versions of PureBasic (Amiga, Linux, Windows and OS X) for the same price !

So you may just download the current PureBasic 6.00 Beta 6 for Linux (x86 and x64), MacOS (x64 or M1 arm64), Raspberry Pi (arm32 and arm64) or Windows (x86 and x64) and try it out. Click onto "Login" on the top right of the download site (https://www.purebasic.com/download.php) and after successful login you will be able to load the current LTS (Long Term Support) versions and the current beta versions. You are even able to load all older PureBasic versions ever published by clicking onto the "museum" link.
Title: Re: Best language to settle with
Post by: Pfaber11 on April 19, 2022, 21:03:26
No just used the free copy but am going to get it very soon . could you please tell me is it still using the old ogre DX9.0c or have they upgraded it . I think these guys have got the right idea by supporting their basic for all this time as some bring out a nearly the same thing and charge again.

Title: Re: Best language to settle with
Post by: Coder Apprentice on April 19, 2022, 22:47:58
Quote from: Pfaber11 on April 19, 2022, 21:03:26
No just used the free copy but am going to get it very soon . could you please tell me is it still using the old ogre DX9.0c or have they upgraded it . I think these guys have got the right idea by supporting their basic for all this time as some bring out a nearly the same thing and charge again.

They charge you once! But you know that right? How many years this has been going on with you? Fretting about which language to use, worried about people won't think you're a real programmer since AppGameKit sounds like a toy, suggesting to The Game Creators to use JIT instead of byte code interpreter meanwhile you have a very limited understanding about these things. You need Vulcan and Metal...you have all these demands while you don't have a strong basic concept about general hardware requirements for certain look and feel of a game. Look around and study what visuals games deliver with certain hardware requirement and try to make games that are in sync with that. Just check AppGameKit's showcase page to see what others making with the same tool. And if something doesn't work the way you think it should, first assume it's your fault, and try to find the cause instead of running to the forums open a new topic about a bug...   

When it comes to what to use I suggest one thing. Choose one tool and learn it properly and learn to think efficiently. So your fairly simple games won't end up being ten thousand lines of code while they should be below a thousand, and they won't be slow like they are now.

Title: Re: Best language to settle with
Post by: Pfaber11 on April 21, 2022, 19:28:44
Well Kris the way I see it is this , there are plenty on here who try out new languages because they like to try them out it's fun . And yes I am still searching for the holy grail  . Maybe I have found it .
Title: Re: Best language to settle with
Post by: Pfaber11 on April 22, 2022, 07:35:59
Yes Kris I think that AGK could be extended to use a jit compiler why not .and with not too much effort could be become excellent for games programming and also excellent for general purpose programming . Could be in the pipeline. I doubt it but you never know. 
Title: Re: Best language to settle with
Post by: Pfaber11 on April 23, 2022, 14:58:56
Well I've just bought PureBasic for £69 . I'm gonna use PureBasic for desktop and AGK Studio for Android . I figured out that thing with my setvsync() too and my computer works fine with it set to -1 where it should be 1 something very sku if  there. Well there we are now gonna go and download it and take a look at 6 see what I think .