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

Oneofthe8devilz

Here is something I've been experimenting with in my free time trying to rehash a bit of my very own 1990s childhood's nostalgia with a modern game engine spin on it...

<click image to watch>

<click image to watch>

Now... I am aware that this is a VERY dedicated community and so before anyone gets riled up about the footage I'd like to state that this is just a personal project that I compiled together out of my very own nostalgic drive and interest to see Stunts rendered in a more modern game engine...

Work on this multiplayer capable prototype might seize at any point in time with or without a public build release...

With that being said I am constantly interested in working together with other people in the game industry so in case you have experience with game development in general or Unreal Engine in particular and in case you find this project interesting to work on, always feel free to drop me an e-mail or message...
I got 6 little friends and they all run faster than you ;)

Overdrijf

Looks cool! Is there a non-public alpha build available on request?

I personally don't know much about game development in general, and all I know about the Unreal Engine is that it is said that vehicles are hard to do with it.  :o ;D

I understand why looking at the recent forum activity makes us look a little... overzealous. But we're generally not that scary, and we're trying to better our lives.

Oneofthe8devilz

#2
Hey @Overdrijf, it was more of a general precautional term (as we currently seem to globally experience crazy times) and was not specifically directed at any recent forum activity  ;)

Currently there are no downloadable builds of this project available as major features (like being able to load and distribute Tracks saved with the BLISS editor and have them propagated across all connected players in the network at runtime) have not yet been implemented.

The showcased example Track was manually placed.
I got 6 little friends and they all run faster than you ;)

Matei

The problems with a remake "in a modern engine" are:

1. If the car will move differently, people who play Stunts won't be interested in it (I should know).

2. Even if the car will move exactly like in the original game, the remake won't run on everyone's computer and people who can run it will have an unfair advantage in the races (higher framerate, resolution and viewing distance), compared to the others. This problem will be made even worse if a nonfree engine, such as "Unreal Engine" or "Unity", is used.

Oneofthe8devilz

#4
I am aware that a multiplayer support feature is already a niche category within a niche playerbase of a niche game (Stunts).

But for people like me that played the game back in 1990 and only could dream of being able to share the Stunts Universe with other players in real-time, projects like Stunts Multiplayer Client and Server for DOSBox by kurtis2221 are an absolute godsend.

Even though more than 90% of the community probably couldn't care less about multiplayer I think it is an outstanding achievement, especially when you consider that no official source code for Stunts was ever released.

@Matei:
1. Will eventually be solved once the game's codebase has been completely reverse engineered and thus can be ported to newer languages and OSs.

2. There are lots of ways (for example to lock physics simulations and netcode to a fixed tick rate) to prevent ppl with more performance to gain an unfair advantage or different behavior so I would consider this point to actually be a non issue too. 

Should enough people be interested and get involved in the financing and development, I am convinced that such a project could be completely setup as an open source project even with Unreal Engine.
I got 6 little friends and they all run faster than you ;)

Daniel3D

It looks cool. And I would also like to play it if possible.
In general, not specifically related to your project.
Looking at the video I realised again how unrealistic stunts physics are, and at the same time is that exactly why remakes don't feel the same. (I have to admit by that that TrackMania actually gets quite close)..
Stunts cars have no suspension, they don't learn, wobble or bounce. I am not sure if a "off the shelf" physics engine can do that. But since it is stated as bad choice for racing games, maybe the unreal engine is "bad enough" in this case to provide a stunts feeling..

If you want that,  8)  we (definitely me) are happy to assist.
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)

Matei


dreadnaut

Looking at the video, the bounciness might be a bit excessive, and it's triggered by any segment of road (e.g., on the cork up/down).  In a way it's similar to Matei's simulator: the reactions of the cars to terrain and environment feel too extreme 🤔

Matei

#8
I just saw the video (I thought it was just a picture). It is indeed very close to what I have, but the reactions of the cars to the terrain are not too extreme. The terrain is too extreme.

https://forum.stunts.hu/index.php?topic=4243.msg92742#msg92742

Must be logged in too see the picture. Right now I'm working on something else, but the game is already available, as previously mentioned. It will have tracks from Stunts as soon as possible, but those will be just a bonus and it will never be like Stunts. The cars in Stunts don't move like cars at all.

[edit]
Actually, Stunts would work really well with other type of vehicles, like those found in Stars Wars Pipsqueak, for instance. The cars already move like there, so all that's needed are some appropriate 3D models and sounds.

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

The same goes for Trackmania, obviously.
[/edit]

Oneofthe8devilz

I was honestly surprised how the assets of a game released 34 years ago still basically work on an engine released 3 decades later.

I personally think that before any serious and 100% true to the original remake (1:1 physics behavior) can commence, the original Stunts needs to be completely reverse engineered so it can be ported to any existing engine and still behave like the original.

Now I don't know about everyone else but I personally noticed over the years that if one really wants to achieve results (especially when it involves significant coding/programming related issues), investing money and establish contact with capable programmers for a specific task is the only way to achieve substantial progress in a tolerable amount of time.

Even if it turns out to be less than 30 people, if we all put our will and resources together it should be well achievable, which is why I wonder whether there have been attempts in the past by this community to make this happen instead of leaving it to time and single individuals in their free time only ?

If there weren't any coordinated efforts so far, how would you guys feel about finally trying to come together regarding the reverse engineering of Stunts ?

I am truly convinced everyone will benefit (even the die hard Stunts conservatives that love and enjoy the original Stunts builds only, as it would open up an unlimited supply of modding and customization even for the original DOS based game).
I got 6 little friends and they all run faster than you ;)

Matei

#10
Although reverse engineering Stunts would be a very good thing to do if you want to study and experiment with reverse engineering, this doesn't work if you pay someone else to do it. Anyway, why wouldn't "the assets" work? They are just 3D models, but I'm interested to find out where you got them from, because I got them from Mr. Cas. Personally, I wouldn't even reverse engineer his free and open source programs written in FreeBasic.

[edit]
I estimate that completely "reverse engineering" Stunts would be rather difficult, although if, by any chance, the Chinese government will want it done, I can assure you that it will be done. However, although Elite for ZX Spectrum was a much simpler game:

https://forum.stunts.hu/index.php?topic=4243.msg92791#msg92791

QuoteOh yeah - a 6502 hex dump - just a pigging list of numbers. In the end we wrote our version by playing Elite on a Beeb and making ours look the same.
[/edit]


Cas

There was a period of time in the middle to late decade of 2000, when at least three community members cooperated to reverse engineer Stunts. While the process was not completed in the way they planned, a very great advance was made.

Thanks to them, we currently have a source code (in assembly) that builds to Stunts. The original intention was to port all this to C... for DOS, originally. Some translation began, but most of the code has always remained in assembly.

I, personally, think that there is no need to fully create a C equivalent of the complete Stunts code because many parts of it can really be reproduced much more easily by just looking at the behaviour and doing the same because they're very simple, such as the menus, for example, but also, with a little effort, things like the intro or the internal track editor. Besides, we don't really need to replicate the intro and we have external editors. About graphics rendering, any rendering that resembles the essence of Stunts is good enough. So what really needs to be reverse-engineer is solely the physics engine.

And even that, which is the most cryptic part of the code, in my opinion, does not need to be interpreted or copied. As long as a physics engine is made that feels like Stunts in the sense that, if you play on it, you really can't tell the difference, even if they are not compatible as to be able to reproduce the same result... as long as that is done... it'll be enough. But... it turns out it's not easy to build a physics engine.

If it weren't that my job consumes all my energies, I'd be putting a lot more time into it. But well, what I want to point out here is that there are some things we would like Stunts to have and it doesn't... but there are also things it has that we don't want to change. The key here is understanding which are which. We don't all agree exactly, but we have a generally good consensus on this.

To give just a few examples:
- We would like to be able to make bigger tracks, to are new track elements, etc.
- We would not like an engine to feel more realistic
- We would like to play multiplayer Stunts
- We would not want to change the way the game looks except simple things such as smaller pixels
- We would like the game to run natively on GNU/Linux and Windows
- We would like the game to be free software
- We wouldn't want a new game that's "Stunts' sequel", but Stunts itself to be improved (a new engine or mods)

Things in which not all members think the same way or may have doubts:
- Programming language and libraries to choose
- Whether the program taking a lot of space matters or not
- Whether maintaining DOS support is important
- Data file format to use
Earth is my country. Science is my religion.

dreadnaut

Quote from: Oneofthe8devilz on February 27, 2024, 10:54:32 AMI personally think that before any serious and 100% true to the original remake (1:1 physics behavior) can commence, the original Stunts needs to be completely reverse engineered so it can be ported to any existing engine and still behave like the original.

Yep, that is my feeling as well, with @Cas' caveats of "maybe we don't need to reverse engineer the menues, track editor, etc". But the game simulation can, in my opinion, be fully understood only by reverse engineering. Any independent reproduction will not include all the bugs and behaviours that make Stunts what it is. See the successful work around Dungeon Keeper / KeeperFX.

The Restunts effort (mirror) laid the foundations thought. With some leadership it could advance, one method at a time, until the simulation if fully translated and understood. From there, the road opens up!

Oneofthe8devilz

#13
@Cas
The points you mention all read very reasonable to me and I can't really find anything I would disagree about.

I still think from a "staying true to the original" point of view though that I would prefer a complete reverse engineered and then ported STUNTS codebase from assembly to C, C++ or C# (whichever language turns out to be the best choice in the end for a multiplatform portation) that then can be made run natively on all modern OSs (maybe even including mobile platforms with ensured crossplatform multiplayer functionality).

This would also allow for a feature where one could implement a "switch to the Original vs Remake Graphics&Sounds at Runtime" functionality aka as "Classic Mode" as showcased in games such as Halo Remastered for example:



The point I am trying to make is that it took 34 years to get where we currently are with STUNTS and that I believe putting some money behind this enterprise and hiring specialized experts will definitely expedite the process.

All this could and should then of course be open sourced and placed available to everyone's access online via Github & Co. 
I got 6 little friends and they all run faster than you ;)

Matei

#14
C, obviously, but why smaller pixels? Trying to figure out what's in front of you is part of the game. Where's the fun if you can just see it?

[edit] Github was bought by Micro$oft, so it's compromised. [/edit]