This is the story of Cristian Muriel...

std::cout << "Early Life..." << std::endl;

My name is Cristian Muriel, I was born in Catalonia (Spain) in 1992.

After 18 years of school, high school and some thousands of hours of videogames I began my studies in Computer Science.

Console.WriteLine("After my first Hello World...");

At the very beginning I wasn't convinced at all if computer science would be my passion, but I decided to give it a try.

After one year I was considering to change to another degree like Physics or Maths but before that I felt that I needed to ensure that this wasn't my passion so during the summer I decided to learn by myself how to program...

After reading a very good book about Java Programming, I learned a lot about data structures, networking, Graphic User Interfaces and a lot of other cool stuff, and this was very inspiring because finally I understood that software development is a lot more than solving some little problems and displaying a result in a black terminal... THAT CHANGED MY VISION OF WHAT PROGRAMMING IS.

Cristian Muriel

debug.log("My first contact with games...");

While I was in my second year of Computer Science as a final work of a programming course I had to make a little java project in which we needed to complete a game in order to add some new features to it.

With my new & fresh Java skills that I learned in summer this was super easy to me so I finished the mandatory part super fast and I could focus on go an step further. I just loved it!

After the end of the exams of the first semester I went to Switzerland to stay one month with my GirlFriend and as she was super busy with her exams I read a book about making games with XNA that I borrowed in the Fribourg's Faculty of Computer Science (this was my first reading about video games). At the very beginning create a full game by myself was super hard, so I just made all the projects that were presented on that book and I tried to modify them in order to add some little features. To be honest every time that I added something new like a new character, enemy a new attack I felt like a hacker.

System.out.println("My first little Prototype.");

After reading one article called XNA is dead (yeah I know that it is still alive but I was a N00B and I was scared, don't judge me!!) I moved to another option that in this moment wasn't very very famous: Unity3D. I considered another options but I really wanted to use my recently obtained C# skills with something "like XNA".

To be honest, at first, I hated Unity. I didn't get it. I remember miself complaining about how the f***k I can call another's script method, wtf is a component?, where is the main method... So I quited Unity.

After trying a lot, but A LOT, of game libraries I got very frustrated to see that there wasn't something like XNA (I liked the concept, Load, Update, Draw in one script) So I decided to make my own one. Ok, I have the main method that creates a Game object that starts an infinite loop that has the method update and draw inside... So how I can draw an image into the screen?

This question made me go crazy, because I didn't know how to manage all that. So I began to watch some tutorials in Youtube about how to make your own game engine in Java from scratch.

After learning about game engines I have written the tutorial's code like 5 times until I understood what was the meaning of every single line of code.

So now, what happens if I want to run my game in my super cool IPhone? After reading a lot about multi platform game engines I understood that my best bet was to give a second try to Unity3D.

After doing my own little 2D engine, Unity was easier to understand, so after I followed some tutorials I was able to create my first Unity3D 2D prototype (yes, jaja 3D/2D). A Mouse Game came to life!

XNA is dead First Project
XNA is dead

print "Ludum Dare 31"

In the summer between my second and third year of Computer Science, I learned one important skill: Web Development with PHP and Mysql (that allowed me to find a job, but I will explain this later). Also I participated to my first Ludum Dare Competition.

This summer was very very productive, because I made some prototypes in Unity3D in order to "train" for the compo. This competition was also extremely important to me because it was the first opportunity to show my games to other people (I was super scared). It went pretty well. After 40 hours working hard I released my entry: "Faith Jump". I was very tired, because before that I didn't programmed for more than 8 or 10 hours at once.

echo "My First Job as a Software Dev";

In december of my third year of Computer Science I got a part time Job at app2U, a company that develops webs & apps for companies.

As I already knew how to program websites, at the very beginning I was asked to do a lot of work as a full stack web dev with Django (I didn't know anything about Django, but my boss was an awesome teacher and in less than a month I was ready to go alone). But I also learned more PHP, DjangoCMS, PostgreSQL, and finally Universal Windows Platform Development with C#.

Leaving all the technologies that I learned a part, the most valuable things that I learned there, where: to write clean code, fight against problems that are difficult under pressure, to be more productive by managing my time more efficiently and to be able to work in a multidisciplinary team.

After one year working at app2U I had a familiar problem and I asked my boss to quit my job, but he persuaded me to work from home. When he proposed that to me I was super happy because I could maintain my job and be with my family.

Working from home seems quite cool. But when you are alone and you have to push projects forward by yourself, you learn something very important, to be proactive and take more decisions by yourself. Yeah, you have google hangouts and Skype but, believe me it is not the same than being at the office with your teammates.

If the truth be told in my first weeks working from home, my productivity descended a lot because I was always looking for approval and sending pictures and questions to my boss.

After some time I began to take more and more confidence and I was able to move forward only with a very good introduction to the project from my boss and a task list. The only daily interaction between me and my boss where an exchange of key questions & answers at the beginning or the end of the day.

Me in app2U

trace("Last Years of College");

To be completely exact I have to admit that the 3rth and 4rth year of Software Engineering are the best ones. You stop working in the fundamentals of Computer Science and you begin with the cool stuff, like: Data Science, Artificial Intelligence, Computer Vision, Networking, Team Management, Computer Graphics...

I added this picture because this where basically my last years of college when I wasn't at the university. I could affirm that between working from home (for app2U), my homework and my final degree project I stayed the whole day in front of my computer studding and writing thousands of lines of code.

Me in app2U
Me in app2U Me in app2U

printf("Hello, Serious Games!\n");

After my Last Computer Graphics exam, I understood that games are my passion and I asked to my teacher if there was available any final degree project to do in this field. She told me that yes and she asked me to go to her office when I finnish my other exams of the year.

So after my exams, I went to her office and she introduced me the concept of Serious Games. She proposed me to make a 3D RPG video game about fractions, with good looking graphics and connected to a server. The idea was that teachers could easily connect to the server and customize the game for each student, according to their skill level and track their progress. And that's how FRACSLAND born.

The cool thing about this project was that I already had all the knowledge to create a very good "product" by myself in a relatively short period of time.

So in the summer between my 3rth and 4rth year I began to develop the project. I was super excited because my goal was to create something that give me the KNOW HOW for future personal projects.

At september I went to the university again for my last year and I remember my teacher saying that with what I had in that moment I could expect a very good grade. I had some game mechanics, a little admin panel and a very simple webservice. But to have a "good grade" wasn't my goal, I wanted to create the whole platform by myself.

So I decided to go on and continue with the development, adding new features to the game, more mobs, maps, polishing the admin panel, adding more features to be customizable from the server...

This project became giant for me, I had thousands of lines of code, more than one hundred classes and a lot of problems to organize the code. This was a super important thing to learn, because this was the first project that I've developed for more than 10 months only by myself.

The most important thing that I learned from Fracsland is how to manage a large quantity of code in a relatively large period of time, the importance of a good architecture and to plan and design before program.

For this project I received the highest grade of my promotion. I felt super proud of myself but the thing that I won't forget from my time developing Fracsland is my first alpha test with real students. I really enjoyed to see te emotions in their faces and their smiles. In that moment I definitely understood that this year of hard work was a huge personal success.

writeln("Switzerland & Job Search");

As I promised to my fiance, after finishing my Computer Science degree I quited my job at app2U and I came to Switzerland. This was super exciting at the same time than difficult, because I left all my family, friends and I rejected 2 super jobs opportunities: one at King.com (as Backend Dev for games) and the other one at CSIC (Virtual Reality).

My first month in Switzerland was super difficult, because I had a lot of things in mind and It was very difficult to me to enjoy this beautiful country. I believe that one of the most difficult things that I had to assume is that here I have nothing. In Spain I had a lot of contacts, good job offers, a good job... This is still very hard to me.

So now I am at this point, doing a lot of courses of Machine Learning, creating my portfolio and planning to create my next game in my spare time (the only way to stop me creating games by myself I think that is to make games for a company. GAME DEV IS ADDICTIVE).

So here I am, creating my portfolio, writing and rewriting my CV, writing cover letters and hoping that I will find a job that will allow me to stay here with my fiance in her loved country.

So here is my story... I hope you like it, at least for me it has been a very therapeutic way to know who I am and how I got here.

Cristian Muriel 1/12/2016
Me in app2U
Me in app2U