3drad lifer here, dabbling for 9+ years, i'd give up making games before i'd switch engines, dev'ing is time consuming enough as it it is without spending weeks/months reading documentation/making notes/implementing the changes, best to stick with what you know and be an expert with a basic engine than start all over again as a noob, even if the core principles are similar.
dx9 will work for years to come, and when it doesn't there are dx9 to dx11 wrappers, physX can work in software mode and some of the dlls can be upgraded as well which have not been updated by nvidia since 2019.03.08, only thing that may stop it in it's tracks is if VC++ redist 2005 no longer installs on new OS's.
best to stick with what you know and be an expert with a basic engine than start all over again as a noob
As much as I am guilty of having this mentality sometimes as well, it stops you from progressing further in your learning experience. You are intentionally handicapping yourself from new technologies, easier workflow and just better user experience in general.
Wrappers and emulators can only get you so far. 3D Rad in raw environment (not emulated) already performs terribly, you can only imagine what could happen with an emulator.
But that's not the point. If you want to make games just for fun and plan to not give them to anyone, then your approach is fine. However, if you do plan to give other people to play your games, then it'll become worse and worse user experience for them with all that wrapper bs that they'd need to establish.
And again, take that wrapper argument out. It's still not a viable choice to stick with 3D Rad due to its lack of support. You are missing out on a lot of features.
Ignore that power guy, he's always trying to "burst our bubble " with better options !.
I found a little interesting situation that wasn't apparent to me till this very morning, and i blame fernando for this.
( i've always thought there were missing options with imposters and the imposter object) But that's wrong.
When using the imposter object, at first glance and reading the help files, there's no mention of this option !!
The imposter object "seems" to not have anyway to access individual array elements...
This point of view comes from the script commands, which include imposter create, destroy and others to access each imposter array element .
The secret here is, those same imposter script commands CAN BE USED with the imposter objects defined master object too !!
All you need to do is attach the imposter master object to your script then use the script imposter commands as normal on it.
You will need to take note of the imposter counts from the imposter object to know how many imposters were made, cause there is no other reference in your script to this value.
But otherwise, bob's your uncle ....
Doing this will allow you to manipulate all the object imposters just as if you created them in the script, and bonus ( the imposter object it's self destroys its created imposters when exiting your project, no need for you to add that script command .
This whole option / issue for me was simply because the documentation doesn't mention this option, i assumed the imposter object just had limited use, when in fact, it has all the same functionality when using your own script commands, it's just more simple and a little automated too.
But you do need to add your own imposter scripting to get the full meal deal.
I can upload a demo project to show this process in action, if anyone wants it ? , or if you're to not sure what i'm talking about.
it seems the main benefit to that would be scripting imposter meshmaps which is object based only.
@power: unity has nothing i need, at the end of the day bad design will look and feel bad no matter what engine is used. and i've not had any performance issues as i know the limitations and work within them, that said, 3drad does get random slowdowns once a week or so if sleep/hibernate is used, which can be fixed by restarting the PC.
as said, dx9 wrappers will not be needed for years, as there are 1000's of classic games and even recent indies that still use it, and by then hardware will emulate it no sweat. the runtime used for dx9/10/11 has not been updated since 2010, so when dx9 stops working so may dx11, and dx11 natively supports dx9 too, so there's no way dx12 will be exclusive any time soon.
@tinsoldier, shhhh... don't tell anyone okay? you are ruining my ad campaign
@thelurker, you are right about the bad design. No engine can fix lack of knowledge or skill in both programming and game design.
However, if you consider yourself experienced enough, you'd know that I am not just talking about random "slowdowns" that might be caused by whatever. It's general instability.
Even if we ignore DX9, which I would've never brought as a point of discussion since the start, 3D Rad is generally unstable and unreliable at this point. It will decide to crash on you at any given moment. Remember that you have to consider compiled games, not just your traditional editor that might behave well.
For example, 3D Rad compiled games are known to shut down completely on a "Windows key" press or any kind of alt-tabbing. They are also known not to pair well with multi-monitor setups. And let's not forget how long it takes to load a project compared to any modern engine. The list is endless.
The main issue is exactly what makes any software age - lack of support. As technology rapidly evolves, lack of support quickly renders anything unsupported obsolete. And 3D Rad is no exception being already 8 years out of support.
Again, your choice. I am just evolving the discussion here as I am interested to know what you think.
Btw, I am not advocating for Unity. In fact, I never mentioned it in my original post, even though I am a Unity user. Any modern engine would do - Unreal, Crytek, even Godot.
"shut down completely on a "Windows key" press or any kind of alt-tabbing" -that can be solved by using the borderless option, however, like in any engine doing that reduces performance, it's just common sense not to do those keypresses as many other commercial games also crash doing that in fullscreen mode.
my compiled game has never crashed, and loading times are good as i don't have too many objects/textures etc, like in any engine it just requires optimization. only a poor tradesman blames the tools, and it is also on him to choose the correct tools, now if i was trying to make the next Cyberpunk 2077, my choice would be very poor indeed, but for a simple little indie game it suffices perfectly.
edit: i just tested on multi-monitor clone and dualview modes and no issues whatsoever, so please elaborate on that.
Most modern games don't crash on the windows key press. Unity in particular handles alt-tabbing perfectly. Unreal struggles, but doesn't crash. We're talking full-fullscreen, no borderless window bs.
The multi-monitor issue is just derived from the fact that clicking off your current monitor would crash your game (fullscreen).
And yeah yeah, you could run your 3D Rad game in windowed mode (just exhausting the list of options here), even though it would still crash after a couple of ins and outs of the window.
You at least acknowledge that it's not a good option for triple A games. That kind of reminds me of another issue.
How would you go about collaborating on a 3D Rad project? I mean, having the same project run on multiple computers, or having version control (ex. Git). It'd be impossible with the asset file infrastructure of 3D Rad. Of course, if you are so hardcore, you could just copy-paste files into the root 3D Rad skinmesh folder hoping the project won't crash on loading. But any other more reliable and convenient idea on how to do this?
You are hardcore defending 3D Rad ignoring any objective looks on things. I used to be like that before I switched to Unity. In the end, nothing is going to stop you from using 3D Rad and that's perfectly fine. I am mentioning it for people who don't want to waste their time on a software that doesn't even have any professional value in the end. No studio would use 3D Rad (go back to my point about collaboration and version control).
@thunder: wow, can't get it to work on win10 huh? ever heard of prerequisites? all engines have them, and most installers [or steam] automatically add the ones chosen by the dev, i mentioned the 3 that 3drad requires above, so try again, it certainly does work on win10 without compat mode bud.
my game loads in 13sec - not even using an SSD, when finished it may even rise to 30sec, which is as good if not better than many of today's games.
@power "you could run your 3D Rad game in windowed mode, even though it would still crash after a couple of ins and outs of the window." - i just alt-tabbed 10+ times no issues at all. as for collaborating, as a solo dev i have zero interest in that...
13 seconds with no context... I could add 2 rigidbodies and it'd load in 3 seconds of course. We're talking about projects with more than 200 objects here, which could reach up to a minute (object types matter of course).
I am happy that you don't experience crashes during windowed mode alt-tabbing, however I am pretty sure that wasn't the case for me. My games (and others) would crash in these circumstances. And again, we don't know what size of the project we're talking about. A blank project might run just fine.
Anyways, I don't want to elaborate further. It's clear that nothing would change your mind and that you won't switch to a new engine. That's totally fine.
200 objects? never, skins and tex's can be combined, and many objects can also be scripted instead, you were just doing it wrong for this engine. i now have 65, and allowing for it to double to 130 will be within what i described above, keeping in mind that i have not as yet even done the final optimization of converting tex's to dds which speeds up loading times.
also note, that if you add even one textprint object, you are loading 256 .x files, which is just ludicrous, that's why i only use one valueprint [16 .x files] and sprites for in game messages instead, 10 pre-rendered messages only need 10 files.
I am actively using it. I found many dx9 games on steam which resembles what 3drad can output. If 3drad cannot output aaa games like today games but it can create aaa games using dx9. I love this game engine very much, I wish to see it in active development and fernando didn't abandoned it.
*laughs in 3DRadSpace project loading times smaller than 10 seconds*
By the way, making a proper game in 3DRadSpace requires more effort than Unity/Unreal/etc - a hell lot more effort. I can make tutorials on the latest build, but still - 3DRadSpace's latest build is too hard to use to make a game with proper physics, graphics, 3D animations, et cetera.
On-topic: Not using 3D Rad v722 anymore, but I'm also working on other projects except 3DRadSpace.
In my current project it will be using 2500 objects ( go ahead laugh )
Well testing 2500 imposter rigidbodys, i soon realized 3drad took like 6 to 7 seconds to create them as imposters.
So i tried instead to actually load them as project merges instead of imposters ( hiding the rigidbodies) but got a weird error i've never seen before about shadow creation or some such thing, but, i already deleted the shadow models from the source rigidbody.... so this is a first time error for me and makes no sense. and ( creating 2500 RB's with textures and shasow files and the normal map files too as imposters, never gave the same shadow error... so whats up with that ! ) .
So anyway, converted the process to use a 2 poly skinmesh ( they are just place holders ) and also removed the texture to only use poly color instead.
Loads 2500 skinmeshs in a second.
Also let me add this isn't a minecraft project in any way but it does use blocks.
Hows that for talking about a project without saying what the project is.
I just have a bad habit of starting projects, then moving to another project idea and may or may not pick up developing the other projects at some point... so i don't want to get hopes up or advertise ,then never finish... it just looks bad doing that.
I never delete projects, i have so many in a unfinished state, it is ridiculous.
I pretty much require a challenge to develop anything in 3drad, if i actually think i can finish the project, or get close to finishing, thats when the fun is lost, the project becomes work to get it done.
Or, I just convince myself that nobody will play it that much, maybe 1 to 3 times, then its forgotten, so why bother trying and or finishing it. move on to something else and hope for a better and more popular idea.
EDIT: Oh and let me add, this is a two piece project, the first using 2500 objects, is the design process, the 2nd project witll use the data from the first project, and will use a lot less objects, all though it will allow 2500 if desired.
as you must know, 2500 imposters of the same RB is only 1 object in 3drad, i was counting each object in the editor list only.
and not to burst your bubble, but imposters only benefit complex skin meshes such as a high poly tree, which saves only calc'ing the geometry more than once, but do note that lighting/shaders/shadows still needs to be calc'ed for each one. that's also why rigid imposters are pointless performance-wise, as the physics still needs to calculated for each one [the only real benefit may be loading times and editor list space, unless you are only creating nearby RB's and destroying all unused ones]
@thelurker using imposters for me is simply to make a lot of them quickly and to reduce over all size of the project to reduce loading times too. The same applies for skinmesh's.. its just a really quick & smaller projects.
Dealing with the imposters too is a quick process with a loop..