Devblog post #13 – Graduation Projects

Graduation Projects

This weeks blog post is not about Survive&Thrive but instead about our graduation projects. We made this decision because the time to graduate is almost there and we still have a lot to do and we thought it would be nice to share what we are working on.

Next blogpost will also be on our graduation projects, but then we will place them in seperate posts.



Fair Play Racing

This is the working title of my race game. The main question that I try to answer is ‘how can I make a racing game where the AI drives on the player’s skill level’, in other words how can I make an AI adjust itself to the current player’s skill. I also asked the sub question ‘how do I make a physics based car’.

I started by doing research into the newtonian laws that are applicable on vehicles. And there I lost myself in making a almost simulation like vehicle, of which I now came to the conclusion is way too complex for the users that I make the game for. So in the end I dumb it down so that it handles way easier and for me as the designer is also easier to adjust. When I had a car, as seen on the screenshot, I made a track on which you can drive around and I also did some work on the aesthetics of the surroundings, such as trees and a skybox, I also decided to make everything unlit so that the contrast is as big as it can get, which should help to focus on following the track.

Graduation Projects - Liftoff

After these preconditions for the ‘game’ where set I could start on my main goal, creating the AI. I started by adding sections to the track that hold speed and raceline data. Then I created the basics for an AI that makes decisions and then outputs a steering, throttle and handbrake value. These values are then interpreted the same way as the player’s inputs are. This way everything the player can do can also be done by the AI and vice versa, thus on that part making it fair.

Graduation Projects - AI Driving

At this point multiple cars can follow one of the three race lines that I calculate in a smooth way. I still need to implemented logic for choosing and switching lanes, correct speed data, maneuvering around obstacles and more. And then I want to implement a part of this AI into the player’s script so that it can help the less skilled users. Of course this also means that the AI’s need to be able to adjust themselves to the player. All in all I still have a lot to do, but we are getting there. When we are graduated we will post another blog post about the final results, so keep your eyes out.


My Graduation Project

For my graduation project I’m making a character customisation scene in Unity. Where players can customise a character and afterwards save it as a prefab for later use.

This could be used for creating NPC’s or other characters.

An Eye For Detail

Today I’m going to talk about a small but important detail. The eye. I’ve focussed on the eye for a while now. People always tend to look at someone’s eyes to connect. Therefor I want to create “good-looking” “empathic” eyes.

The Lens

First I started creating the eye in Maya. The eye contains of 4 different objects. The white part, the iris, the pupil and the lens. The first three are pretty straight forward. The lens though is a bit more different. The mesh of the lens is transparent but still reflects the light and the environment. This part is important because the reflection at the iris / pupil part is outwards, not inwards.

Graduation Projects - Eye Animation

Procedural Generated Iris

After making the mesh I started working on the shader in Maya. I wanted to create a procedural iris instead of a “hard” texture. I achieved this by generating noise within the iris shader and pinch the same noise inwards to create the stripe pattern. I applied an additional noise with a weaker pinch to create the “clouds” within the iris. So it won’t look to generic.

Graduation Projects - Eyeshader Autodesk Maya

The Joy of Joints

After having made the shader for the iris I started on creating a system to make the pupil bigger or smaller. I placed 2 joints, one in the center, and one exactly at the pivot of the pupil. The last one being a child of the first joint. This way I could animate the second joint size to directly animate the pupil size.

Graduation Projects - Eye Joints

The Conclusion

After creating all these small and independant parts I merged them together in a Unity scene. Within this Unity scene you can adjust the Iris texture, definition and color from the outer ring and the inner ring. I made a shader in Unity where the player can adjust both colors. The shader needed more than one color for an eye is almost never just one color.

Now the eye is done I will be working on implementing it in the head model I’ve made within my Unity scene.

Graduation Projects - Eyeball Sliders

P.S. You can follow all my progress on my twitter channel: