Giuseppe La Malfa

Computer Science student, Programmer

Key Knowledge

  • Backend systems programming.
  • Software architecture design.
  • Game design and procedural generation.

Who I Am

My passions include designing and implementing systems that solve interesting problems. Since my early command line experiences in C++, I have explored various areas of software and game development, both in search of experience and interesting projects.

After extensively exploring the field of games and graphics engines, I have developed an agile development philosophy, prioritizing elegant designs that are straight to the point yet flexible enough to allow for experimentation on specific problems. I firmly believe that maintaining a sustainable development process, a healthy work environment, and composed and forward-looking leadership are the key to the success of any project.

My favorite pastime is playing video games, analyzing in detail those that I particularly appreciate, assessing their weaknesses and strengths in terms of game design and implementation. Occasionally, I dabble in web graphic design and electronic music. During work, I have a particular preference for user interfaces that allow for not using the mouse.

I enjoy designing and implementing systems that solve interesting problems, in elegant yet flexible ways. Forward planning is key for success. I enjoy playing video games and analyzing their game design and implementation. I occasionally dabble in web graphic design and electronic music and prefer user interfaces that don’t require a mouse during work.

The tools i work with

These are the technologies I have experience with, along with the related activities where I have used them.

  • C, C++, Make, CMake, Rust, GCC: low-level educational projects, game engines.
  • C#, .NET/Mono, MSBuild, Java/OpenJDK, Gradle: small-medium cross-platform projects.
  • Python, TensorFlow: data science, neural networks, prototypes, and automation scripts.
  • Godot Engine, Unity 3D Engine, GLSL: video game prototypes, generative art, procedural generation solutions.
  • MySQL, MongoDB, Neo4j, Memgraph: data science, designing and implementing databases.
  • HTML, CSS, Javascript, Typescript, SOAP/WSDL: developing web applications and websites.
  • Django, Wagtail, Cyberpanel, VPS hosting: personal blog.
  • Linux, Windows operating systems: experience as a power user.
  • Docker: virtualization, fast deployment.
  • Markdown, Notion: personal organization, writing design documents.

Experience and projects

My experience mainly focuses on backend programming and system design. I experimented with some game engine prototypes (not published), exploring aspects of memory management, workflow with the OpenGL graphics pipeline, loading and managing game assets.

During my university education, in addition to the subjects provided by the study program, I experimented with game design and applied procedural generation, coupled with other techniques, to generative art. I also developed and maintained a personal website using Django and Wagtail that serves both as a blog where I periodically discuss videogames and as a curriculum vitae.

I comfortably work with the command line: in preparation for group work, I have developed a habit of always using git for versioning in my projects, and I have progressively developed the necessary workflow for group collaboration.

I have implemented databases for university exam projects using MySQL/MariaDB, MongoDB, Neo4j and Memgraph, implementing databases for general use and benchmarks to evaluate the performance of DBMS. I briefly experimented with developing Android applications in Java using Android Studio tools.

I am close to getting my Computer Science Bachelors’ Degree at University of Messina, having passed all exams and currently working on a thesis involving deep neural networks and cellular automata.

Game of Life Remastered

An open-source project written in Java (developed as part of the Object-Oriented Programming and Software Engineering exams) that implements and expands the rules for life-like cellular automata, allowing cells of multiple types of cellular automata to interact with each other on the same grid, implementing friendly or hostile relationships and experimenting with an object-oriented design for cellular automata. It implements basic features for a multi-species cellular automata simulator.

Furthermore, this project experiments with the use of cellular automata as a fundamental element of a multiplayer game, implementing an online game system with cooperative and competitive modes.

This project is available here.

Automata Ecosystem

My first commercial project, developed using the Godot Engine graphics engine as part of the @rt.Me initiative at the University of Messina. Automata Ecosystem is a GPU-accelerated cellular automaton simulator with a focus on the customizability of cellular automata and their audiovisual characteristics. Its uniqueness lies in the way it expands on John H. Conway’s Game of Life and criteria for life-like cellular automata, allowing multiple species of cellular automata to interact with each other in new ways.

The project was developed in C#, shading languages transpiled to GLSL, and C++ for some modifications to the Godot Engine necessary for the project to function.

This project was presented at two digital art exhibitions, organized as part of the @rt.Me initiative at the University of Messina: an exhibition at Taobuk 2022, and an exhibition at Galleria Vittorio Emanuele III in Messina.

This project was released on itch.io and Steam.

Studies

2017-2023

Università di Messina, Dipartimento di Scienze Matematiche

Outside prescribed time, almost there!

2012-2017

ITT E. Majorana, Milazzo

Diploma in IT and Telecommunications