Alejandro Ávila
Hi! I'm Alex, I have been the lead programmer at Chamfer Studios under the development of Dune: Special Spice Ops. I have always been interested in programming but never led a team bigger than 2 or 3. I was looking forward for this experience since it is a role I'm really interested in and wanted to see if I was able to manage the responsibilities that leading a team includes. Overall this has been an awesome experience and has taught me a lot about leadership as well as improved my programming skills.
Background
About Me
When I was 12, I discovered the world of computer software and from that moment I fell in love with programming, and so I started learning C++ and Java and developed my first desktop applications. By the age of 16, I knew the basics of mobile, web, desktop and backend development and started doing projects for small companies. I always knew that programming was what I wanted to do and always admired those programmers that managed their own team and together as a group developed incredible things.
Along my programming journey I discovered the world of graphic design and saw an opportunity to develop more interesting software by applying UX & UI concepts. I started learning graphic interface design as a hobbie and I'm always trying to develop the best functional software while keeping a good user experience and visual look.
My personal objective as a programmer is to bring the real world and the virtual reality as closer as possible. This is why I'm really passionate about learning new things, to understand better the world around us and being able to create better virtual experiences.
And those who were seen dancing were thought to be insane by those who could not hear the music.
-
Friedrich Nietzsche
Soft Skills
- Determined
- Thirst for knowledge
- Leadership
- Public Speaking
- Problem Solving
Hard Skills
- Programming Languages: Java, C/C++, Dart, Javascript, Kotlin, etc.
- Frameworks: Flutter, React, Nextjs, Node
- Tools: Unity, Unreal, Photoshop, Illustrator, Figma, Postman, Heroku
- Backends: Mongo, Firebase, Neo4J,GraphQL
Experience
Contribution
Project Overview
I had the role of Lead Programmer and my job as a lead was to organize the necessary tasks and distribute them on the rest of the team. I had to ensure that the general vision of the project from a technological point of view was being accomplished. However, we had a lot of work to do and not that much time so appart from leading I also coded as much as I could and also helped the team when they were stuck on some feature.
Main Tasks
Leading and Organizing
As a Lead I ran a daily meeting with the team 6 days a week to check how we were progressing, made adjustments to the plan or provide any help needed. I created the Chamfer Studios accounts as well as the repositories and branches needed. Furthermore, I had to evaluate the members of the programming team, provide communication between the producer or the investors (teachers), and the members. I also created some documents to ensure that several aspects were understood. Some of the documents that I prepared were:
- TDD (Technical goals, risks, and alternatives, tools, conventions,etc)
- Git/Github structure and best practices
- Git/Github tutorials to provide the team all the information needed.
Base Engine
We started the project with Ko-Fi Engine as the base which was developed by Bosco Barber and I. The base provided the essential features plus the shader module.
Animation Module
The animation module has been a really difficult challenge for us since we started the development without anything done on the module. I helped during the development of the animation module by providing the general structure and basic functionality that was then improved & refactored by the animation module team (Bosco Barber & Andrés Sanchez).
Physics Module Rework
We started the development by implementing a physics module with PhysX which worked well during the first parts of the project. On the Alpha 2, the module started to fail and the logic was a bit complex so I re did the whole module from 0 changing Physx by React Physics 3D which is not as precise as the former but allowed me to do all the module in a really short time due to the simplicity of the library and the fact that our game requires very simple physics and collisions. The new module included:
- Rigidbody
- Static
- Dynamic
- Kinematic
- Colliders/Triggers
- Shapes
- Sphere
- Capsule
- Box
- Collision Filters
- OnTrigger/OnCollision events
- Shapes
- RayCasting
UI Rework
Along with Maria Calle, we designed a new UI for the game. I was in charge of the layout, structure and process as well as implementing the final results into the engine and create the necessary scripts. We used the requests from the art team to develop a new interface that was Minimalistic with Art Decó elements and with the mission to provide as much gameplay vision as possible.
Website Design & Development
The website has been designed and developed by Telmo Beroiz and me. We did the website mostly together often working both on the same task. However overall I was in charge of doing the Engine, Profile, Game and Landing pages.
Secondary Tasks
Engine Improvements
Multiple times during the development there were features that were not defined per-se in the scope of the Milestones but were necessary either to improve the User experience of the engine, to help the designers or programmers while using the engine or to fix some issue inside the engine. I did this task along Telmo Beroiz and Andrés Sanchez.
General Help
In general I assisted either by providing advice or by coding some parts when a part of the development was stuck.
Projects
Influence
Influence is a Social Media app with the purpose to bring freedom of speech and content to the users as well as providing tools for influencers. The app features photo & video feed as well as text and podcasts.
JR Supermercats
This is an application made for a local supermarket on Vilanova i la Geltrú. Its purpose is to be able to see the stores near you, to check your user details, download your receipts and get notified of new offers as well as checking the products avilable on the store.
I.N.C.A.R.N.A.T.E
Incarnate has been my favourite project due to the complexity it brought at the time and due to the benefits that it can bring to help people. It is a Brain Computer Interface software that allows people to play videogames. For this project I developed an auto-runner game either in 2D in Java and in 3D using Unreal Engine 4. Both games in prototype state since they were not the main focus of the project. It has been nominated on the XIV Exporecerca Jove and awarded by Munich Sports with a university grant.