Jump to content

MoDyEn Vehicle Physics


photo

Recommended Posts

Hello there fellow developers! 
I am a new member to Unigine forums. My name is Ravel Tammeleht. I am a indie software & video game developer.

In depth introduction:

I got introduced to Unigine back in ~2006 when I was at school and started my journey as a video game developer. Back then Unigine was a private game engine. But it was so advanced to me, that I was simply amazed, of what my computer is capable of rendering. So I started my fanboy coding adventure, to replicate a physics scene in Blitz3D. I wrote a small physics demo in that environment (started from a completely blank page) Until I got something visually similar with Dot3 BumpMapping (a "next-gen" feature back then). This project further evolved into a BMX game physics demo and the beginning of my Automotive simulation project.
I introduced my Automotive physics project to a german game/software development forum called Blitz Basic Portal, now known as blitzforum.de/forum
I even published a small physics engine middle ware there, which you may freely look up as Open Physics and it was utilizing a open source physics engine called Tokamak Physics
direct link to the post: https://www.blitzforum.de/gallery/1613/
This is my first public open source release. I also uploaded the extracted contents to my github page.
direct link to the page: https://github.com/AuthenticFounder/Tokamak2010-OpenPhysics-

In 2011 I was introduced to Unity3D. I found the VDE very intuitive back then, and features very intriguing (such as realtime shadow maps and PerPixel lighting.
I continued my software developer journey further into Object Oriented Programming practices. And continued my Vehicle physics simulation research.
Now with great graphics and realtime feedback of my actions. (Huge improvement for my development cycle!)

In 2014 I got introduced to my first marketing practices, by Publicly releasing the first version of MoDyEn Physics middleware for Unity as a DLL Plugin/BlackBox.
I was selling it at the asset store or a Optional Source license for clients who were more invested in Racing simulations and automotive physics.
I even got a direct permission from Toyota Japan, to use their Toyota Supra MKIV as a hero/protagonist of the project. 
Toyota was more than happy to be involved in this. By then I was all ready communicating with Fredrik Sørlie a precision driver that I met at race sim central forums.
Since Toyota was the main theme at that point of time, I quickly got introduced to Toyotas top Drift driver Fredric Aasbø and his personal 1000hp Toyota Supra MKIV, who was impressed by the first beta, back in 2012. And he said that it's got a lot of potential.

For a while it was smooth sailing, but something happened and my project got pulled from the asset store, forcing me to a financially difficult situation for a few years.
Sometimes technical difficulties like these do happen, and it was a valuable lesson in marketing practices.

Some time ago, I noticed that Unigine had changed its strategy by also allowing free download of the software. In fact, many other game engines such as CryEngine etc. made these options available. So I collected the valuable info to my "invisible briefcase" just to keep in mind, that I now have options.

I continued my Journey on Unity, since I all ready had valuable customers and I provided assistance to those who were in direct need. Also it solved my financial struggles. Because I was selling the source through private deals. Since I am the creator I have the opportunity to decide, what I do with my work, financially. 
So I had my business email open to opportunities, and to my surprise, there was at least one highly valuable customer per year. Which was enough for me to get by. (Times were financially difficult still and had to find alternative solutions, so the overall development was slow.)

Now I am finally starting to learn Unigine, since I just remembered, how it all started. Because of Unigine. So I made a decision to port my vehicle physics over to Unigine. It should be relatively easy, since I followed the C++ Wrapper approach with my initial release of this project.

Project:

The goal is to get the first version working and share it with those who are interested in testing it. Therefore I would like to create a beta program for it. That would include at least about 10 experienced developers here. Now, my plan here is, that you would send me a introductory DM. Firstly explaining, why are you interested in participating in this project. Describing your main position in your work environment (UI artist, renderer, gameplay logics, etc.) and basically proving, that you would like to have some fun with it and that I could trust you in that sense, that this software/project would not be used to harm anyone etc.

If that sounds okay to you, then write me a DM. I will notify here, if I have Closed the beta program

(basically when I get more than 30+ dm's etc. Because I need to read them through in person.)

And then I would forward you certain files, projects and instructions. And no profit will be earned from this process (yes I am exclusively picking about 10 persons, who I will give free access to this software/plugin. That is exclusively without any warranty of course, so you may use it as you please. And if you find it useful for your commercial project in the end, then we are able to arrange something for sure.)

About MoDyEN:

MoDyEn stands for: Motorsports Dynamics Engine

It's a highly customizeable vehicle physics simulator, aimed at high resolution racing details.

360083455_709770717827076_2244244539825858338_n.jpeg.b6740f3ad965f1c586886b6b56264683.jpeg

It includes a sophisticated tire model by Ph.D. Hans Bastiaan Pacejka.
I have been evaluating his tire model and advancing it's spectre for about ~20 years. Therefore I am well aware of its process and limitations.
The current state of this project includes two versions, Pacejka89 and Magic Tire Model 5.2, more known as MF5.2 (This is a late addition and since I only have 1 dataset available describing a 205/60r15 tire, its capable of only so much for now.)

Other regions of the simulator are inspired by the work of Ph.D. Brian Beckman, Gjon Camaj at rFactor by ISI and racer.nl by Ruud Van Gaal. Racer.nl was actually the initiator of my project. I found the two games at nearly the same time. But I started making mods for racer.nl making connections in the racesimcentral forums. At some point I got into a vehicle specific discussion with Stefano Casillo and another developer. We discussed how turbos would be simulated in a effective manner. At some point we even exchanged some DM's So I am aware about some insights of Assetto Corsa, not that I would use it for my advantage, but rather, just to know, how its "Correct" to approach, if that makes any sense.

Later I got heavily influenced by ISI and their work, because my publisher, at the time frame ~2013 to ~2017, MakCorp, for some private work, was strongly working with the ISI team. The owner of this studio Petros Mak, actually found me at SMCars.net and wanted to collaborate with me for his project, as it better suit his vision, compared to ISI at that time. This is understandable in the business point of view, when one company might be limited by some NDA's for example. Obviously financing is another factor in that regards. No public work got released by us as MakCorp at that time, because it was a startup studio and some people took advantage of the generosity of my publisher, and they simply vanished in the middle of FormulaE video game project, back in 2016. So in conclusion it resulted in bad reputation for MakCorp. But I hope to one day resurrect the vision of my publisher. Since he is a generous person and assisted me in even the roughest times.

Pictures:

10830594_1534738596770001_91658408770108

10733916_1534721596771701_75174684878123

10484618_1534738980103296_69023362933543

1782355_1534738623436665_114574240247460

10872734_1555369141373613_23892292384599

22384253_1963391560571367_68622129666885

22538779_1964504797126710_44423949621710

22467627_1964504870460036_47567984690181

22829723_1968139663429890_40475584510283

10828063_1539515169625677_87484926820567

98182633_2621668778076972_71240134115071

1664018187160.thumb.jpeg.9563c1e36ca39a01a443d3b31136ca33.jpeg

Links:

I have a archived project forum post, many progress videos on my youtube channel and many broken and WIP web pages (since I was trying to get exposure, but web development seemed to rush forward and I was unable to keep up). So here are some urls made and managed by me (less than amateur level, since I had to focus on the software development side of things.) I removed the links, for the sake of security (url hijacking has been a issue lately, this way you are sure, that the link is legit)
https://forum.unity.com/threads/motorsports-dynamics-engine-a-k-a-modyen.126046/
https://slicktires.tumblr.com/
 
https://www.facebook.com/MotorsportsDynamicsEngine/
(ignore the Salinas,CA ...I'm uncertain why it shows the location as a City in California, while I am actually located in Europe, Estonia to be more exact. But Salinas is also very beautiful so thank you for suggesting I guess... haha)
https://www.facebook.com/slicktiresentertainment/ 
https://slicktiresentertai.wixsite.com/index/ 
https://sites.google.com/view/slicktirestech
 

Videos (bing mirror from youtube, to avoid modals/cookies since I am not earning any profit and I do not feel comfortable, when others do it from my work):

https://www.bing.com/videos/riverview/relatedvideo?&q=MoDyEn&qpvt=MoDyEn&mid=3A37DC48CA5F5881DD463A37DC48CA5F5881DD46&&FORM=VRDGAR
https://www.bing.com/videos/riverview/relatedvideo?&q=MoDyEn&qpvt=MoDyEn&mid=9795C9762F2726BEA66B9795C9762F2726BEA66B&&FORM=VRDGAR
https://www.bing.com/videos/riverview/relatedvideo?&q=MoDyEn&qpvt=MoDyEn&mid=988F4FE7B09869E5F762988F4FE7B09869E5F762&&FORM=VRDGAR

Youtube link: 


The videos are rather dated, since the same limitation applies, I do not have the time to record all of my progress.
In case you want a head start, check out some Unity Compiled projects:
https://www.dropbox.com/s/k0sm2qcjqbetyx4/PacejkaEditor.rar
https://www.dropbox.com/s/h69ochlmqdxbgwr/MoDyEn Bryce Canyon.rar

(This is the Bryce Canyon milestone build v1.0 release, that I wish to port over to Unigine, a lot of people loved how this 1000 hz simulation gave them the feedback they were searching for. Especially the Force Feedback feature, which was absent in other public solutions for unity)
https://www.dropbox.com/s/qc43j2izy1dw88c/MotorsportAcademy.rar 
(Turn10 inspired and mentored build, it uses content  directly from some of the DVD's that I won & own)
https://www.dropbox.com/s/ul5a09tryp0o2vh/Camino_Viejo.rar 
(Another build that follows the instructions and guidelines provided by Dan Greenawalt and Eugeene Wong, in order to understand low specification hardware and how to provide good visuals on such platforms, for example Microsofts Xbox360 and Sonys Playstation 3)

https://www.dropbox.com/s/cobk5j0vzijzlzg/NFSU2ParkageFreestyle.rar
(NFS Underground was my favourite game, so it gave me the need, the need for my own video game with drifting haha, little did I know that it will change the course of my entire life.)

Summary:

To secure version 1.0 port of this project from Unity to Unigine. (No I am not dropping the  Unity project, I just would like to add this physics middleware to Unigine and expand my development perspectives.) As mentioned before I am capable of writing code from a plank page, therefore I actually have my own VDE (Visual Development Environment) as well. But it is in very early stages and a rather prototype at this time.

Conclusion:

I downloaded the SDK and I am now starting my experiments
From time to time I might need some assistance, but I will see how fast I will get familiar with the "topography" of Unigine. Also once I am familiar with this game engine I am able to provide vehicle simulation related assistance up to my knowledge. Of course, depending on the needs and such. If the requirement is very extensive and requires further research, then I may submit a commission proposal to the individual, who is in direct contact with me. This means, of course I am up to collaborations, if I am not limited by any NDA's at that given time.

You could also let me know, about the main differences in the C# approaches regards to Unigine etc. I have my MoDyEn project, both in C++ and C# language.
Thank you for your time! And please if you noticed a typo or something strange in my post, please do let me know. I will try my best to keep this initial post as clean and moderately formal as possible.

Best Regards,
Ravel Tammeleht

And don't forget to to engage in outdoors activities this spring, such as bike riding or bird sighting ;)

Edited by dorimatsurizebra
Fixed a typo and uploaded 2 new images.
Link to comment

Hi Ravel,

Wow, that's quite a long journey to UNIGINE :) Wish you good luck!

 

Quote

You could also let me know, about the main differences in the C# approaches regards to Unigine etc. I have my MoDyEn project, both in C++ and C# language.

The main difference is the ease of the development. Editor can build C# projects and allow easy components management while C++ have no such ability. You need to build & run project from IDE. Also I believe CPUShader class is available only in C++ atm. There is also may be a slight difference between C++/C# mathlib methods, but other than that API should be identical.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

Hi SIlent,

Yeah, but I think it was worth it, since now I am entering the environment with experience. Thank you! I tried out the first C# sample project and I must say the VDE is quite performant. Seems to boot right up and ready for work. But I must play around with it for some time.

Hmm thank you for the information about C# and C++ difference. I have had experience with OOP in C++, is this what you mean by component? Or could you specify this more in depth? What is a CPUShader class?

By mathlib difference, do you mean the floating point precision?
I remember I had issues with it, there was a math syncing issue, since unity natively had a different floating point precision, then the C++ default in Visual Studio 2010.

Oh I also have a technical question, Maybe I need to head over to antoher thread for this? I was wondering if there ever was a Mac OS version at some point? I know developing for apple may be sometimes difficult. Right I am actually using a iMac 27 from 2010 with a ATI gpu. It did a decent run on the Benchmark, while booted into Windows 10 (through bootcamp, natively)

I am right now rocking the OSX Yosemite, one of my favorite OS since it first got released in 2014. Still beats Win10 by a mile.
If there is any beta versions of Unigine, I would like to hear more about it.

Link to comment

macOS version is not currently planned (only Windows + Linux). CPUShader class documentation: https://developer.unigine.com/en/docs/2.18/api/library/rendering/class.cpushader?autotranslate=en (basically it's a small class to handle multi-threading tasks).

Quote

By mathlib difference, do you mean the floating point precision?

Precision is not the case, both float & double builds available in C# as well. I'm talking about simply missing functions that may be available in C++, but not yet available in C#.

To get an idea about C++ / C# difference in development you can check these two articles:

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...