Employee Spotlight 05/09/2014
Logic Artists is pleased to present, Employee Spotlight number five! In this spotlight, we pick the brain of Meletis Stathis, one of our resident Software Engineers. In this spotlight, we discuss Meletis’ journey into software programming, problem solving, and games.
Where are you from?
I come from Greece. I grow up in a suburb of Athens called Elefsina where it’s close to the sea and today is a major industrial center. It’s a city of great Ancient history and it was known because of the Eleusian Mysteries, “the most famous of the secret rites of Ancient Greece”.
How long have you been working with Logic Artists?
I am one of the “second wave” of employees in Logic Artists. I started working almost at the end of Expeditions: Conquistador, April 2013. So, I have been a member of Logic Artists for more than one year.
What do you do at the Logic Artists Studio?
I am one of the three programmers. I am responsible for the implementation of all the cool stuff that the Hacker will be able to do in Clandestine. I work a lot on the GUI development, network coding, and graph algorithms theory. Occasionally, I also do some shader programming.
What was your training for this?
I hold a 5 years diploma in Electronic and Computer Engineering and a M.Sc in Digital Media Engineering.
Where did you do it?
I did my first degree in Electronic and Computer Engineering at Chania. It’s a city at the western part of Crete which is still my favorite place to be. Then I came to Copenhagen and I did my Masters at the Technical University of Denmark (DTU). I love Copenhagen for a lot of reasons but if I had to pick one it is the bike culture.
How did you get into this career?
From my first memories, I have always loved games. Not only video games but all kinds of games. I am also passionate about Computer Graphics. Video games combine both so it was kind of obvious choice for me.
How far back does your interest go in programming?
I am not a typical programmer where I start programming from the age of 10 or something similar. My first “Hello world” program was at the age of 17 at a course in my high school. I liked it enough to pursue an education in Electronic and Computer Engineering. I felt a bit behind though when I went to university. That helped me to work harder than ever before to improve my skills.
What other game or non-game projects do you put your time into?
Working on a game as your day job can be overwhelming and it’s tough. So in my free time I try to take some distance from game related projects. It’s a similar thing with the chefs. They cook very well but if they are at home, probably they won’t cook for themselves.
However, I am hugely inspired from creative programming projects that have some connection with dance or theater and I am fascinated with the projection mapping technique. Recently, I have been interested in projects with raspberry pi and electronics. I am also designing and building an automated watering system for my plants. It is great fun.
What kinds of digital games do you play? Favourites?
I have my favourites but I cannot put them into a category together because they are so different. For example, I loved every aspect of “The Last of Us” as well as I did with “Journey”. I am also fond of the “Assassin’s Creed” series and I highly anticipate their upcoming title.
“Proteus” is such a great game and “Prison Architect” seems really interesting. Finally, I enjoy also a lot of games from Nordic countries such as “140”, the classic “Limbo”, “Among the sleep”, and “rymdkapsel”.
What kinds of other games do you play?
I used to play a lot of basketball before a nasty knee injury. I have been introduced to “Magic the Gathering” by some of my colleagues in the office, and we play together from time to time. Moreover, I play board games and card games with my friends. “Carcassonne”, “Munchkin”, “Dixit!”, “Pandemic” and “Jungle Speed” are some of my favorites.
What is your favorite thing to work on at work?
I really enjoy when I tackle a difficult problem and at the end of the day, I am at the stage where I can say “Yes, this is solved”. I am inspired by my coworkers, I crave to produce beautifully simple code. My colleagues are really good at doing that. And I am most pleased when my code can be scaled easily and I don’t need to change the guts of what I have done in the past.
What is your least favorite thing to do at work?
Waiting… It just kills my mood. Loading bars, screens etc.. are just not my thing. Specifically, waiting until Unity makes the build to test the network code. My Nightmare scenario: the build has a bug and I need to wait 5 more minutes before I can see if what I did works!
What is your approach to problem solving?
Divide and conquer. I start by dividing the problem into smaller ones and then tackle each little problem one at a time.
Where do you go for inspiration and advice?
Twitter is big source of inspiring articles, projects or thoughts. However I believe that I get influenced or inspired from the people that I see in my everyday life. Some of my co-workers and friends have been constant sources of my inspiration. I like the passion that drives them and their brightness.
And so I also seek their advice.
As a newly educated worker entering the games industry, what were some of the things you did to get yourself hired in the industry? Do you have any tips for people new to the industry?
It all started from a student project that I participated in. I was part of a large team for a semester as a part of my Master’s education. The final project was a game that was made in six weeks and my team was nominated for the best student game in GDC 2013. I decided to go to GDC. There, I got a lot of useful information and contacts. I still remember some tips for this trip.
Use twitter to get to know people from your area of expertise, show people what you have done, don’t be shy, attend workshops, conferences, game jams and collaborate with people on as many project as your free time allows.
Take us through your daily routine at the office.
I am never bored. I start the day by getting the latest revision of the project. If I have not finished my task from the previous day I continue working with it. We normally have a variety of tasks assigned to each member of the team, and they can take from 1 to 5 days. At 10am, when everybody is in the office, we have a scrum meeting where we inform each other about what we were doing the day before, the problems that we might have experienced, and what we planned to work on for the current day.
For the rest of day I try to focus on my planned work but things can come up during the day such as: debug errors that are reported from the QA team, the implementation of new features, meeting with the designers and showing them updates on the progress of my tasks, meetings with the programming team, and code reviews. All of these are typically dependent on the progress of the project and on the current deadlines.
Can you explain what your master thesis was about?
My thesis was about fur rendering. Rendering realistic fur is considered to be a complicated problem in computer graphics due to the difficult reproduction of both complex surface models and of the physical phenomena with respect to light scattering.
I presented a method for generating the strands’ geometry in GPU with geometry shaders, distributing it along arbitrary triangle meshes and shading it with local shading models specifically designed for fur.
For the geometry part, first, I imported the mesh, rendered it as the triangle mesh and at the second pass as a point cloud. Each point would represent the root of our fur strands which will be modelled either as lines or triangles that follow a parametric curve.
Next step was to apply a noise function along the object’s surface, to achieve different strands colourization and more natural look by imitating the random curvature and direction of the fur strands. This is done by applying a procedurally generated volume texture. Then, I used two different local shading models specifically designed for fur rendering. The one is Kajiya and Kay shading model (Link) and the other one Angelidis and McCane’s shading model (link).
Finally, I used deep opacity maps for taking into account the self-shadowing factor in the fur lighting. You can check the deep opacity maps details in this link and here is my final presentation video:
Traditionally Fur Rendering techniques use a Kajiya shading model and they don’t use any technique for self-shadowing, so it doesn’t look quite so realistic, it is more convenient and easier in run-time. The model we represented in the project is more elaborate, it cannot be used in run-time currently, but very possibly in the future.(If you are interested in reading his thesis, Meletis invites you to contact him through email at: email@example.com)
You worked on a student game that received quite a bit of attention, tell us about the work you did on Blackwell’s Asylum?
Well, Blackwell’s Asylum is this First-person game that is set in a women’s asylum. The player is a young, unarmed woman, based on Nelly Bly, who has been heavily drugged by her ‘caregivers’ with Narcotics. The goal of the game is to escape from the asylum without being detected by the wardens.
I worked on various gameplay and visual features of the game. My main responsibility and what I spent most of my time on was the portals. There were these portals in the game world that were designed to confuse the player, they were seamless with the walls, undetectable. And when the player passed through them, it would move them to a different part of the level. The portals only worked in one direction, so once a player passed through them they could not go back. It would appear as if nothing was different as long as the player continued facing the same direction as when they passed through the portal, the moment they turned around though, the portal was gone and what they expected to be behind them had changed. It really played with people’s sense of self awareness. As I mentioned already, this was intended to confuse the player, to simulate an experience of “time loss”, to make them second guess their own behaviour. Looking back I think that was a very interesting project for me.
If you skip forward in this video to about 4mins 20 seconds you will see one of the portals in action.
What was your experience at game jams? Tell us about the games you made.
I have attended two game jams so far. I attended the 2012 and 2013 Nordic Game Jam in Copenhagen, Denmark. The organisers claim that it is one of the largest in the world.
The first year that I went to the game jam we made a game called “Beat that”. It was a fast-paced 2-player build and race game where player-one would “dig out” a 2D race path between a pre-established start and finish line. Then both players had to race to see who finished the level first and gained a point. If a player’s unit came in contact with any of the world elements (walls, or obstacles) they would have to restart. We didn’t have any artist on our team se we went for a very minimalistic approach with the visuals. Check it out in this video.
In my second year, our group made Oogball, a game in which the player controls sticky blobs which gain mutations on contact with plants. That year we aimed for something too ambitious for the 48 hour timeframe. We barely delivered something that was playable but we had fun while making it. You can download Oogbol here.
It’s really amazing to see such a big crowd of people gathered together for 2 days, showing great skill and passion, and making exceptionally good games/toys.
What part of Clandestine are you most excited about?
The asymmetrical co-op play mode of course. I think it will be a pretty unique experience for both of the players that are involved in the game. Each of them needs to apply different tools and skills to help the other and succeed in the mission. Both of them need to be sneaky, take decisions quickly and cooperate as a strong unit. I am sure that the players will love and appreciate this feature as much as we do.
Thank you Meletis, for taking the time to do this interview with us and sharing all the info! We look forward to more news on Clandestine in the near future!