Self-autonomous, open-world city game, run by democratically elected players.
My most recent hobby has involved leading my own team of programmers, 3D modellers and graphic designers. The goal is to bring a game concept that I am passionate about into reality using a popular game engine. The game is currently in alpha and has had over 10,000 players.
My university dissertation project involved developing a smart home environment in virtual reality which can be controlled using eye-tracking technology. The purpose is to simulate the potential future use case of controlling a smart home using smart glasses with eye gaze as the input method, which offers significant potential benefits for those with disabilities such as ALS.
The novelty of this project lies in using Actigaze, an input method that allows users to click on buttons using just their eyes by differentiating between clickable elements using a colour association algorithm and colour confirmation buttons.
My recent third-year advanced computer graphics unit involved building a raytracer in C++. We were given the outlines of a framework, which I extended to implement different lighting models — Phong and Photon Mapping — to produce features such as reflection and refraction, diffuse & specular reflections, and shadows.
We had to create classes to support various objects, such as polygon meshes, quadratic surfaces, and constructive solid geometry (CSG) objects. I also created a cuboid class, which allowed me to design a more interesting Cornell box and other objects.
The image shows my final scene generated using the raytracer. It demonstrates different features, such as diffuse photon mapping, CSG to create a hemispherical light, and reflection to produce a mirror effect.
For a group project in my second year of university, I took a lead role in our team to develop an Android app that improves the accessibility of our campus for disabled students. The app provides graphical, written, and audio directions tailored to users' physical abilities — e.g., some users require routes with elevators or ramps. My main role focussed on the frontend, which included coding the logic behind displaying our routes graphically on the map.
Another issue identified from our stakeholders was that the campus environment can change frequently — e.g. locked doors, broken elevators. This can be especially challenging for disabled students. Therefore, we implemented a feature that allows users to report obstacles on their route, which are made visible to other users.
During a group project in my first year of university, we were tasked with developing a personal informatics system. We chose to create a 'carbon calculator' which calculates your 'carbon score' based on how much you travel (taking into consideration modes of transport) and what you eat each day. This was a very small project, hence the simple UI.
I mainly focussed on features relating to 'goals' and 'achievements'; I designed a feature that allows users to create goals to e.g. increase their daily walking/cycling. This enabled users to unlock achievements based on how many goals they met.
For one of my first-year university coursework assignments, we had to use an Arduino to solve a problem. I chose to motorise my bedroom curtain and integrate it with the Arduino and a light-dependent resistor so that the curtain would automatically open in the morning. The light from sunrise triggered the LDR, which signalled to the Arduino to activate a motor, which was connected to a pulley system that I engineered. I also designed a solution to reverse the polarity of the motor using just 2 relays and their NC/NO ports.
For my Extended Project Qualification (EPQ) in my first year of sixth form, I created a sleep tracking device which analyses users' sleep cycles by monitoring their movements throughout the night. The device uses this data to wake users at the optimal point in their sleep cycle, similar to popular smartphone apps. However, I wanted to combine this with a light that imitates sunrise, allowing users to wake up more naturally.
I also created a computer program which receives the sleep data from the device and graphically displays the user's movements from their sleep.
My A-Level Computer Science coursework project involved developing a program that allowed students at my school/sixth form to view their personal 'achievement points' — part of the school's rewards system. This was to address several stakeholder issues, primarily by giving students a way to access this data. The program also features student and 'house' leaderboards, as well as a new, more intuitive method for teachers to input this data.
This project was my first experience of applying software development to the real world, motivating me to study Computer Science at degree level.
Copyright © 2024 Callum Battocchio - All Rights Reserved.