Yeah, supposedly Unreal can work on Linux, but the support is really bad. I never got it working, but I did some research when I was looking into it and gave up. Even the people that got it working, there are a lot of features missing, like the asset store. It's even worse on UE5 because most of the new rendering features only work on Windows. I'm kind of done with that. I mean, I still have a Windows 11 rig and a MacBook, but I don't feel like supporting companies that release stuff that doesn't work and don't care about users.
Talk about anything
This project above, I would still love to finish- but not in Unreal. The assets are Deckagon, if I remember correctly, but I'm not in love with them and can have them replaced if I find something that looks as good. The effects, however- god rays, glows, blooms and such- How would one emulate all that? You can't see the god rays from here, they're behind this scene.
PS: This project is an old Victorian era English detective story I was working on. It starts in 1887. Note the importance of the date, as something big happened a year later...
- Edited
Don't know god rays, but I recommend "Real Time Rendering" as a resource for all things, well, real time rendering. Not the very fancy ultimate latest stuff the high end engines implement, but we don't have the billion dollar budgets anyway :-)
https://www.realtimerendering.com/
There's a new edition in the making, but delayed.
Some other resources that may be of interest, if not already known:
https://www.pbr-book.org/3ed-2018/contents
Dabbling with path tracing "in one weekend":
https://raytracing.github.io/
To get into graphics programming before Vulkan:
https://learnopengl.com/
Grab the "Red Book":
http://www.opengl-redbook.com/
for OpenGL 4.5. The knowledge is not in vain, but a prerequisite I'd say for Vulkan.
There's also the Blue Book, called the OpenGL Superbible, latest edition.
For Vulkan, a starter:
https://vulkan-tutorial.com/
going on:
https://github.com/SaschaWillems/Vulkan
and:
https://github.com/KhronosGroup/Vulkan-Samples
Some of these are real hands-on, you code after someone else. Maybe you make friends with C++, then ;-)
Can't recommend Vulkan books, they are all piffle, well maybe the "Vulkan Cookbook" by Lepinsky or so ...
C++ is my natural environment, that's where I feel comfortable. But then again I've been using it for 27 years, and teaching it professionally for 20 years.
(It wasn't my first language by a long shot, just the one I settled on and stuck with)
I guess I removed the god rays, but here's another shot, this time with the main character. You may not realize the rain in the background.
As I said, it almost got finished- there is no real background here, just a rainy sky at this point.
I coded a basic Vulkan hobby engine myself, without any experience in OpenGL, so it can be done. However, I had worked with DirectX for about 5 years at that point. Starting with DirectX 9 (not too serious) and then I spent a lot of time with DirectX 11 and built an engine, and later half ported it to DirectX 12. And DirectX 12 and Vulkan are very similar, so I found Vulkan to be straight forward at that point. I only did some GL later when I started working with WebGL.
If you want to get into graphics programming, I would highly recommend you start with WebGL. You still learn the basics of the pipeline, but the API is very streamlined and easy, with none of the legacy garbage, and you can get things running in a weekend without dealing with all sorts of compiler/linker issues you will have if you've never used C++.
Just do the tutorials on this page. They can be done in one day, and you will have something to show and actually learn something. If you start with Vulkan, it can take at least a week before you even see anything on the screen.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial
This was the demo I worked on in WebGL. Never really got that far, and I ended up finding Godot and the WebGL support was great, so I stopped working on the project. I think I spent a few months on this. Most of it is simple stuff, but the ball in the middle uses a spherical harmonics shader I wrote (mostly ported from open source code) and the reflection was a shader I created (not based on anything).
Kojack But then again I've been using it for 27 years, and teaching it professionally for 20 years.
Yeah, I was cursing Apple struggling to get my plug-in compiling on Mac, but then I remembered I have like 15 years of experience with C++ on Windows, and 5 years on Linux, and literally zero for Mac, so it's probably not any different.
There in-lies the problem- as an indie, I don't have much time for learning it. Money has to still come from something. Perhaps freelancing? Not that I've ever worked for anyone but myself in programming before.
This sounds cool, though, and that graphics on that looks excellent.
Back in Unity, I guess I was pampered. I could buy already-made shaders and use post-processing with a few clicks.
If anything looks better in Godot ^^:
Still plenty WIP
Yeah, the graphics in Godot are completely fine. I think people just never tried.
Nerdzmasterz I also never tried making shaders, it sounds difficult.
Nerdzmasterz so many times, I have heard about "how hard it is to code".
Um...
What's so hard about print(6 + 8), or get_node("Button").show()?
Nerdzmasterz Back in Unity, I guess I was pampered. I could buy already-made shaders and use post-processing with a few clicks.
If I can code a shader, surely you can do it too. My current avatar is a metaphor for my programming journey.
GDShader has one foot in Godot philosophy and the other in conventional syntax, making it friendly to write but also more relatable to common code, resources, and examples than GDScript. I think the beginner-friendliness of learning to create shaders in Godot has been seriously understated -- there's this false sense that it isn't as simple as (or simpler than) other tutorialized features or techniques in Godot.
Online resources about shaders exist, but for whatever reason it hasn't sunk in that Godot makes them about as easy as anything else it does.
Maybe I'll check it out then... once I find an air tank sprite for my game. My gosh, I did not expect it to be so much trouble to find even a rocket that remotely looked like it. I would be happy if I could even change the color and remove the top of a fire extinguisher at this rate.
- Edited
Lens flares ... coool :-)
@Nerdzmasterz : I'd use basic ad hoc geometry to check functionality. Nice assets come later.
Ik, I'm getting so close, tho.
cybereality I think they made C++ too complex for no good reason.
The original concept of C++ was "C with classes". It's interesting how much complexity that one change caused.
I mean, C++ is great. With all the overloading, for operators, or for even standard functions, and meta-programming, you can almost write your own domain specific language using C++. It's very flexible in that regard. And it gives you power to do whatever, there are no limits. So it's great. But I guess the whole "design by committee" is not the best method. I think it's better if it's just one person with a clear vision.
Among languages I've studied recently, I think my favorite is Kotlin, which was designed as a streamlined evolution of Java. I was using it in Android Studio before I decided to look into game programming.
Pixophir I just checked the functionality. I will work on the main parts of the game next. For now, I have assets for the air tank and gun which seems really out of place...
Yeah, still on the lookout for guns and air tanks.
DaveTheCoder Among languages I've studied recently, I think my favorite is Kotlin, which was designed as a streamlined evolution of Java. I was using it in Android Studio before I decided to look into game programming.
I need to try Kotlin. I have heard really good things about it and it looks like an awesome language, I just have not had a chance to dig into it.
Kotlin looked interesting. I was going to use it for a watch app, but then I realized the watch hardware didn't support what I needed.