A new Bologna Game Farm meeting was held on Thursday, February 13, 2025, in Le Serre Dei Giardini Margherita, open to the entire Emilia Romagna gaming ecosystem. A day dedicated to very technical topics, and for this reason, first-year students from Demetra Formazione’s programmer course also participated.
The morning session opened with the usual series of mentorships aimed at providing practical advice born from the experience of the teams involved.
Nacon Studio Milan, from RIMS to Terminator: Managing Complex Projects
Marco Ponte and Sergio Rocco told the Nacon Studio Milan’s experience about managing highly complex video games. For this reason they used RIMS and Terminator (a video game not yet released) as examples to draw general conclusions.
When starting a project, it is essential to analyze and modulate the effort.
Then the project should be analyzed and separated into various “sections”. For example, in a survival game similar to Terminator, you can take the various gameplay moments such as the shooting part, hacking and moving via vehicles.
Modulating effort means understanding which section of the game is most important, for example, we take up our hypothetical survival game. The shooting part is one of the central gameplay moments and is what a player will do most while in play so its value will be 10 in the project economy.
Hacking, on the other hand, is an optional option that allows you to escape some clashes or open closed doors, being an option that not even all players will have to deal with. Its value will be lower, 3.
Vehicle travel, on the other hand, is often used in the game but is not a core feature: it is a way to speed up travel, but there are no races or minigames connected. Therefore its value will be 7.
This way you direct the effort where it’s needed. This setting can also help with costs. If the shooting in our game can be made satisfactory even by adapting an Unreal blueprint and therefore is also adequate in terms of cost, it is a great thing and perhaps allows you to move resources to secondary features.
Hacking, which is worth 3 for our project, requires us to create a new system with costs that are not justifiable given the weight it has at stake. This is a symptom that the feature should be cut.
È bene partire a lavorare con un GDD che tenga presente i tempi e costi totali ipotizzati, ma che non sia scolpito nella pietra. Va raffinato con il procedere del progetto, arrivando ad essere sempre più aderente alla realtà.
Anche per il GDD è bene ragionare sull’effort, non ha senso scrivere un design document molto approfondito se il gameplay che stai facendo è simile a quanto già fatto da altri e basta usare degli esempi da altri giochi.
Lo stesso vale in programmazione se si possono usare plugin, template o blueprint è bene usarli, specialmente se questo velocizza la prototipazione. Il testing è fondamentale durante lo sviluppo di un progetto, non va sottovalutato.
When directing a project that touches on many different areas, such as a video game, you need to have a cross-disciplinary understanding of video game projects. You have to be able to relate to every sector of production: from programming to the UI artist.
Each team member will give a biased point of view, flawed by their topic and role. The priorities of a programmer and a UI artist can be very different even on the same project.
That’s why the spotlight exists. This is a time when all sectors sit down at a common table and solutions are found to the problems that have arisen.
Other advice is to remember that there is often a tendency to underestimate difficulties. There are ways around this and have the right timing. For example, you can make a quick prototype, to get a correct idea of the data in hand. Or you can agree with the team on a plan b that allows you to reduce the project scope in case there was a calculation error.
Undold Games: a Guide to Unreal Engine 5
Matteo Sosso of Untold Games gave an overview of Unreal Engine 5 and its benefits even for small teams.
Unreal Engine is a graphics engine developed by Epic Games, used in countless video games including Fortnite. The engine and its functions are mainly designed for very large projects but the numerous integrated systems and a good amount of linked teaching materials can also make it attractive for indie teams.
Matteo Sosso began his excursion into the engine starting from three highly publicized systems: Nanite, Lumen and Niagara.
Nanite is a virtualized geometry rendering technology introduced in Unreal Engine 5. Simply put, it allows you to use 3D models with an extreme level of detail, without worrying about manual optimization. For indie developers, it can be useful to speed up the creation of LODs (Level of Detail) of in-game models.
Lumen is the dynamic global lighting system of Unreal Engine 5. It allows light to interact in real time with the environment, creating realistic effects without the need to pre-render everything.
Niagara is the advanced system for creating particle effects in Unreal Engine. With it you can generate visual effects such as fire, smoke, rain, explosions, magic and much more in a highly customizable way. It uses a node-based system: Developers can modify every aspect of particles with a visual interface, without the need for programming.
Added to these systems are less known other ones that can facilitate the development phase of a video game.
For example, the engine features a multiplayer system integrated and optimized into the engine, easily scalable even to games with a small scope.
While the animation management and procedural animation creation system, it can simplify the creation of animations for the characters in play. With Control Rig, you can create rigging and procedural animations directly in the editor, while Physical Animation triggers physical simulation on various parts of the character.
AI management systems can be built with Behavior Tree running on events, this is an older system and less integrated with the current version of Unreal, but still useful. The State Tree, on the other hand, is a hierarchical state machine, so it lends itself to various uses not only for AI.
Then there are also systems designed for pathfinding and environmental perception: Perception System, which simulates vision, hearing and other senses. Navigation System and Environment Query System, more designed for the movement of npcs.
Once these main systems were overcome, we continued with a list of other useful resources.
Mass, allows you to manage a large number of entities in play, is data oriented and divided into Mass Entity and Mass Gameplay.
Ability system is a complex system for managing in-game skills. The character in play has a tag-related ability. It serves to separate logic from code.
Localization Dashboard, manages localizations. It also allows you to group texts into targets such as: game, credits, dlc.
Input Mapping, advanced and granular input management, and Input Mapping Contest, the contest is a collection of actions that I default to. For example, in a survival game the controls change based on whether the character is on foot or in a vehicle.
User Interfaces Editor. View model, allows you to decide which data the UI will read. So you can create a fake model view to test the UI.
Procedural generation system, designed for huge open world games. For a small team it can be used to speed up the processes of creating environments or assets.
Open Lab: testing, how to approach it
Pietro Polsinelli of Open Lab talked about how to maximize productivity and how to have a dynamic development environment, prepared to implement major changes to the game and initiate testing that starts with the team and goes outward.
First of all, at the beginning of development, if you use Unity, it is good to evaluate whether it is better to use something already done or not. Some plugins are almost perfect and there is no point in not using them for others, perhaps, we can do better.
For testing, it’s better to create a method to allow you to skip unnecessary parts (e.g., narrative moments) and go straight where needed.
Furthermore, having debug menus available on the build allows those features to be obtained even by those who do not develop or in environments that do not foresee it (for example mobile).
Each game scene must be self-contained, you must be able to open it yourself and configure it to facilitate testing. I need to be able to enter a scene with different settings, such as being able to select specific units in a strategy or skills in an RPG.
For example, in the case of the video game “Becoming Saint” the gameloop had already been ready for a year but many balancing problems remained, which were only solved thanks to testing. For this reason, testing is a fundamental factor in having a solid video game.
Pietro Polsinelli concluded with a general tip on game balance. You need to find a choke point, a gameplay moment where the player has limited resources so you can have balanced battles. Total freedom only makes balancing extremely complicated.
In the afternoon, the teams met again with the tutors to continue the acceleration path.
It was certainly a more technical day than the previous ones, but precisely for this reason it certainly gave enormous food for thought to the winning teams of the call and to the students present.

