Any game developers here?

Soldato
Joined
1 Nov 2007
Posts
6,243
Location
England
I've always wanted to make games, and it is why I taught myself programming 10 years ago, but I never actually got around to game development. I've decided that now is the time to try and make a game myself. I'd want to be a Linux only game developer and wondered if any veterans had any tips or advice? I'll likely be using C++ with either OpenGL and OpenCL or just Vulkan, which apparently can handle compute and graphics, so I don't need OpenCL in that case.
 
Why linux only? If you wanted to make money from it you're basically shooting yourself in the foot.

Linux gaming has come a long way but still doesn't compete with Windows gaming.

I'd honestly start with using a package first like Unity, saves a load of time and I'm sure it can be ported out to Windows, linux and mobile platforms.
 
Unless you have a specific reason for not using a ready game engine e.g., you want the challenge of actually creating a renderer, physics engine, etc then I would advise just opting for Unity or similar.

Developing your own engine is an extremely long process and really not necessary in this day and age outside of the challenge of writing one.

Open GL is what you want to use, Vulkan is a bit of a lost cause at this point as none of the issues it set out to solve really happened and its adoption is fairly sparse. There are ready C++ based engines you can use such as GODOT.

If you're really dead set on full development of an engine than all credit to you and good luck, but you might get burnt out on the process and never actually get round to implementing any game ideas you currently have.
 
unity, unreal and godot all offer sdks and toolsets for developing games.
They all have loads of free tutorials online, or you can spend 20-40 quid and get a decent one from some where like udemy.
You will have a number of basic games up and running within hours if you allready have some programming skills.

GODOT and Unreal are c++ based and Unity is c#.
Unity and Unreal are good and pretty much work the same way for the basic stuff such as scripting and blueprints.

If you decide to go it alone, you will take months getting an engine up and running and most likely give up.
 
I've got so many projects on the go... I've used a fair bit of Unity in the past, made the shift to Godot because it's entirely free, open source and really not bad at all. I'm looking to give UE5 a go now that they have a huge "free" period on Unreal.

Unless you want the experience of creating an engine, I wouldn't bother. Unless you know how, and want to release the project you'll be competing with engines who have been in the industry for years.

Using an existing engine cuts out so much of the laborious tasks - but maybe that's what you want?
 
As people have said....if you want to make a game, then use a pre-built engine. Otherwise you'll spend years making a game engine, rather than a game.

Unity is out for me personally as I can't stand using closed source.
Unreal is a pretty amazing suite of tools for effectively free. Source is available. C++. Transferable and in-demand skills if you wanted to make a career of it.
Godot I've heard good things about, but it's just a rendering engine IIRC, still lots of extra stuff to build to make a complete game.

All these engines have linux toolchains and will happily build for linux.
 
I've just spent the last 4 weeks learning Unreal Engine. While I'm not a game dev or an expert in Unreal Engine, it's surprisingly accessible and UE5 looks to be a game changer. Get learning! And don't limit yourself to Linux. Not sure that's even an option in Unreal anyway. :D
 
I've just spent the last 4 weeks learning Unreal Engine. While I'm not a game dev or an expert in Unreal Engine, it's surprisingly accessible and UE5 looks to be a game changer. Get learning! And don't limit yourself to Linux. Not sure that's even an option in Unreal anyway. :D
Do you use Blueprints or code? I want to try UE5 but I'm far from a C++ Dev, I'm a C# guy. Thinking of giving it go with blueprints to see what I can create.
 
Do you use Blueprints or code? I want to try UE5 but I'm far from a C++ Dev, I'm a C# guy. Thinking of giving it go with blueprints to see what I can create.

Blueprints for me. I'm no coder so it's the only option for me really. The blueprints system seems amazing. From what I understand, most things you can achieve in c++ can be done with blueprints.
 
Thank you all for your replies I really appreciate it. I've been busy so haven't had a chance to reply. If the choice is between Unreal and Unity then I'd probably go with Unreal in that case and the fact that a new version is due out at some point seems to make it a good choice. Plus I am more familiar with C++ than C#.

I do want to be a Linux specialist when it comes to game stuff for various reasons though.
 
https://github.com/leezer3/OpenBVE

Not quite a developer in the classic sense of the word (I kinda inherited the job 10+ years ago, and it's as much an engine as a full game.....), but there you go :)

Some basic thoughts:
If you're doing anything out of the ordinary, a ready-made engine is as much of a hindrance as a help; You'll end up adding bits on and re-writing entire logic trees as you go.
Similarly, a lot of the pre-made stuff encourages 'lazy' (not quite the right term, but close enough) coding, when writing your own will perform better in the long run.
Think before you code, and properly comment anything you do :P I've lost count of the number of times I've had to re-work something implemented years ago, which a little design thought in the first place would have prevented.
 
https://github.com/leezer3/OpenBVE

Not quite a developer in the classic sense of the word (I kinda inherited the job 10+ years ago, and it's as much an engine as a full game.....), but there you go :)

Some basic thoughts:
If you're doing anything out of the ordinary, a ready-made engine is as much of a hindrance as a help; You'll end up adding bits on and re-writing entire logic trees as you go.
Similarly, a lot of the pre-made stuff encourages 'lazy' (not quite the right term, but close enough) coding, when writing your own will perform better in the long run.
Think before you code, and properly comment anything you do :p I've lost count of the number of times I've had to re-work something implemented years ago, which a little design thought in the first place would have prevented.

Great advice. Thank you.

I want this project to be as highly optimised for Linux as possible which I'm not sure is true of Unreal Engine or Unity. Plus I have some ideas that are not included in those engines anyway so I'm still considering building my own engine. I also want to make it open source so hopefully I'll be able to get some help from other developers.
 
Great advice. Thank you.

I want this project to be as highly optimised for Linux as possible which I'm not sure is true of Unreal Engine or Unity. Plus I have some ideas that are not included in those engines anyway so I'm still considering building my own engine. I also want to make it open source so hopefully I'll be able to get some help from other developers.

I'd really consider whether you want to make a game engine, or make a game. They are both interesting undertakings in their own right, but are pretty much mutually exclusive if you're a novice, and one person.

My advice would be to use Unreal, and get some idea of the things that constitute a game engine, and knock up some prototypes of the games you want to make.

You can stick your game logic in modules that you can later shift over to a different engine or drop into your own one, if you go that route.

Just to emulate the most basic versions of the core unreal systems like animation .rendering, audio, asset handling, networking etc, will take you years of dedicated long hours.

You're really not going to lose much by trying stuff out in an existing engine...no point just assuming it won't do what you want.
 
I'd really consider whether you want to make a game engine, or make a game. They are both interesting undertakings in their own right, but are pretty much mutually exclusive if you're a novice, and one person.

My advice would be to use Unreal, and get some idea of the things that constitute a game engine, and knock up some prototypes of the games you want to make.

You can stick your game logic in modules that you can later shift over to a different engine or drop into your own one, if you go that route.

Just to emulate the most basic versions of the core unreal systems like animation .rendering, audio, asset handling, networking etc, will take you years of dedicated long hours.

You're really not going to lose much by trying stuff out in an existing engine...no point just assuming it won't do what you want.

Thank you for your reply. You make a good point.

I think the difference is that I'd like to make the engine an open source project and get some people who are interested in it involved with development. The game would be an off shoot on the engine and would be done by myself.

But I'll see about prototyping ideas on Unreal to start with as you suggest. At least then I'll be able to see what is going on.
 
Back
Top Bottom