News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

My personal take on a "Stunts" Remake in a Modern Engine...

Started by Oneofthe8devilz, February 23, 2024, 11:39:41 PM

Previous topic - Next topic

Cas

Yeah, I usually don't push with it because I know that most people using GitHub really mean well in terms of software freedom, but I personally avoid GitHub (not just uploading things to it, but downloading them from it if there's an alternative) because of that reason. And I agree, if it's about standard language, we're talking about C. It's veeeery far from perfect, but it's the only language that can be called a standard.

The points I mentioned, of course, are not a matter of "what's right". I don't think there's one right way. Those points are details about what I feel that we, the members of the Stunts online community, generally would like to have.

Like Dreadnaut said, to really reproduce the behaviour, you need to fully interpret the code. I think it is possible to create from scratch a physics set that's convincingly close, without being compatible, but just how close is something we won't be able to know until we really try hard to do it. And in all honestly, I don't know if it takes less time to comprehensively reverse engineer the physics engine of Stunts or to develop a convincingly close brand new one. I don't know it.

Hiring people... I agree that'd be a great push and probably would also make us want to participate as well... and I don't think we here are not willing to pay. I personally would be happy to contribute. My only fear is that maybe the person(s) won't do it the way we would like or maybe we end up paying and not obtaining what we want. Also, while there are many skilled programmers, I wonder how many are skilled in software based, low level graphics and physics... The few I know about are here in this forum or have been here.
Earth is my country. Science is my religion.

Oneofthe8devilz

Several questions inevitably are popping up when thinking about this:

Does this community as a whole have the will/conviction to push forward in this direction ?

Does it have the numbers of members willing to contribute financially and structure wise  ?

And who is willing to spearhead and lead this endeavor ultimately making decisions and taking responsibility for the utilization of funds and achieved codebase milestones ?
I got 6 little friends and they all run faster than you ;)

Matei

#17
Making a new "engine" is much easier than "reverse engineering", but the cars should be replaced with vehicles like in Star Wars R**er to make it convincing.

[edit]
Added 2 pictures. CPU Celeron 400 MHz from 1999, GNU/Linux distribution Fedora Core 1 from 2003, Stunts runing in DOSEMU 1.4.0, Skunks 5.0.0 SDL 2. This computer is not fast enough to run Stunts in DosBOX, but in DOSEMU it runs perfectly.
[/edit]

[edit2]
The word reverse was used here 16 times so far, but the cars in Stunts still can't reverse.
[/edit2]

Cas

I reckon the reason why there hasn't been much (if any) talk about hiring somebody for this lays not in the realm of money investment, but in that of "belonging". I'm not sure of others feel the same way as I or if it really makes sense to put it this way, but from the heart and not from the mind, my feeling is that hiring somebody to do the work would make it less ours and we'd feel less of an attachment to the final product, even if free software.

You will surely argue "Yes, but what's the point if you'll just sit and do nothing and never achieve anything?"... and thinking of this rationally, certainly, that's a very good point. Yet, the heart is the heart. Again, maybe I'm totally mistaken and other community members feel it very different from what I do.
Earth is my country. Science is my religion.

Matei

What do you mean "do nothing and never achieve anything"? You made a program which converts tracks and 3D models into text files, so that I can use them.

https://raceforkicks.com/projects/engine.html

Demo video for Bullet Physics:

https://matei.one/invidious.php?v=jQsphRNuqIE

QuoteBut I know we have to try,
See the good things in life,
Feel the magic in our hearts.

Daniel3D

I think cas means that it doesn't feel right to pay someone else to do the work while you sit and wait. This is a project that we are very attached to and letting someone else finish it may damage the attachment. Things achieved through hardship and perseverance have more personal value.

And about the physics. It may not be possible to fully reverse the code. But we need enough to fully understand the workings and exactly what causes/makes the bug/features to copy that.

As for the look and feel. A bigger resolution would improve playability and hopefully also bring a new generation of players.
A legacy mode would be obviously part of the package.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

dukeofurl

Just chiming in to say that I think the remake shown in the video looks great from a graphics perspective. Very nice to have a far/unlimited draw distance and non flickering polygons, yet with models that look like the old stuff.  The car suspension seems much more bouncy than the dos game, but I'd totally download this and thoroughly play it if there were a public download.

Cas

Uhm... I tried to watch the video, but it looks like a music clip

Well, my engine does that: it renders the whole track and you can move around and we've used it to make multiplayer videos of live races, though I think none has been published. Has one?

There are some things I still haven't fixed in rendering, like... I haven't found a good way to render wheels and some track elements are seen with artifacts not because the engine can't draw that, but because the design is optimised for Stunts' original engine and I can't guess exactly what it does... particularly, regarding Z-bias and especially when the top object is not a polygon (typically, a line). But except the wheel problem, the rest can be solved by re-building the track elements optimised for my engine. They'd look the same

What I have to do is move forward towards physics
Earth is my country. Science is my religion.

Matei

It is a music clip. Here's another one:

https://matei.one/invidious.php?v=l5II1EUWbL0

QuoteRemember, Rome wasn't built in a day,
and you just might only make it halfway,
but the change you make just might save the day
for someone in need, so don't back away.

For Daniel3D: A new generation of players has no reason to be attached to Stunts and for that generation, my game(s) should be close enough and also have that higher resolution. I also happen to know that (almost) no one is interested in them, but I have another idea. I wrote above that the cars in Stunts should be replaced with other vehicles, since they don't move like cars anyway, but the game could also have cars besides those (which is not a problem, because I already have the cars). The idea is not new, actually. Some race examples:

https://redirect.invidious.io/watch?v=bzdNbmZvCSg

https://redirect.invidious.io/watch?v=7NZ9X9A2efA


Cas

The thing is this converter interprets each assembly line. The resulting C code is actually redoing the assembly, so it isn't more comprehensive than the assembly code itself and when you compile it, the code will be much longer and redundant. Besides, it's turning registers to variables.

A converter could help if it were aware of how a C compiler produces the resulting assembly code and then recognise the snippets and turn them into their probably original C code.
Earth is my country. Science is my religion.

mrdries

Yeah,
I know so little about it.
There are better converters like Neutron, but I don't think the code is available.
They are made to refine the code they get out of the disassembly.
People seem to be working on it.

https://github.com/nforest/awesome-decompilation?tab=readme-ov-file#ai-based-decompilation

Anyhow, I love the looks of the mod. Beautifully done.

Cas

Yeah... the result is better when it's done by a person, but when you have so much code to do comprehensive analysis on, it makes sense to start thinking of ways to automate the process. Not an easy thing. AIs so far can sound very convincing, but they still don't "understand" what they're doing.
Earth is my country. Science is my religion.