Technical blog, Final Project.
- Robin Mikkelsson
- May 10, 2022
- 7 min read
First and foremost, I consider myself an artist. No this is not an excuse for why my work may be imperfect, I am simply saying that, despite me calling it a 'game project' several times in either blog post, it is still, for now, just a large animation project, with the dream of growing up to become a game one day. That being said, the project I have been working on has been a technical Goliath. At least from an artist's perspective. The long term goal for this project is to have an interactive open world with my city recreated historically accurately, and the surrounding lake, sea and country side. With the player free to explore from the moment they launch the game, with the graphical depth and detail of Mafia 2020, or Red Dead Redemption 2. But instead of a focus on guns and murder, I wish my game to have a focus on exploration and automobiles.

Though for this year, I only have the time, resorces and manpower to do a short animation, using the 3D models I have made so far.
Last year, I submitted a very rough video animation of my world in its infancy.
Though for this year, I only have the time, resources and manpower to do a short animation, using the 3D models I have made so far. found better and more efficient ways of creating buildings. I have learned new lighting techniques and Camera techniques.

With that out of the way, I will start by talking about the most important thing, the 'main attraction', the cars.
Cars is another one of my passions, along with Latvian history, culture and folklore. So to me cars are one of the most important themes in the world and I regard them as the most important invention in human history. In recent human history, at the very least.

I started learning 3D only on year 1 of university. The first 3D model I made, was the Ford Model T I submitted for 3D Literacy module.
From there I started learning Blender and practicing making cars, even in my own time.

I explored different tutorials but many focused on either very low poly models, or went all out and went for photorealism. I was looking for something middle of the road. So even though I ended up learning many techniques and mechanics from tutorials, university classes and my tutors directly, I had to find my own way of actually modeling the cars.
My process is detailed below. -I start with a cube.
-I divide it in two, and delete one half
-i apply the mirror modifier and turn on the collision
-Then i extrude, loop cut and adjust the individual edges and vertices roughly into the shape of the body of the vehicle or object.
(I will sometimes use images of blueprints, drawings or photographs in the background as a guide)

-I then subdivide, bevel or cut with knife tool to create more geometry where needed. Extrude windows inwards,
-I then separate the doors as separate objects. This is one of the big things I had to figure out by myself, as silly as it sounds. Previously i would create the doors out of a separate object.

-then I add the details using separate objects,

-I apply the scale of everything for correct UV unwrapping.
-I then use Blender's "Smart UV Project" for things such as car bodies. But I will mark seams and correctly unwrap objects like tyres.

This process allows me to create cars, props and other hard surface objects at reasonable speeds by myself.
I also follow some of these steps when making buildings, though working more with separate objects to avoid quick pile ups of unneeded geometry.
For creating the buildings, I referenced the Latvian national archive,
My books
"Walk through Beautiful Liepaja"
Paul Max Bertchy
As well as the photo archives, Liepaja Tramway photo archive and Latvian National archive. For buildings that exist today still, I took my own photos, as well as referenced Google Street View for parts I hadn't photographed, since I live outside of town.
Latvia's national archive - http://www.redzidzirdilatviju.lv/lv/search/photo
Liepaja Tramway photo archive - http://www.liepajastramvajs.lv/lv/node/88
I wanted to have human life in my animation, so I found some base meshes on Sketchfab (https://skfb.ly/6RtOJ), and sculpted them into custom characters, and created some simple, period accurate outfits. Visually my biggest influence was the original 2002 Mafia and the Sims games.




I did not retopologize them, as I never subdivided the low poly basemeshes. I simply used the sculpt tools to make them appear less nude, and then shaped their torsos into shirts and their legs into trousers.
I referenced my Pinterest board to find simple 1930s outfit ideas that I could recreate without needing detailed sculpts or too much geometry for my purposes.
I will certainly come back to the characters in the future to streamline the process and hopefully make them look better, but for the purposes of the animation this year, I am happy with the results. During my feedback tutorials, my tutors advised me to add more dirt, grime, wear and weathering to my 3D objects. And I agree with them that certain objects may need them.
The one I tried to do first was the car based on the 1938 Ford. I set up a procedural material that mixed two shaders/textures based on either the Z axis, (top bottom) or ambient occlusion.
This resulted in dust in the nooks and crannies of the model, and cleaner paint at the top or more open areas of each panel.

(unrelated to the project, but this Mercedes was one of my biggest learning experiences)
I first practiced the shader mixer material on this model. By making it appear sandy. Inspired heavily by the game map Dust2 from Counter Strike Global Offensive.

Then it was time to apply the material to my Ford, which, if it was unwrapped correctly, should project the dust and grime correctly just like the paint material.


I wish to do this procedurally and avoid using things like Substance Painter despite my university providing me student access, to avoid licensing or royalty issues in the future.
I do not know if the university considers this a valid reason to avoid using a certain software, but this is my reason, and I am happy enough with the results I get in Blender, at least for the time being.
These are the things I still have to learn and explore on my own, outside of university, and I am sad to say that some of the suggested changes from my tutors' feedback have been impossible to implement on time. My apologies to the tutors that gave me feedback over the semester.
Some suggested changes and improvements that I did do, include the car paints including dust, as mentioned before, but also;
The bridge and canal area has more detail, I made a kiosk, populated it with ships, the bridge now has more details, such as lamp posts and tram cable poles, as well as more supports underneath, making it look closer to reality.

I have added carts, crates and barrels around the town to make the streets look more cluttered and lived in.

I added lanterns to add additional detail to the streets. Improved foliage, grass shrubs, flowers in the center of the park, actual 3D models of trees I've had to borrow from Sketchfab (https://skfb.ly/oqFSu), as my course mates and tutors both advised.

I animated the water, by keying different values of the procedural water material nodes.

The final animation is simple. I've had to keep it simple due to machine and time constraints. I am sad to report Unreal Engine did not like me rendering anything or even importing some of my models. I was unable to troubleshoot, so I rendered in Blender.
The shots showcase my buildings and cars.
Another important thing I should add to this post, is that I used Mixamo for character animations. I've had to use Mixamo to save on time, again, as I am working on a larger project by myself. I understand that It is my own fault/responsibility for biting off more than I can chew, but decisions were made and compromises had to happen. In the end, I don't think it interferes with the integrity of my work and dedication, if anything, I look at it as another temporary but good solution, to a project that i will carry beyond the animation course at Ulster.
I stuck to my schedule, which was mistakenly scheduled for May 12, and typically in my fashion, as I write this final part of this second blog, it is currently the 00:25 on the 11th Latvia time. I will meet the UK time zone deadline however.

As mentioned before, sadly my project didn't make it into Unreal Engine, and overall I overestimated my ability to force myself to work ahead of schedule. However, by the end, I did do everything on time, I started the blog posts early enough, that I got advice from our blog tutor. To put it another way, It was close, but I made it. At the end I started thinking my animation wouldn't be long enough, but I even ended up discarding some clips, that felt too rushed or felt like they didn't fit into the final edit. I also discarded clips that I felt just a bit too minimalist or lifeless. As a result, I feel more proud of my animation this year, than I did with the individual project on 2nd year, and I feel a sense of pride, as I feel I have improved a significant amount. There are still things I could have done better, mainly adhering to the schedule, so I could actually put in the time to bring more quality renders, with my struggling hardware. But with the time and hardware I had, I feel I have produced adequate results. Either way, I've made it, and I would like to thank all my tutors and course mates for helping me along this colossal solo project. I will probably keep this blog going after university ends, but until then, goodbye! Link to the creative context blog - https://28robis.wixsite.com/robinmikanimation/post/contextual-research-blog
Comments