International Competitive Racing Mod Development Thread

  • Member of the Month for April 2020-KaboomBoi 1
  • We DO NOT Allow Multiple Accounts, those people found to have more than one linked to their IP address Will be Banned.....PERIOD......... (SO, if you have more than one, better go delete it before we find it)

Mystical

Always 110%
VIP
Hot Pass Member
Dec 21, 2017
214
43
Closed Beta testing for the mod will begin in the next day or so. I have in the range of 4-6 users that I will be bringing onboard first. Some will be looking at the templates for the various paint programs to make sure everything can be correctly painted and the layers function as expected along with testing carviewer/preview files. The other group will be testing the mod in-game for performance/stability/visual issues found. As I mentioned before this is not for the purpose to 'have fun' (though we might have some lol) but to make sure everything is working and looking as good as possible for a released mod eventually.

As this is phase 1 it is a very small group that I have personally hand-picked, they range from SRD, Stunod, discord, etc so it not just exclusive to this place but members in the nr2003 community I have known. If I am unable to from this selection get the preferred amount I want I'll expand to more. The future phases I'll add a couple more testers but for the most part I don't expect this to grow too much. I'll just need enough willing participants to get the required coverage and data, I will relay how things are going as the test team gets further into the mod.
 

Mystical

Always 110%
VIP
Hot Pass Member
Dec 21, 2017
214
43
Just a quick update as its been several weeks. No official dev post is ready yet. Work has been ongoing since the last one with the main focus of bug fixes/tweaks found from the test team. The other half of the work has been working on the real cockpit the player sees. Part of the reason why its taking longer than usual is I've been doing a lot of research and development creating cockpit features not commonly seen or done before in NR2003, this is also the first time I've ever done this section of a mod before so I've had to learn as I go as well. Probably end of January or early February is when I'll have the new dev post breaking down the details.
 

Mystical

Always 110%
VIP
Hot Pass Member
Dec 21, 2017
214
43
Development post #12

With the majority of the exterior of the car complete it was time to move onto the interior. In NR2003 (and most racing games I believe) the interior cockpit is treated as a totally different asset. When you click the 'drive' button in NR2003 and switch between camera views the cockpit view you see is an entirely different scene from the exterior. While you could essentially 'reuse' your meshes and textures from the exterior view as a cockpit you'd notice pretty soon being that close to the model in cockpit view is very low resolution. The exterior models were not made to be viewed by literal feet away, to fix this new models in higher resolution and better texture detail is needed.

While its possible to create a mod starting in cockpit view I decided to leave this part of the mod to work on after I completed the exterior. This way I could use the exterior cockpit I made as a guide to recreate the higher resolution one. Since I know the basic cockpit I modeled for the exterior already fits the car its a perfect template to use. So taking my exterior cockpit model I basically replaced all of the model pieces with higher resolution ones. Another thing was I only needed to focus on the front section of the cockpit because in NR2003 you can never turn left or right far enough to see the back section. Essentially you are almost modeling a simulator in a way where just the front section is visible:





After I remodeled the big sections of the cockpit like the dashboard, rollbar, and windows I added in more placeholder objects to get a feel for the look of the cockpit. Before finalizing the total design I did a quick unwrap and applied a checkerboard to all the models so I had a placeholder present which allowed me to go into the game with a very basic cockpit and get a feel for where I needed everything to be placed in relation to the camera. The main challenge with the cockpit is the camera needs to be visible of course to see clear racing but also the gauges/telemetry on the dashboard needs to be visible as well. To achieve this I went in and out of the game adjusting certain pieces and the head height of the camera to get the desired result:







Once I was pretty satisfied with the camera angle and how all the models were in view it was just a matter of finalizing the models, adding in the extra details like buttons, and windows braces. I wanted a unique design and I did take some inspiration from the iracing Nascar cockpit and other forms of racing that have more sophisticated features on their dash. The easy party is doing the static models and textures really of the cockpit. The harder part is making sure the real telemetry gauges not only work design wise but are placed in the correct spots too. This is what makes the cockpit a challenge. Unlike the exterior where you deal with LODs the cockpit is simply always in LOD1 but with that payoff comes all the literal moving parts. The parts in the cockpit that move/interact is the steering wheel, shifter, mirror, hood damage, and gauges.

The first thing I tackled was the gauges. A gauge in NR2003 is simply a needle mesh rotating around. To make it appear like a gauge you need a background mesh textured as a gauge then in the code you have to define the needle to a specific gauge and location of your cockpit. In NR2003 you have several: Tach (Your rpm), water temp, water pressure, oil temp, oil pressure, fuel, and volts. Depending on the car you are making you can have as many or as few of these as you want. If you notice in some mods they only have 5-6 while others have a tach and 6 gauges (like the BR15 mod). How you order them, how many your want on your dash, and where exactly they go is all customizable. The key part though is they need to be visible to the player or there is really no point in having them if the steering wheel covers it all up. Several of these gauges also include a bonus feature of the warning light where they will change color when they are going past their limit. For example when you over-rev your engine and in most mod the red light on the tach comes on that is the light. Lastly depending on the type of gauges you make you may have different appearances for them between day and night racing.

For my mod instead of doing analog gauges I wanted a fully digital dash. With that in mind I wanted the tach especially to be a bar instead of a circle as well. The DW12 mod has a similar feature and I did something like that for mine. Pretty much I used a flat plane mesh , cutout the shape of the bar and the 'needle' mesh will rotate through the bar as I increase speed and shift gears in the car. Here is my proof of concept in blender:

View: https://youtu.be/aiOHj_frmDM


Then here is what the proof of concept looks like in-game once I coded it:

View: https://youtu.be/YV3ltrri4-I


You will also notice all those orange needles floating around. Those were still using the default cup mod placement positions and I had not touched them yet. Literally everything in the cockpit scene is just visible info for the player and the game won't explode if you remove a gauge or is just not looking correct. If you want a good looking cockpit though you will have to take the extra time to add in the detail to get it looking right though.

After I had the main tach bar finished I simply created several octagon mesh planes for the rest of the gauges which I would then texture a circular gauge design on. The needle would then design to look like it follows the rim of the gauge circle instead of just being a traditional triangle needle shape. Here is what what one of the gauges looks like when it has the proper texture is applied to the mesh:



For the code of a gauge its probably the most 'complex' part of the interior scene. For a single gauge such as the fuel this is what it looks like:


Code:
needle_fuel_level: TRANSFORM NAME pfuel POS(0.253, 0.502, 0.382) ROT(0,0,0) Small_Needle_Digital
            gauge_fuel:        MESH maInt        g3
            gauge_fuel_digital:    SELFLIGHTING AMBIENT(1, 1, 1)   gauge_fuel

            gauge_fuel_red:        MESH maInt        g3r
            gauge_fuel_red_digital:    SELFLIGHTING AMBIENT(1, 1, 1)   gauge_fuel_red

            gauge_fuel_light: STATE_SWITCH VAR fuelPressureLightEnable (0 gauge_fuel_digital, 1 gauge_fuel_red_digital, 2)
Basically to break it down I tell the game where my gauge background and needle meshes are. Then I have to tell it where the needle position should be so it lines up with my background gauge texture. Once that is done I want these gauges (as they are digital) to always self light. What this means is regardless if its dark or bright inside the cockpit these meshes will always be a certain brightness. Since these are digital I set them to 1. After that I create the state switch that will tell the game when the warning light for fuel comes on switch to my red texture. One last thing I want to point out is since I am doing digital I don't need a day to night switch but if you are doing a regular physical gauge design you'd probably have a day and night version so when you race at night the gauges will look darker. This is just the code for one gauge, I wouldn't have time to cover all the code for the entire cockpit in this post but if/when I do a tutorial in the future I'd do a larger review of it all for easier understanding.

Once the gauges were complete I moved to the mirror. The mirror is simply a mesh along with a plane mesh in front of it which you define as a 'portal'. This portal tells the game to render it as a literal mirror. You can make the portal any shape you want and place it anywhere in the cockpit. For mine I wanted a stylized design and this was my end result of the shape:



After the mirror was completed the steering wheel and shifter had to be modeled. These objects are simply static meshes that you then define in the code to be a wheel or shifter. After carefully placing them in the correct spot of my cockpit they will look like a natural wheel and shifter as you speed up and turn. Since these models are very close to the player the poly count is much higher such as the steering wheel:



Last but not least when you take hood damage I wanted the hood damage to be visible. Since I already did the work on the exterior hood I took the code from that and placed it into my cockpit scene. This way when the hood takes any damage it will crumple up as you get hit. The hood section also includes the hood flaps so if you go for a wild ride you will see those deploy in cockpit view as well.

After all of that is completed the final textures were worked on which took quite a bit of work detailing every piece and making it look realistic enough in terms of NR2003 cockpit detail can go. I went the extra mile and added subtle window reflection, dashboard detail, and a paintable nameplate the user will be able to customize on the template. Here are a few laps with the new cockpit around armory digital displaying the digital dash:

View: https://youtu.be/aQpfu3DPWkE












For extra perspective here is using camhack to get a outside look around it, you can see hood is on the front of the car and once you take damage it'll pop up into view:





As with all things in this thread its not completely final but pretty close so things are subject to be tweaked but overall I am happy with the cockpit design. Before I head out I want to touch on behind the scenes with the test team. They've been diligently testing the mod in-game and also the painters testing out the template giving feedback. Here are just a few screenshots of some of the paint tests they've done:









Currently we are only focusing on make0 template and once I finalize the template more I will start unlocking the other makes for paint testing. On the flipside, the guys who are in-game testing the mod have been doing a great job too. Lots of minor bugs been found but happy to report stability has been very good and even Cosmin gave his seal of approval so when this thing comes out you should expect similar results performance wise I hope when it goes public.

It may seem like the mod at this point is complete but not yet. There is still the rearview mirror model (when you press the n key) to create, the exterior gauges, and a lot of template cleanup and work left. The next dev post will focus on the rearview model and exterior gauges.
 

Dominic Carranza

Well-Known Member
Hot Pass Member
Jul 31, 2016
69
28
Do what you need to do. This just buys me idea conjuring time. Plus the fact I'd rather it be done right than rushed. Overall so far just magnifique
 
  • Like
Reactions: Mystical

Mystical

Always 110%
VIP
Hot Pass Member
Dec 21, 2017
214
43
Development post #13

While the overall car mod itself is completed by now the small features and details left over were still needed to be done. The first of these is the rear view model scene. This is the scene that appears in your rear view mirror when you press the 'n' key. To make this is quite simple since you can reuse your car mod parts to create it. The rear view looks backwards at your model to give the illusion in the mirror it is reflecting what is behind it. To do this I simply copied all my car parts in a new scene that I knew would appear in the rearview and delete all the unnecessary pieces that couldn't be shown so I ended up with something like this:



Included in this is also the damage code for the decklid and spoiler so if you take rear damage you will see the effects n the rearview correctly. Depending on where this rearview model is placed in your scene you can make it appear closer or farther away in the mirror. Since I had everything already lined up I didn't really need to adjust it much. In the game this is what it looks like when toggled on:





Now of course the challenge with the tall spoiler on my mod is of course with this model toggled on it will make it harder to see cars from behind or on the side. To give an extra option I am including an optional version with an included side mirror:





You will notice the rearview model looks different with a side mirror and that is becasue with the way NR2003 handles mirror portals. It takes into effect the entire bounding box 'region' of where it must 'reflect' and as a result stuff zooms in more. If you look at various other mods with and without a side mirror you can see this same thing. One way to 'fix' it is move the rearview model much farther back in the 3d scene before exporting but since I am offering 2 versions (one with and one without a side mirror) I can't move it back or the non-side mirror version will be way too far away. It would end up being more work than its worth having to create 2 different scenes with different code for it. It will not completely make it easier with the rear model enabled but give the player at least some choice to have a different mirror view they may like more.

Next up was the part that delayed this dev post by a whole week: The outer gauges and outer custom mirror. The challenge with this part of the mod was not setting up my scene or getting it to appear in game as expected but a bug that caused an unintended side effect I didn't see happen with other mods. Before I get to that I will go over the process how the outer gauges are done. The file that dictates this part of a mod is called make_a_light_cockpit.3do. In this output file and code it holds the mirror and gauges for any of the exterior views of a mod.

This part of a mod I'd say was the most unknown and secretive. Not even the rockstar files contain any example code files (or 3ds max scenes) for how to do this stuff so I give big credit to Cosmin sharing his code that I reworked for my mod with its custom models and placements. To make a scene for proper outer content I took my interior cockpit gauges and mirror frame and placed them in the scene like so:



The middle (0, 0, 0) axis in their scene is pretty much the front dead center of where your in game racing view will be so you have to move around and place the models farther back. Moving a model closer or farther away from the 0 center coordinates will enlarger or shrink the size of the model. I also had to create a new RPM tach becasue as you know my interior view has the custom digital version. You can literally move your parts around any way you want. If for some bizzare reason you wanted all the gauges to be stacked vertically on the left side of the screen you could. I went for a more simple and traditional horizontal lineup but it is really left up to the modder in what order or placement these go. The only important thing rally is will the gauges be readable and not cover up a ton of the car model where they are placed.

As for the code itself it shares similarities with the interior cockpit but also uses different names for the gauges to define them as the 'exterior' versions. There is also special code that allows you to group the mirror and gauges as separate entities which then defines when you press the 'g' (gauge toggle key) or 'm' (mirror toggle key) what turns off with what. This is where I ran into an issue, some reason my mirror and gauge would toggle off correct but when going into replay mode my mirror would still be appearing which as we all know is not good and other mods don't do that. After many hours and days trying to figure out what was wrong I consulted SmokeOR for help. I was finally able to figure out what was wrong and it ended up being a single line of code that was different in the mirror which essentially was not telling it to hide itself pretty much when not in a racing view. I never would have been able to figure this out since I couldn't find any existing code examples so big thanks for him looking over my code and suggesting I try the other thing. Like I mentioned before I would like to after this mod is done to make a tutorial series on mod creation and stuff like this is code I would definitely go over in detail so others know how it can be done correctly. With that annoying issue out of the way though the mod now had custom gauges and mirror shape:







The gauges can be turned off separate like any other mod, also included will be an optional file the player can use that moves the mirror to the top of the screen. You will notice in my screenshots above the mirror is not being covered up by my UIE 2013 content. This is becasue I of course wanted to make my mod compatible with my UI mod and no longer having to use camhack to move the mirror is really great since I can control mirror placement ultimately for once. If I had the code and knew how to adjust the mirror for real with other mods this is what I wanted to so several years ago when I first released UIE 2013.

Now that the outer gauges are done the next little feature to add was backfire to the sideskirt on the right side of the car. You can have backfire anywhere on the car really but I just wanted something simple. Backfire is simply a model mesh that appears briefly for a few frames than disappears. The first thing I did was model several mesh planes together so regardless of the angle the fire output was being view from it would appear '3d'. This is similar to how 3do trees on a race track are done. After unwrapping the simple model I then had to create a fire texture:



I could have probably found/used a fire effect somewhere but made it from scratch in affinity photo. I started with a literal triangle shape and blurred it, added noise, brought up the brightness and glow levels along with some extra filter distortions to create it. After the texture was done I combined it all in my 3d scene and it looks like this:



In game the transparency of the fire and specular levels are correct and you get a result like this:



With those 3 new elements add to the mod its now a 'complete' mod. At this point is has everything a mod would included:
- Exterior models
- Exterior damage models
- Working Flap deployment
- Animated driver
- Interior Model
- Rearview mirror model
- Out Gauges/Mirror toggle
- Backfire effect

The only thing left to do now is heavy focus on the texture work for the actual paintable template of the model. This includes adding more parts details to it, making the specific manufacturer decals/details, and finalizing the templates for a releasable version that painters would be used to seeing. A significant amount of work was done on the template this last week. To show more of the detail I'm using blue and white on the car so the parts can be easier to see but this is the current detail so far:











With this stage in the mod I will have one more dev post most likely. The last one will show the mod with a few of the manufacturers on it along with a preview of what a completely painted car will look like which will really give you a better sense of how the mod looks in a completed state. Work on the actual mod itself is pretty much done now unless any big bugs appear but there is still quite a lot or work left to do which I will detail all of that in the next and most likely final update.
 

Mystical

Always 110%
VIP
Hot Pass Member
Dec 21, 2017
214
43
I have no news yet for the next dev post yet. Work has continued on the mod non-stop even though the work done is not massive in changes it is all the little features and pieces overall which are equating to lots of quality of life improvements and also will make the mod overall just better for the end-user. The other large focus has been the manufacturer specific templates and its been going really well, I have completed 4 already and they are turning out great. I think everyone will be pleased with how the mod is so template friendly to really customize and paint whatever type of manufacturer you want for your carset/series.

In other news I am still looking for a 3ds max render scene expert. Creating 3ds render scenes for mods is not something I do or focus on. I use a modern render tool called Marmoset Toolbag 3 which the mod will include render scenes for that. I do know probably the majority (if not all) users don't have that tool though so I'd like to provide optional 3ds scenes that users are familiar with. This can only be done if I have someone that can make them though and if there is no one willing then users will have to rely on the carviewer scene or have Marmoset. If this sounds like a task you'd like to help with please contact me, I'm not looking for someone that can only do hyper realistic render scenes in 3ds but adequate enough that would be to the same standard other mods come with.
 

NRE

Member
Cold Pass Member
Apr 19, 2019
7
3
Looking great so far! Can't wait for the final product. The digital dash and the cockpit are so next-level. And that big spoiler, imagine all that downforce! :eek:
 

Unggoy

Member
Cold Pass Member
Mar 15, 2017
1
3
Been following your work for a very long time and I'm always impressed with each new release. Based on what I see here, I've found myself itching to paint again -- and maybe even try to fix up a couple of my smaller, easier tracks. Also, your mod is going to serve as the mod for my premiere offline personal racing league that I've been running since 2015. :D Looking forward to seeing it complete, as well as everything that comes with a new mod!
 

Anthony Stuart

Member
Cold Pass Member
Sep 7, 2016
13
3
I've already got a carset planned, fully rated, and in game using another mod for now (I'll copy it over to this mod and paint when it's released), and I'm about to start on pit crews for it, I don't remember looking forward to a mod this much in a long time. I'm not rushing it though, it'll be done when it's done and I can wait :D
 

Our Partners