Hello!I'm Pedro Loures, a passionate professional Game Programmer and Designer who would love to create your next game.

Switch to Design Portfolio



This was my college masterpiece and my Program Conclusion Project. I wanted to write about something I had recently gone through with a similar mechanic to a game that I love called The Company of Myself.


The game was well received with warm feelings from people during SBGames 2013, where, even incomplete - with only three basic and barely done tutorial levels - it achieved third place in the category of Popular Vote. That was the ONLY category an incomplete game could run. It’s theme and way of being expressed was explained in a short paper that got Best Short Paper in the Trilha de Arte e Design (Art and Design Track).

Placements link: Search for Solidão. “Voto popular” means “Popular Vote” in Portuguese. Article Link: Best Short Paper Certificate Link


Just a bit after we delivered the project to PUC, we were looked into by PlayTV with “Indiana Produções” to make a video and allow them to use it during their documentary about video games history in Brazil. We appeared alongside great titles like GTA, Resident Evil, and others, which was a HUGE honor.



With the passing time in production, people in the college were wanting to participate somehow in the development of it - after all, spotlight were on this, mostly after SBGames accepted us to go, and more after we got the prize. So, everyone was like: “Oh, you should change this. You should change that”, even the base mechanic was remade because it “wasn’t well done enough”. And most of this were comments by teachers, people that would judge our game in the final day, so we believed in their opinions more than our own, something I did not do in the first half of this project, and I did right. I had a lot of complaints in the first semester of that year because I did not have any enemies. In reality, I did, the dark. But no enemies that can actually kill you, or had a health, or anything. And the teacher kept trying forcing me into it, until I agreed to deliver 18 stages instead of 3, if I could not change that design. THIS was a good move from me, not what I am about to tell.

I rewrote the basic mechanic, and I hate that I feel like the end version of the game, it’s beautiful but barely playable, compared to the first versions. Had a TON of bugs. I had to scrap some stuff that behaved different in the state machine that controlled the shadows because it wasn’t thought before that a ferris wheel would come into the game, with a bad solution - from a teacher that hated that I use 3d planes to make jump-through platforms (basic 3d modeling, planes have one side. You can use an invisible one as a jump-through platform) and decided to do the ferris wheel with a double trigger, to know when you are below or above, and change if the hit box was active for the floor. What happened? If you, or the shadow got into the ferris wheel, and the other tried to get in the same floor as you, they wouldn’t be able to.

What was so buggy in the first version of the game on the base mechanic that made me agree to change? If you had a fps drop, not a few frames, but around 10+, you would have a desync between your shadows and the spots they should end up on. I was doing frame data saves, and tried to change it, around the project end, to a state machine saving only what you pressed, and until you hit where and snap the shadow into place before changing to the next command. This poorly constructed state machine had a lot of stuff left out, and each modification I put on it made it worse.

But hey! Lesson learned. Plan and execute. If too late to make changes, accept them, even try turning bugs into features. But don’t do things without proper planning, they can really mess a project up to the point you feel like not working with it anymore, and making it harder for you to conclude it.

I have remade the game design of this game recently and I plan to tackle back on it and do it justice someday.


cenario1 cenario2 cenario3 cenario4 cenario5 opening mainmenu alonelevel1 lamprope lampgray ferriswheel lotsofshadowscandles collectable blacknwhite memory1 memory2 memory3


App Fiat - Treinamento de Gestor da Qualidade


Another project for Fiat, where we are to aid in training of Quality Managers in their car dealers.

How was it done

Some people from Fiat teamed with D2R in long periodic meetings to discuss changes to the project, and, data collection that was done by them about real scenarios that had happened with Quality Managers around the country.

With that information in an Excel sheet, we converted it into a JSON, added it to a No SQL database, and downloaded it during runtime on Unity.

That data would then feed the possible quests and solutions for the simulation.


How it works

In this game the player follow all the graphs a Quality Manager must read and turn it into two data points. This makes it easier to track, in average, how the place is doing. You can also see them individually. (graphs.png image)

With their knowledge, they will read the graphs, and the issues that are happening and try to find solutions for them. All issues in this game - that are around 76 right now, but has an admin system for the company to add more - are read from a json that we pick up from the web admin system. They were written by a consultant that goes around Brazil aiding in solving car dealers problems when their manager can’t, so it’s with things she saw everywhere that she put up this issues.

Knowing the issue and checking the graphs helps the manager to pinpoint which part of the process in car dealing that the issue must be in, and who probably is involved, so they then will go after checking the NPCs and click them, and diagnose the issue - which means they will talk to them about what’s going on to see if they can figure out who needs a bit of talking to get better. If you choose the right speech balloons, you will get influence - because the quality manager doesn’t command, he can just suggest solutions to people, it’s up to them to take it, so every action you do, consumes time, but the more influence you have, the faster you convince someone to do it. If you poorly choose the balloons, you will lose influence instead.

When you think you know what is the solution, and who it is related to, you choose the grey options in the npc if you are correct, you will get a mission complete at the top. If it’s also the last issue on that day, or if you run out of time that day, the next starts. You keep the unfinished issues from the prior day, and may receive knew ones, depending on how far on the game you are. All issues have a count of difficulty between 1 and 4, and it scales between seven days between fibonnaci - with possibility to custom it off - values. So, in the 7 day you can have at most 13 difficulty 1 issues, or a mix between the difficulty levels.


base dayend diagnose graphs issues movearound npcs

App Vale - Porto de Tubarão


“This app was developed to a presentation room of Vale do Rio Doce in the Edifício Hélio Ferraz, inside Porto de Tubarão, and in partnership with Zor Design.

The system uses a desktop app that distributes the app to three bordless screens where the can be visualized images, videos and informations about Porto de Tubarão, and is controlled by another app on the iPad.” - http://www.d2rstudios.com/category/newmedia/

This project is from 2012 and remade in 2019 to use in a PC and Android with a better Networking system (UNet).


2012 Version

The 2012 version was made by two people. I was an intern at D2R and was in charge of the desktop version. Back then, Unity had no 2D so I had to make my own code to create the sprite system. I was a beginner in Unity so I did not know much of Coroutines back then, but, used a speed variable together with Update to make it work.

The communication between Mac and iPad was made by the other developer, and was a database communication.

2015 Version

2015 had a few changes made to the project, a few new files and a few expansions made on the iPad to visually allow more images per file - there was no pagination system on it.

The PC version always had the Resources folder and as long as the images are named accordingly, there is not need to change level design or code. It’s pretty much generate build after adding them to the project.

2019 Version

The 2019 version had the biggest change and had only one month to make it happen. I remade the iPad version from scratch to the new and improved way Unity behaves with mobile and made changes to the PC for an actual networking system and leaving OnGUI behind in this project.

The project went from prior to Unity Hub to 2018.4 version.


Blender Plugin


A simple plugin made to help the animator use less clicks when changing the textures of the facial expressions of the characters.

How it helps

It saves a lot of time for the animators. Around 3 clicks per keyframe in face swapping.


How it works

The facial files follow specific naming conventions linking them to the face objects.

Like CharacterName_Face_LeftEye would look for the folder in the root of the .blender file named CharacterName and inside would look for the Face folder, then the LeftEye folder. While in the Blender project, the Main body of the object would be CharacterName, with a face object named Face, then the LeftEye at the bottom of that structure.

Everything in there would be loaded under Facial Expressions to be chosen. There also is a button to add a keyframe to the specific moment in time.


Learn and do a plugin fast enough to be useful, work well in the pipeline, but not waste time since this was a side project for the company and not actual part of the job.


App Fiat - Personalização Fiat


It allowed the client to create his own sticker, by choosing colors and forms, visualize it in a 3D simulation where it would apply the sticker on the vehicle to see how it would look like and afterwards, buy the sticker on a e-commerce platform. This project we used a touchscreen PC and was a promotional event by Fiat on a selling stand on Minas Tênis Clube - Belo Horizonte.”


How it works

  1. Enter your name by clicking on “Nome”, not in the blank space, and type it in.
  2. Your email
  3. Birth year - it will be hidden from view, because it’s very common for women to feel uncomfortable with answering that question (at least in Brazil).
  4. Now, you can choose the car settings, if you want a already completed design or do one yourself, choose shapes, and so on. You can also rotate the camera.


We had 10 days to make this project, it was mostly a pitch from D2R to Fiat. As an intern an with only a year and a half working with Unity, I barely had the knowledge to do it, so I had to crunch and figuring out if I could find a plugin to help me with the decal system since the math for it was not that easy to understand (deform a plane to fit a mesh).

Since this project was for a company that owns the code, I cannot showcase.


restscreen datascreen choosecarcolor premadedesigns selectformat selectdetails selecticon placethesticker placethestickerback

Custom Defense


This was a project made for a Centennial project during my third term in December 2020.

We had two weeks to create a project that showed what was taught during the term. We chose doing a character customization with a twist. Since we were also allowed to do a tower defense, we wanted to make a tower customization for a tower defense game.


mainmenu tutorial emptylevel woodtower colorandflag fulllevel screenshottower