A self-contained interactive simulator of nuclear deterrence dynamics, in the spirit of WarGames’ WOPR. Game theory, escalation, thresholds. Runs entirely in the browser, no dependencies.
est. Commodore 128
Software construction
is the activity that brings me joy.
Roberto Russo. Principal software architect. Newtonian physics, object-oriented design, cloud-native platforms, and a playground of things that move on a screen.
Playground
all artifacts →Asteroids Z is an upcoming multiplayer Asteroids with retro-enhanced vector graphics and many ships to choose with different physics-based trade-off attributes. Heavy starship with big guns vs swifty Cobra MK2: who will win?
Technical preview
The game is in its early development stage. A technical preview is available. Stay tuned for upcoming updates!

Android technical preview
Download the Android preview: asteroids-z.apk
To install an apk from sources other than the Play Store you may need to temporarily disable Google Play Protect: open the Play Store app, tap the Menu button, select “Play Protect”, and disable “Scan device for security threats”.
Background
Lately, after a long break from side projects, I started developing a full-featured multiplayer, real-physics-based, 2D space combat simulator: Asteroids-Z. After more than a decade of prevailing professional C++ programming, how did I make it? In Java, of course — maybe to show myself that it is possible to write good-performance software in Java, as well as crap-performance software in C++ (too many people think C++ alone is a performance panacea).
Development
The game is written mostly in Java and runs on Android, iOS, WebGL (browser), macOS, Windows and Linux.
The server is written in Java and is designed making use of fast-paced multiplayer techniques such as client-side prediction, authoritative server reconciliation, entity interpolation and lag compensation. It runs on the Amazon AWS GameLift infrastructure for ease of scale-on-demand.
The development workflow is fully automated thanks to GitLab: SCM, CI/CD, unit testing, code coverage, issue tracking, releases.
Proof-of-concept demo of a 3D Casino/Poker. Targeting, from the same application codebase, the following platforms: iOS, Android, WebGL (browser), macOS, Windows, Linux.
Don’t mind performance and glitches: it was put together neglecting these aspects — it was a proof-of-concept, nothing more.
The paintings in the casino portray my best work colleagues.
Main tools used: C#, .Net, Unity.
I would love to have more time to learn to drive. This is after a weekend trying to learn hard RWD:
Acropolis Rally stage — Alpine A110 1600
Below, practicing left foot braking, a technique used since the sixties as a dynamic brake bias between the front and rear axes, on FWD (and even 4WD). It allows you to modulate the ‘rotation’ of the car while cornering:
Essays
all writing →Una lista essenziale e deliberatamente breve di risorse pratiche per la produttività dello sviluppatore di software. Niente linguaggi, niente prodotti: contano le persone.