While you're here, please consider supporting GamingOnLinux on:
Reward Tiers:
Patreon. Plain Donations:
PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers:
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- NVIDIA announce a native Linux app for GeForce NOW
- KDE Plasma 6.6 will finally stop the system sleeping when gaming with a controller
- NVIDIA announce DLSS 4.5 with Dynamic Multi Frame Generation, plus DLSS Updater gets Linux support
- Mesa RADV driver on Linux looks set for a big ray tracing performance boost
- Linaro reveal they're collaborating with Valve for the Steam Frame
- > See more over 30 days here
- Weekend Players' Club 2026-01-09
- Xpander - Will you buy the new Steam Machine?
- Xpander - Browsers
- Xpander - New Desktop Screenshot Thread
- Klaas - A succesfull Windows-Ubuntu migration the story
- LoudTechie - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck
I've switched to Visual studio code with the atom dark theme, so far my only complaint (other than having to relearn keyboard short cuts) has been that there does not seem to be any way to get a method/function outline?
View PC info
When I first started developing on Linux, I started with the IDE I'd used in high school. Code::Blocks worked, but was an inferior experience to VisualStudio I had to use at university. So I looked for alternatives. In QtCreator, I triggered a bug in the installation process, commented on a report someone posted about the bug before me, and never tried it again. Does it allow a CMake only workflow now? Last time I checked, it used qmake which I didn't want to bother with. After that, I settled on Atom for ~a year, which worked fine but I couldn't get breakpoints to work. We had VSCode preinstalled on work computers and I found it easier to debug python in, so I switched to that, after finding a telemetry free version.
Earlier this year I found the Gambas. Gambas is a VB like, but vastly improved, IDE for developing desktop applications (or command line) in Linux. Since VB6 has always been my favorite programming environment, finding Gambas was way overdue, and a very pleasant surprise. I don't know why I hadn't found it before, it has been around for quite some while and is fairly mature.
It is not really a game development platform, though I am using it as such, in a sense. (If anybody wants a shared library for gamepad input, let me know, I wrote one.)
If you are interested, I suggest you start with the sample programs I posted on a Gambas forum:
"Programming is supposed to be fun" at https://forum.gambas.one/viewtopic.php?f=4&t=674
Ever seen a scrollbar act like a cannon with recoil? You'll find it in the second example.
PPA: gambas-team/gambas3
The latest version is 13.0
A very helpful website is: http://gambaswiki.org/wiki
It is absolutely the best IDE for learning how to program I know of. The nice thing is you will never "outgrow" it. It is a byte code interpreter though (but so is Java and Python, excepting JIT which Gambas has too). It is really easy to call C .so libraries, so anything computationally heavy can also be tackled.
It is Linux specific, but it is supposed to work on Raspberry Pi.
Ced
Indeed it is.
(Actually, when I was in elementary school, there were Yamaha MSX-based computers with one-colour displays, high school students used them for studying BASIC, but I never had a chance to use them.)
Don't get me wrong. I like syntax highlighting a lot. The point I am making is that it is sort of a crutch for improving code readability (and it does improve readability tremendously). Thus, if that is all you are used to, then formatting your code to be readable when displayed in monochrome is not a consideration that is in the forefront in your mind, if even at all.
On the other hand, if your code is very readable in monochrome, it is even more readable in technocolor.
I.e., IDEs can make you lazy and sloppy.
I like code completion as well. It saves a lot of copying and pasting (no, you shouldn't retype variable names, this practice only encourages cryptic naming conventions, though cryptic names are okay for local variables).
How about procedure separators? Most IDEs provide them. I turn them off. Instead, I put a comment line in like thus:
//=================================================================
That way it is part of the source file and is there no matter which context it is viewed in. As in the first example in the forum post I linked above.
Ced
At work I am using IntelliJ IDEA for JavaScript, TypeScript, CSS, Sass, SCSS, HTML.
When working on games I tried CLion (Godot) and now I will be probably using Rider (Unity). Currently I am working on a small platformer game in Godot, using GDScript so the IDE is Godot's editor and I miss a lot of functionality from IDEA (that's one reason I am planning on going to Unity and C#, because in Godot you can either use GDScript [not supported in IDEA and the language itself has many downsides] or C++, so GDNative which is an undocumented, poorly supported and buggy mess).
For other projects I use IntelliJ IDEA usually for Haskell, now trying ReasonML for front-end needs for which Haskell, or rather its tooling, is very far from ideal.
It would take me a long time and my productivity would take a giant hit, if I would have to use feature-less editor instead of a proper IDE. For example type-aware autocompletion is priceless.
Light-weight, and "it just works".
(Back in the Windows days, Notepad++ was the go-to.)
When I was briefly testing C# with Godot, there were some significant downsides - for example missing stack traces after crash, broken project file for C# which had to be manually fixed, more boilerplate compared to GDScript, issues with custom C# types (IIRC struct isn't supported at all = performance problem or use a lot less readable solution), undocumented differences in API compared to GDScript (worst were conversion rules between C# types and GDScript ones, it is not a smooth experience). Performance-wise C# isn't bad (much better than GDScript), but marshalling (converting data between C# and GDScript) is very costly and one has to be careful about memory management (GC). I don't like very much how a lot of things in Godot API is "stringy", it really undermines static typing of C# (and C++).
Simply put, Godot supports GDScript well, nothing else, even though they claim C# and GDNative (C++) are officially supported. One of reasons why I am going back to Unity is because I want to write in a language which is properly supported by the engine, its team and community (by supported I don't only mean technical side, but also docs, guides, tutorials, community, marketplace). Unity is just so much more mature.
For my use-case was quite important debug view which Godot misses (viewing real 2D/3D instances in editor when game is running). Another thing I don't really like is that a node can only hold one script (forcing deep branches in a node tree), cumbersome addressing of these inner nodes, difficult refactoring, missing inheritance or any equivalent mechanism. With Godot I picked C++ because of performance, but it might be possible to reach similar performance in Unity with C# using their custom compiler (so I could write in a reasonably nice language - C#, C++ is for me too low level, unnecessarily complex and wordy). Maybe in a few years I'll try Godot again (after 3D supports basic features like occlusion culling and unlimited number of lights).
Thanks for the insight.
To not be entirely off-topic, I should say that GDScript editor (the IDE) quite surprised me, because it makes using (at least writing) those "stringy" APIs a lot easier. For example when you are writing a node path (addressing a node in a node tree) it will suggest you all different currently available paths in proper context (current node).
My last rant: I still don't understand why Godot team refuses to implemented int variant of vector2 and 3 (can be used for example for coordiantes in a desk game or a voxel world). Their recommended "solutions" were either difficult to use, or very slow, or both. This is a major issue, because GDScript doesn't allow defining custom "structs", so a GDScript user cannot implement performant primitive type (that's only possible if you modify engine itself, in C++, and then you will have to maintain your fork if you want to get fixes and new features from main repo).
Godot being FOSS and having really good Linux support were the top reasons I decided to try it. It definitely has a potential and I believe in a few years it will start competing with "big dogs" in small/middle sized 3D games. :D
PS: I am sorry for the offtopic. :whistle: If any mod is reading this and if you have some free time, it might be worth clean this up a bit, e.g. duplicating my first post to a new thread and move there all subsequent posts from here. (Not sure how this forum works, I am new here, so maybe I am entirely off.)
The only thing it's missing is a kitchen sink.