Posts

Semantic versioned Unity package template

As software developers, reusability is very important to speed up future development, continuously improve existing modules, promote decoupling. We had some manual process for reusing and importing existing packages we developed, but Unity is going towards a Node oriented package management system, and we decided to adopt this new way of packaging our modules in Unity. Not only did we want to create Unity packages quickly with a template, but also be able to do automatic semantic versioning, and force commit message format. That's why I put up this Unity package template with semantic versioning and commit lint integrated into it. Now we can just create a new repo using this one as a template (or forking it), and we have a nice quick start for our new packages. https://github.com/tuttocodes/Package-template Because I used Github, I created a Github Actions workflow in order to execute the semantic versioning when pushing to develop branch, but this is something that needs to be upd...

(coming soon) My first C++/OpenGL game engine (attempt...)

Overcooked VR remake - Proof of concept

Image
Another small project for masters degree. This time we had to design a VR experience, and of course this was a great opportunity to create a game! Discussed with my teammate what the topic could be, and after a while we decided to do a VR remake of Overcooked. For those of you who don't know overcooked, here's a sample gameplay video: Overcooked is meant to play in local coop mode, and has some very simple mechanics. But because of level design and the nature of cooperation, everything bursts into chaos and it's so much fun! For our VR experience we wanted to recreate part of the main cooking mechanics, but of course we wouldn't implement any multiplayer features because of time constraints (just a few weeks, and not full time). Dev challenges The pot Pot was involved in multiple mechanics as it's one of the central parts of the game. User needs to: Grab the pot by its handles. Put ingredients in it. Put it on the stove and detect an active fire to trigger the cooki...

(coming soon) CUDA parallel programming

Hogan's Alley VR adaptation

Image
This was a task for the computer graphics and VR masters degree. We got some assets for some of the characters in Hogan's Alley, and had to do a simple shoot to win experience. I already had a lot of experience with Unity and VR, so decided to take it 10 steps further. Not much dev time put into this, but the experience was smooth, and more importantly... so much fun! Many of my friends tried it and played it once and again trying to beat the record. Downloaded all the missing assets from the internet and created this VR adaptation of the game. I really tried to make it feel the same way as the original by adding even the shot missed sfx and background effects! Laser pointer is not retro at all, but it would be too difficult to aim without it, and I wanted to keep the experience casual. Feel free to take the source from my  Github repo  and build it for Oculus Quest. Difficulty increases while the game progresses, at the end it gets really difficult. Number of enemies that are...

State machine AI + pathfinding - python

Image
Programming task for the AI course, we had to implement a simple game with FSM AI, pathfinding, and random map generation. Python and PyGame were used in this case. Wrote a simple and classic game loop that updates and render the game: Even if being a simple game, tried to keep each logic separate and neat. The game entity had some simple methods, including the update and render methods which draws everything in the world: All this logic could be easily be used in some other engine for generating maps and enemy AI. Visually it doesn't look so good, but focus was on the logic. Here's the result: Simple game with smooth experience, poor visual feedback, but implementing things like map generation and A*(once again!) feels really nice!

Tempin - detective game

Image
Back in 2014 I got my first job in a videogame company, Kef Sensei . Core team was formed by a 2D artist, 3D and technical artist, game designer and a developer (guess who!). Company got funding and assembled a lean team for the development of a 3D game that mixed up virtual characters and real world environments. Something like the Space Jam movie, but with 3D characters. This game was targeting mainly iPad and other mobile devices. Real world environments For the environment generation there was a separate team that would take pictures of different scenarios and got multiple angles for each of them. Our technical artist would then create some 3D planes and other shapes were he would project the 2D pictures. By creating different shapes at multiple depths, we could hide a virtual character behind 'real world' objects. We had no internal tools or asset integration pipeline at the time, everything was brand new. Because of that I had to create my first ever Unity custom window, ...