New engine please

For developmental things relating to the graphics of the game.
Post Reply
Word
Reverse Adjust Outside Corner Grinder
Posts: 4299
Joined: Wed Jan 07, 2009 6:13 pm

Re: New engine please

Post by Word »

I only now learned that Amazon bought the CryEngine and turned it into an OpenSource thing, might be worth a look:

https://o3de.org/
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

It certainly is powerful. It is component based, like Unity; you add generic entities in a tree, and each entity can hold various components giving it behaviors. The default scene has a very nice skybox and a very polished looking material test object.
I gave it a bit of a go on Windows (It seems to be picky about its dependencies on Linux), but did not fall in love.

It's very complicated. You have completely different editors for the scene and the UI. In the UI editor, you can't seem to drag stuff around, you have to enter the numbers. For the final design, that probably is all right, as you want to work with containers and stuff, but for quick prototyping, it is cumbersome. I followed the pong tutorial for a bit, got some text displayed, but before I could bind an input (horribly complicated! You have to define an input action, create a script that creates a binding, connect an event to that.... ) it crashed, taking away my entire progress. I thought running a game would save it? Apparently not. That's when I stopped, it had crashed once before.
It's also a heavyweight, as is to be expected. Empty exports are 70 MB, zipped. Empty project folders are 1.6 GB and take a couple of minutes to initialize before you can start working, Dunno what is going on there, it's compiling the entire engine for every project? Once that is done, it still takes long enough for one to open to wonder how long it is and dig for the stopwatch app on your phone.

On checking what others think, I came across the Wicked Engine. It's not as integrated as others, you don't just build a scene in the editor and run it immediately, looks like you have to actually program. On the other hand, that leaves you in control of the main function. That's one of the things I struggle with in the other engines, mentally. You have your scene with your objects and your code, but how do you then best go from the main menu into the game, into maybe different game modes, or from level to level, the online item shop? In the ninja game, I have a main scene that always loads appropriate sub-scenes and shows and hides the menu as appropriate, dunno if that is the best approach.

Oh yeah, I toyed around in Godot quite a bit, so far, it has not made me unhappy. It's all very, very friendly, and GDScript is quite all right. Error handling is its only weak point.
Last edited by Z-Man on Sat Mar 22, 2025 8:29 pm, edited 1 time in total.
Reason: correct format
Word
Reverse Adjust Outside Corner Grinder
Posts: 4299
Joined: Wed Jan 07, 2009 6:13 pm

Re: New engine please

Post by Word »

Yeah, I've read a bit about Unreal recently and everyone complains that almost all the Unreal games feel like the entire engine is exported, including all bells and whistles, making the finished product feel clunky as a result, except for some AAA titles that could afford the luxury of being optimized. My thinking was that this OpenSource CryEngine lets you cut the unnecessary stuff once you have finished your project and want to export it to the platforms in an easier way. Heh, where's the department of game developing efficiency when you need one?
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

O3DE does let you trim out unnecessary components, features you want for your game are added via plugins called "Gems". I think those were already pretty minimal in my test, though.
IIRC, last time I checked, a minimal Unreal export was around 200 MB, I can't remember whether that was zipped or not.
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

I discovered this Tuesday, and man would it have been a wonderful April post:
https://github.com/bebbo/amiga-gcc
It is a cross compilation environment; the host is Linux, the target...
The Amiga 500.
The compiler is gcc 6, which supports C++ 14. SDL 1.2 is included, as is Mesa GL.
It would be tough to fit everything on one floppy, but I would have to yank out some stuff anyway, and it would run like dog shit, but dammit,
grail.png
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

Z-Man wrote: Sat Apr 05, 2025 3:02 pm I discovered this Tuesday, and man would it have been a wonderful April post:
https://github.com/bebbo/amiga-gcc
It is a cross compilation environment; the host is Linux, the target...
The Amiga 500.
The compiler is gcc 6, which supports C++ 14. SDL 1.2 is included, as is Mesa GL.
It would be tough to fit everything on one floppy, but I would have to yank out some stuff anyway, and it would run like dog shit, but dammit,
grail.png
Did I say gcc 6? That is just the default. They also support gcc 13. Which is pretty brand new, it supports C++ 20 and large parts of 23, more than the compiler at work I currently need to use. This should not be allowed. That hardware is almost 40 years old now, the company that produced it went out of business 30 years ago. There must be some cosmic censorship theorem that prevents these kinds of things. Like, they are allowed, but only behind event horizons.
User avatar
Monkey
Shutout Match Winner
Posts: 821
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: New engine please

Post by Monkey »

This is interesting and quite impressive. I wonder why they chose GCC over LLVM/Clang for the more modern stuff. Anyway, it makes my heart go a little fuzzy when I see things like this. I don't even think that NetBSD supports the A500.

Yes, the hardware is old and the company that produced it went bust many years ago but as you well know, the Amiga 500 was/is special.
Playing since December 2006
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

Monkey wrote: Sun Apr 06, 2025 2:01 am This is interesting and quite impressive. I wonder why they chose GCC over LLVM/Clang for the more modern stuff.
Probably inertia plays a role, apparently this was already a thing they worked on when LLVM did not exist.
User avatar
Monkey
Shutout Match Winner
Posts: 821
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: New engine please

Post by Monkey »

Yes that would explain it.

I was pretty much right about NetBSD by the way:
NetBSD wrote:Due to the MMU requirement, it will not run on A500, A600, A1000, A1200, A2000, A4000/EC030, CDTV or CD32 out of the box. You must install a CPU board on them to run NetBSD.

The minimum RAM requirement is about 24 MB FASTMEM, the minimum hard disk space needed is about 250 MB, depending on how many system components you install.
I don't know about your A500 but mine has 512 KB of FASTMEM IIRC (and 512 KB of CHIPMEM IIRC too). I'm guessing these CPU board things must allow for more RAM to be installed although 24 MB FASTMEM still seems like a heck of a lot for such a computer.
Playing since December 2006
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

I don't know what magic you can do to the old boxes once you swap out the CPU, but the Amiga 3000 was specified to allow for a maximum of 1GB of memory. Who needs that much? I'm not even talking about main memory, I'm thinking storage.

(Joking aside, I don't think there actually are any memory chips fitting the voltage and clock and protocol requirements that would allow you actually get to that level)

Sadly, I could not get the c++ standard library or output to work with the bebbo stuff on Kickstart 1.3, only for later systems. I did get it to crash the actual amiga and return a calculated error code in the emulator, so it is not not working.
(Edit: Got it to work with the standard library! You just have to define one weird function and the memory management operators yourself.)

If you don't mind not having the standard library, then this is even wilder: https://marketplace.visualstudio.com/it ... miga-debug
It's a one-stop solution for VS Code. I tested the output, it works on real hardware no problem. But the best thing, you press F5, and it just runs in an emulator, with boosted startup speed so you don't have to endure the long load times. And it comes with a profiler that breaks down each frame and tells you precisely what the CPU, Copper and Blitter are doing, broken down to individual DMA cycles if you want, and CPU assembly breakdown with theoretical and real clock cycles used per line. People would have killed for that kind of data back in the day.

(for the uninitiated, Copper and Blitter are specialized coprocessors on the Amiga, kind of like GPUs are today; the Copper could wait for the cathode ray beam to reach a specific location on the screen and then write predetermined values into hardware registers, most often to set up the display at the beginning and later change some colors, but it also was commonly used to multiplex sprites. The Blitter can copy around memory really quickly, doing bit shifts and arbitrary three source logical operations on the way.)

Sadly, it does not work for me on Linux, the debugger needs a specific version of some library that is probably on exactly Ubuntu 22.04 or so, but it works on macOS and Windows.
User avatar
Monkey
Shutout Match Winner
Posts: 821
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: New engine please

Post by Monkey »

Z-Man wrote:the Amiga 3000 was specified to allow for a maximum of 1GB of memory
OK, that is insane (in a good/cool way).
Z-Man wrote:Got it to work with the standard library! You just have to define one weird function and the memory management operators yourself.
Nice!
Z-Man wrote:VS Code ...
Impressive but I won't be putting VS Code on any of my computers :) .

Maybe one day I will be able to make an Amiga game via OpenBSD pretty much out of the box. I've got a fair bit to learn before that materialises anyway.
Playing since December 2006
User avatar
Z-Man
God & Project Admin
Posts: 11699
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: New engine please

Post by Z-Man »

Monkey wrote: Sat Apr 12, 2025 2:01 am Impressive but I won't be putting VS Code on any of my computers :) .
If it is about MS phoning home, there is Codium as a replacement. If it's about the VS/Electron bloat, well, yeah. It's not pretty, but my personal position there is that it is a dev tool and if their technology choice is wasteful, but leads to cool stuff like this getting developed, it's a worthwhile tradeoff.

You can, of course, do rough profiling without any tools. Just change the background color at the different phases of your program, and you'll see how much time is spent when in the cycle by looking at the screen margin.
Monkey wrote: Sat Apr 12, 2025 2:01 am Maybe one day I will be able to make an Amiga game via OpenBSD pretty much out of the box. I've got a fair bit to learn before that materialises anyway.
In my naive head, it's really easy, Amiga programming is just about putting the right bits into about a hundred well documented hardware registers. The difficulty back then for the hobbyist were the long development cycles. Compilers were slow, and if you made a mistake, the entire computer crashed, and you had to do a full reboot.
Post Reply