Wednesday 2 July 2014

Mod released!

Finally released my mod to the community. Had a lot of positive feedback :) Will probably go back and fix things like create some LOD's etc soon.

Download here
http://isiforums.net/f/showthread.php/20615-Hakosuka-240z

Friday 13 June 2014

Gameplay video

Should of posted this when I made it but got caught up with all my uni submissions. Here's a gameplay video of the Hakosuka racing round croft circuit :) Thinking about releasing my mod to the public soon. Hope you enjoy it!

https://www.youtube.com/watch?v=zC67ByE5Z6M

Sunday 2 February 2014

Finishing touches

There are just a few thing I need to sort out and fix then the hakosuka will be complete. I was struggling to fix some issues so I made a post on the official forums outlining what i was stuck with. I added pictures to show some of the problems and I also asked if anyone could help me with making a engine file. Heres the forum post... http://isiforums.net/f/showthread.php/18138-Hakosuka-mod-nearly-finnished-but-need-some-help

The things I was stuck with were firstly I couldn't get the brake lights or headlights working. User Tommy78 said my naming conventions were wrong so I changed them around and it worked! I didn't know what PS or DS meant at first. They mean Passenger side and Driver side so I had both brake lights as the same object when they needed to be separate They were also named as hakosuka_HLGLO_PS but I needed them to just be HLGLO_PS. Tommy also said he could make a engine file for me. There was then some disscusion about which engine, the stock road engine or the race engine. You can have both and upgrade ingame. Tommy is currently making the race engine as he said that would be more fun.

In the showroom the car was really high. This was a problem with the pivot points when I exported. The Body needs to be 0,0 but the wheels don't matter. I had the wheels 0,0 so I was having this issue. Also some of my meshes weren't showing. For this I just needed to add them to the spinner.gen file which is the showroom file. That was an easy fix and something I figured out myself.

Something else I figured out myself was the engine sounds. When I compiled my car into the full game I didn't have any sounds apart from the wind noise. So I extracted a mod I already had installed. This was the Mercedes SLS mod. I just copy and pasted the .SFX file from here into my own mod. So now my car uses the SLS sounds. Only problem with this is you need to have that mod installed too. So I might have to find out where to add the actual sound files. 

You can see pictures in the forum post and who helped me with what. Everyone on the forum was very helpful and they all seemed to be excited for my mod as not a lot of people are making ones for rFactor 2 yet as its still in alpha/beta. After I;ve handed all my work in Id like to release my mod to the public.

So all Im waiting on now is the engine file. Once I have that I can do some play testing :)

Thursday 23 January 2014

Compiling

Now for the compiling. This bit took me quite a while to figure out. I followed this guide which helped a lot... http://www.aplinet.org/realsim/index.php?option=com_content&view=article&id=236:tutorial-mas2exe-modmakerchm-how-make-a-mod-for-rfactor2&catid=62:herramientas&Itemid=154

To package the files together you use a program called the MAS utility. I used this way back to unpack mas files to sort out my file structure. All the gmt and dds texture files go into one file which you do by dragging and dropping them and saving as a mas file. Then all the code goes in another and then the teams folder which specifies different paint jobs for different drivers. But so far I only have one. And then im left with 3 mas files..

hakosuka (code)
hakosuka_common (textures and gmt's)
hakosuka_teams

Then comes the packing which is done using the same program. This is pretty easy, just browsing to all 3 mas files. Setting the name of the mod which I called Hakosuka. Setting where I want the mod to go which is in the packages folder like any other mod. Then choosing what type of mod which this is a vehicle. Then pressing the package button and then install to install the mod. That green square will show if this is done without any errors. Here's a pic of what that whole process is like.

Then I tried launching the game with my mod but once I got to the loading screen for the race I got several errors...

I was confused by this for quite a while. That file was in my mas files I packaged but it didn't work. Finally I just merged the mas file I already had when I followed the tutorial with my own mas file (this was the hakosuka_common file). This got it working which is great. My file names and structure is not very good. But to change it now might break things which might take a while to fix so I'm just going to leave them for now. The only visible problem I have now is the rear wheels on the players car are invisible. But on the AI they are visible. This is quite puzzling but as the player wont be racing in 3rd person this is fine for now. Also the texture for my tachometer is the default one, not the one I made. Anyway here's what my car looks like in game on Croft circuit which is a local racetrack. I also applied a HDR preset which makes the visuals quite dramatic.





Monday 20 January 2014

Windows

For the windows firstly I had the model them as I hadn't done this already. This was the easy step, just extruding from the window frames with a quick unwrap. Now the hard part was setting up the material. I spent around 3 hours trying to get this to work in game. The windows would either be invisible or opaque. So I played around with pretty much every setting in the max material editor to get it to work. I also did some extensive searching on the forums and read all the posts about alpha channels. This is what my material setup looked like in max.


The one setting that finally got the material working was the material alpha value which was originally set at 255. It was just the normal setup in the code like all the other objects. I made the windows 2 sided originally but this made it quite distracting while driving with all the reflections. So I just have this for the outside view. Which may look strange but you don't even notice when driving about. So here is what that looks like in dev mode. Up next is compiling all this so I can play in the main single player with all the racetracks!


Tuesday 14 January 2014

Marmoset renders

Here's my car so far. Its pretty much done now I just need to do the windows. I will also be compiling the game files so i can add them to the main game.


Exterior texturing

For the exterior I baked the normal and ao maps then began straight away with texturing all the chrome pieces. I originally made the car paint red but my supervisor said it would be nice to have one with decals on too like a proper racing car so I gathered some reference for this. As for the decals I added some I saw on my reference and ones that I thought were applicable. The way I unwrapped my car allows me to have deals on both sides without them being inverted. Normally in a racing game decals would be added within the engine so they wouldn't have this issue. I learned this from making a car in and year and finding my decals were inverted so for the cars number I just used 00.

I added a Yokohoma decal as the tyres on my car are that make. The PMC.S decal was hard as my unwrap wasn't perfect so it would be stretched. So I had to recreate the decal and warp it for both sides of the car. The rest of the them were fine I just had a problem with that one. I also noticed one problem where the car has the letter S and I forgot to separate these so one one side of the car it is inverted. Its nothing major but it is quite annoying and for my next car I will make sure I don't have this issue again.


Monday 13 January 2014

Other Guages + Texturing the interior

In rFactor you can have other gauges that work like the OIL, TEMP and FUEL etc. But I decided just to leave these and save some time so I can start the 2nd car asap. So I just added them to the interior UV's. This is the texture I made for the other gauges. I made the petty much from scratch accept using a template gauges so all he markings were correct.


As for the rest of the interior I baked the AO and normal maps in xNormal as I always do. Then I began texturing in photoshop. I was originally going to sculpt the foam parts on he roll cage for some extra detail but after looking at reference this was unnecessary. Most of the foam in my reference seemed to be attached with cable ties so I added this detail with nDo2. I also decided to add some welds the the rollcage. I did this by creating some overlapping gradient circles that when converted to a normal look like a weld. For the rest of the interior I mainly left it black as the player wont be looking at the back seats or floor so adding detail there is meaningless. 

Here Is what it looked like in the end.



Wednesday 8 January 2014

rFactor 2 GIF

I said I post a pic of the dashboard and gauges in game but I decided to make a gif instead so you can actually see them working. You'll notice the shift light turn on also! I currently texturing the outside of the car and ill do a update on that soon.


Monday 6 January 2014

Dashboard Texturing

I need to spend more time on the interior than the outside as in game that's where the player will spend most their time. So it's nice to get the interior looking as good as possible. As usual I baked the normal and AO maps in xnormal and used ndo2 for some extra normal detail. Here are the diffuse, normal and specular maps I made.


I decided to put a sticker on the glovebox as stickers in Japan are used loads on vehicles. And JDM Legends is a garage that specialize in classic Japanese cars. JDM stands for Japanese Domestic Market. 


Sunday 5 January 2014

Speedo and RPM Light

The tachometer has a little RPM shift light on it that will illuminate when the revs reach a certain rpm. Mos tracing cars have these. There are several LED's that a car can have in rfactor for various different things but I'm just going to use the shift light. It took a little searching on the ISI forum again to find the right bit of code. Here's the code I used.

RPMLED=LEDYEL00.dds

I needed two textures, one lit and one unlit which I made here..


For the speedo it was a pretty similar process as the tachometer. I just needed to have a different texture and different code. Here's the code and texture I used. It took me a while to get the speedo accurate but by just fiddling around with the values in the code I eventually got it. I think I could of made this easier of I knew what angle each speed. 

SpeedometerRange=(20.0, 220.0, 210.0, 350.0) * *//SpeedometerRange=(<minvalue>, <maxvalue>, <beginangle>, <endangle>)
SpeedometerCenter=(0.50, 0.50) 
SpeedometerNeedle=(1.8, 1.8)
SpeedometerBackground=hakosuka_speedo.tga
SpeedometerNeedleMAP=hakosuka_speedo_SNEEDLE.tga


Wednesday 1 January 2014

Mirrors and Tachometer

Firstly for the mirrors they have to be exported separately. So i separated the two side mirrors and the rear-view mirror. But just the geometry that I want to be a mirror, not the mirror outer bits. I attached these so they were all the same object and unwrapped them. This bit is important because it specifies which mirror is which. Here's what that looked like.


Then one line of code needed to be added to the .gen file. So adding the mirrors was pretty easy, I just had a problem where the view in the mirror was squished so i just adjusted the unwrap and that fixed that.

Now for the Tachometer. For my car I've added an aftermarket tacho which is made by autometer. So I just needed to seperate the tacho's face just like the mirrors and unwrap it. But this time I actually needed to texture it which is what I did here.


The rmp gauge has two textures, one for the backface and one for the rpm needle. The needle was already provided. Once I had exported the tacho I just needed to add some code. So this is what I added to the cockpitinfo.ini file.

TachometerRange=(100, 10000, 323, 420)
TachometerBackground=rter_rpm.tga
TachometerNeedle=(1.5,1.5)
TachometerNeedlemap=rter_SNEEDLE.tga
RelativeTachometer=0

It worked ingame straight away and it seemed to be displaying the correct RPM.
I'll post a pic of it in game at a later date.