Tic Tac Toe Evolution - Android
|Description||This represents my first attempt to develop a game for the Android platform. It is another remake of the classic game Tic Tac Toe where I implemented a particularly efficient brute force AI. Thanks to this I had the possibility to extend the play area to 4x4 and 5x5 boards.|
I decided to start with this, conceptually, simple project because it had to serve me as a case study to implement a lot of ideas I have in mind for a very long time about game engines.
It was a very tough challenge because I did almost everything from scratch, buy at the sime time it was a real fun and a great satisfaction when, finally, I managed to publish it in the Google Play store. Infact, I dreamed for years to devote myself to game development, but due to other work commitments.
In the past I have developed several games for J2ME platform so the step resulted so natural for me due to the Java support on Android that allowed me to reuse some code.
DigitalFun s.r.l. for CST Advising s.r.l.
|Description||It was an application designed to allow people to use the special search services developed by the latter company. Therefore, it was a lightweight client, with a graphical user interface, able to submit search queries to the central server, return results and further search suggestions, maintaining a chache of previous searches and other minor features.|
Unfortunately, I cannot explain in detail its purpose and functionalities due to privacy restrictions imposed to me.
However, the project suffered from serious problems caused by poor interface design and incorrect budget estimation made by the companies. So we together decided to stop this project at the prototipal stage.
|Description||This represented a very interesting project for me, infact I had to create a sort of online whiteboard with support for multiple users for an E-Learning platform.|
The application is a social creative environment which allows users to draw objects, fill forms, add images and write text notes. Any object on the screen can be moved, scaled or colored as desired. Each user can see in real-time changes made by others and even make additional modifications to them.
The system updates very quickly so it is possible to see objects while are moved by other users, changing its color and so on. To achieve this goal the company requested me to employ HTML5, but soon I showed them how a client/server Java application, could represented the best solution.
DigitalFun s.r.l. for Engineering
|Description||The company committed to me the development of an iPhone/iPad feed-reader application intended to serve as a reference for every events, itineraries and places to visit in the italian region of Veneto. Through the in-app Google Maps support, users can also know the location of the nearest POIs.|
The application was designed interely by Engineering which has also implemented the server-side and provided its query specifications, so my task consisted only in producing the software design and writing the code.
DigitalFun s.r.l. for SKY Italy
Feasibility and game development guidelines document
|Description||This time I was not hired to develop an application, but to redact a detailed feasibility document regarding a TV device provided by SKY Italy.|
The project goal was to determine whether such a device could be able to run videgames and, if possible, identify what game genres it was better to focus. As an addiction they wanted a cost and effort estimate to port some existing games from other platform such as J2ME and even a suggestion on the development strategies necessary to do so.
DigitalFun s.r.l. for PallMall
|Description||My first work for this company was a tiny application for a stand of PallMall.|
The concept was simple: the main screen of the application had to present a set of icons that represented many stylized faces. Touching one of these icons, the user was given a further screen that displayed a brief text explaining the face mood.
The application has been developed for J2ME mobile devices with touch support and built with code already written for previous applications.
MobileSoft s.r.l. for Engineering
|Description||This time I was asked to develop an application for the italian news TV channel of La7. Such application had the task of displaying news feeds including texts, photos and videos through few views.|
My task was to develop the application for J2ME devices. As in the past, I have met some difficulties due to lack of advanced graphics components of the J2ME framework.
Unfortunately, even the design did not take into account this problem so I was forced to create from scratch the necessary structures for the management of graphical controls such as buttons, folders, scrolling text areas, and so on.
MobileSoft s.r.l. for BMW
|Description||Since many companies were producing demo applications for mobile phones, I was asked to develop the J2ME version of a sort of catalog for BMW. The application was structured to allow users to download contents from the network for off-line browsing.|
There was different types of content available. Some of which were simple lists of articles containing information in text form, while others were real catalogs where users could view photo album about new cars, show the interior and change its color, technical information about cars and a special section to book for a test drive.
Since this application was initially designed for iPhone the company claimed the new one for J2ME phones to be almost identical in the aspect. Useless, therefore, to mention the difficulties encountered due to the limitations of these phones as well as those of the framework that has not advanced graphics controls.
So I had to develop from scratch everything needed to show scrolling lists, bitmapped fonts, text areas, buttons an so on.
|Description||Among the various activities which I had to deal during my experience in Reply they asked me to develop a command line tool in PHP for an internal project named QoSMoS.|
That tool had the task to fetch completed document files from customers SFTP and then transfer and organize them into the central repository.
Reply S.p.A. for Poste Italiane
Development under .NET
|Description||In this project I was involved in development of several parts of a web application, based on .NET technologies, writing webservices, database scripts and frontend ASP.NET pages.|
Reply S.p.A. for Telecom Italia
Functional analisys / Web portal maintenance
|Description||For about a year I have been involved in a project for Telecom Italia where along with other consultants I participated in the production of functional analisys documentation.|
That documentation was about an important website of the italian company and my task was to write some detailed software design documents for the new server components.
In addition to this they involved me also in conducting several interviews with clients, test and validation activities of the new website (implemented by Telecom software factories), maintenance of the old website and implementation of new features.
During this experience I could work with various technologies such as Java EE, Microsoft Sharepoint, .NET Framework, various databases and so on.
Reply S.p.A. for Telecom Italia
System maintenance and support / Development
|Description||From Reply I was given the task to manage its own product named "DataMask" at the customer's site. Here I had to perform the new installation of their product, receive and respond to support requests, solve any technical problems of any nature and implementation of the new components required.|
Since this application was only provided with a command line interface, I was also in responsible of the development of a new web user interface, in order to simplify the use by the customers.
I planned and realized a rich client application consisting of a Client / Server structure and employing GWT-Ext, which combines the richness of the Ext-JS library (now Sencha) to the power of the GWT compiler.
Such interface aimed to make possible some kind of workflows allowing users to manage easily the application processes avoiding overlaps and stalls that was normally resolved through email exchanges.
Reply S.p.A. for Telecom Italia
|Description||Reply engaged me to solve a structural problem inherent the core of "DataMask" that limited its ability to manage flows of strings consisting of characters belonging to non-standard alphabets, such as the turkish one.|
For this job I had to work under Linux in C/C++.
|Description||This was my first real experience as developer for commercial games. For ArtLife division of the company I created two videogames for J2ME mobile phones which were sold through the italian H3G WAP portal.|
The first one "SWAT Mission" consisted of a simple but fun first-person shoot'em up where the player had to shoot the criminals who, hidden behind various objects in the scene, suddenly went out to shoot the player. The game was organized in three different environments, each of which proposed three stages. The last one, to be finished, required the destruction of the final boss.
For this work I created only the code since graphics and the background music was provided by the company.
The latter game "Il gioco della scopa", inspired by a very popular italian card game, was entirely designed and created by me. My greatest satisfaction was that this game has sold more copies of the first one despite the very high sale price imposed by the company.
|Description||This time I worked on an industrial application for a manufacturer company that produce luxury internals for yachts. This application has the functionality required to assist in organizing the activities of staff and the production of estimates for clients.|
From the point of view of the technologies used, oddly enough, I was asked to use Visual Basic 6 in conjunction with a SQL Server database.
Needless to say, having already penetrated deep into the world of Object Oriented, that experience, consisting in the production of forms and tons of repeated code, was degrading to me.
Reply S.p.A. for Telecom Italia
|Description||This is my first work assignment received by the company. I was called in order to redesign and optimize one of the central components of the "Datamask" system, a project which later I had the opportunity to participate to its improvement.|
The entire system is based on a server component that is responsible for distributing the needed keys to drive the data encryption that are subject to Italian laws regarding privacy.
The prototype of the small server was initially implemented using the C language, but due to certain software design choices I preferred to use the C++ language. For secure communication in the network were used the OpenSSL library. In addition I have also implemented a number of ancillary utilities necessary for the organization of the log file and all scripts required for the installation of the product.
Idra Editing s.r.l.
|Description||I met this company through casually through a job advert appeared in an italian magazine. From them I received the assignment to create a videogame based on their design. They also gave me a demo midlet to use as a reference due to the lack of design documentation.|
This represented my first real job as game developer, so full of enthusiasm I have been driven to do my best despite the meager earnings.
The game was directed to the world of J2ME enabled mobile phones. The design was very simple consisting on a mini manga-styled adventure where the user had to interact with the characters reading their dialogues and answering correctly choosing an answer from those offered by the computer. If player selected the right answer the game would continue, otherwise he would get a game over.
Archimede Informatica s.r.l. for HP
|Description||My second experience as a freelance consultant, not very interesting for the truth. I was introduced to a working group which dealt with the maintenance and development of HPFMS (HP Fraud Management System).|
I started working at HP during the period in which the product was migrated to a newer version. So, rather than deal with development in C on Unix I was instructed to conduct certain operations of data migration through the use of PL/SQL scripts.
Other than that I made some macros in Visual Basic in Microsoft Excel for processing sheets containing lots of data.
Archimede Informatica s.r.l. for MicronAsa s.r.l.
|Description||In MicronAsa s.r.l. I was involved in the maintenance of a commercial software of a known Italian company called "Buffetti". The software consisted of a management program for accountants.|
The biggest challenge I have encountered during this project was the intricate structure of the software. In fact, the core of that derived originally from an old program, written in C, in use on first generation PCs. Over time instead of adapting the software to new languages and programming techniques recreating from scratch the obsolete components, the developers, have created layers of code that encapsulated older ones. This has given rise to an impossible structure, consisting of parts in C, and other in C++, embedded in a ton of DLL, some of which had cyclic dependencies between them, that were then used by Visual Basic 6 programs. Not to mention that the data were not stored in database tables, but within a large number of heterogeneous binary and textual files.
In the days of Visual Basic 6 and Visual C++ there was no integration between the two environments, so tracing the flow of such very complex program to find a bug was transformed at times into a real nightmare.
|Description||It was during this period that I began to work by myself creating a vat to work as Freelance. I dealt mainly with hardware and software support as computer assembly, repair, installation and maintenance of the operating system etc..|
At the same time I was commissioned to make a small web portal, from a little company in Rome called Krea-Service. That portal had the aim to serve as a reference for finding information about businesses located in the city.
For this job I used VB Script and ASP supported by an Access database for data storage.
|Description||The company I was working at that time gave me the task of developing an application for a famous movie producer.|
This was an application that had the task, as a sort of spreadsheet, to help the producer in his work of cost estimation for new movies. I remember that I did not implement all budgeted features for this program, because the project was interrupted during construction.
|Description||Since the company was concerned mainly with the implementation of data warehouse systems I was involved in the process of gathering the initial requirements for a project at Tiscali SpA (an Italian company phone).|
In addition to writing requirements documents, I have met many times the company responsible, at its office in Sardinia, in order to participate in several rounds of interviews.
Cyborg s.r.l. for ICL
|Description||Given my strong programming skills in C language, the company sent me as external consultant to another company which was an Italian subsidiary of ICL.|
During that experience I was placed in the working team that dealt with the software system called Prospero. This was a very sophisticated software developed to manage the bookkeeping interconnection traffic between mobile phone companies.
I performed various tasks such as making some tools, maintenance of a reporting system developed in Microsoft Access, and implementation of new functionalities.
In particular for the latter task I was sent twice at ICL in Stevenage (London) in order to learn the needed knowledge, of the system internals, by developers who had participated actively to the initial implementation.
|Description||This was my first experience where I was employed by a real software house, though very small.|
My main task was to develop various kinds of applications for customers of the company (such as restaurants, stores, etc..) essentially using Visual Basic 6 and Microsoft Access or SQL Server database.
During this experience I was given the opportunity to see several technical books that allowed me to get to know the new and fantastic world of Object Oriented.
World Service Informatica s.r.l.
Hardware and Software supporter
|Description||For a very short period of time I worked at a computer store where my tasks consisted of hardware and software technical support on sold PCs.|
In the same period a customer of the store who had heard of my software development skills asked me to develop a small PC application in Visual Basic 6 for the management of master data and payroll of employees of a small company.
Computer and Office s.r.l.
Hardware and Software supporter
|Description||My first experience, as an hardware and software technical supporter, was for this company. In addition to installing and configuring a software solution they sold customers were asking us also to solve PC malfunctions|
In addiction a person known by the boss of this small company commissioned to me to develop a small software in Visual Basic with Microsoft Access database. This software was necessary for a company called "Eurocontrolli Ltd." for the management of master data, management of information relating to their activities of health inspection of livestock, invoicing.
|Description||I do not know if I can include this experience among working ones, but I would at least consider that during that period I held several jobs of hardware and software support for PCs of the barracks.|