Welcome!

Welcome on my page! I am Gautier BOËDA, graduated since September 2016. Master’s degree in Computer Sciences specialized in Imaging and Multimedia (French name: Diplome d’ingenieur), Double degree: Master’s degree in Computer Sciences specialized in Image, language and information processing and classification (IMALANG). Currently part of the Vulcanus in Japan program: selection among European student (down to 40) in order to follow 4-month Japanese courses and do an 8-month internship at one of the best Japanese company. I had the luck to be selected by Square-Enix.

In this website, you can find some of my point of interest like game programming and Japanese animation.

Current Project:
– Mastering Japanese language (Goals: JLPT N2 + full oral ability + 2000 kanjis)

Hold-on project:

– Dark chronicle like Game (Since February 2015)
Ploucs Messenger (Since September 2015 (Pause))
EasyLD (Since February 2015 (Pause))

Here is the links of my internship:

– Internship at Force Field VR (6 months: March 2016 to August 2016) Netherlands – Video games, Virtual reality, Experience, Research
Hierarchical Multi-atlas method (3 months: May 2015 to August 2015) – NAIST, Nara, Japan – Imaging-based Computational Bio-medicine Laboratory.

Here is the links for my Ludum Dare participation (I was solo) (48h game jam):
#LD35 – Listen and Shift April 2016
#LD34 – Growing/Two buttons December 2015
#LD33 – You are the monster August 2015
#LD32 – An unconventional weapon April 2015
#LD31 – Entire Game on One Screen December 2015
#LD30 – Connected Worlds August 2014

A recap of Ludum Dare entries can be found here.

Here is the links of ENSICAEN projects:
5th year:
– A port of the Tesseract game to the Mobiliz (With a company named REALYZ (Virtual reality company)) (Oct-Feb 2015-2016)
– Cf Internship
4th year:
TunnelGL : Make an OpenGL game in a week : Team of ~3, 1 week (Role : developer)
EasyGame : Boardgame framework : Team of 4 members, 8 weeks (Role : Team manager) (Dec-Jan 2014-2015: Best framework of the promo 2016 ENSICAEN)
– Implementation on GPU and optimization of some image processing algorithms (With a company named ADCIS) (Oct-Apr 2014-2015)
3rd year:
Go game – 2 programmers for 2 months. (French) (Dec-Jan 2014)

Here is the links of some other projects:
#ChatSoftware – Ploucs Messenger : A chat application with the volunteer to be better than MSN/Steam chat (Since September 2015)
#Framework – EasyLD : A game development toolkit (Framework + Software) (For Löved2D or Drystal) (February – September (pause) 2015)
#LDShare1 – Non Linear Three Worlds (48h game jam, in a team of 4 friends) (French) (May 2014)

What’s new? Spring & Summer 2016

Another 6 months has passed since the last time I wrote here. Nevertheless, this does not mean that I did nothing. These 6 months were the most exciting months with a lot of works in different panels again.

6-month Internship at Force Field VR

Let’s start with the internship I’ve done at Vanguard Games. I joined the company on the first of March, as written in my previous post. The first work I was involved in was a HTC Vive prototype, particularly to create a demonstration for a certain show. Since this time, my whole internship has been focused on the Virtual Reality field. From HTC Vive to Google cardboard, I had the opportunity to work with almost any single existing VR devices (Touch controllers, Gear VR, Oculus Rift, etc.).

Following this first game project, I spent 2 months and half on multiple research projects to target the Gear VR. This time, the goal was mainly to experience Virtual Reality on Gear VR and Google Cardboard, so by using a smartphone. Their power are really limited. Due to this, the goal was to find ways to get a render as realistic as possible without expanding too much the time to render a frame, and so the framerate. The experience was a 360 degrees panoramic video, with real time objects added. But also how to capture such 360 degrees panoramic video in the existing games of Vanguard Games.

At last, I joined for the last 2 month and half the newly created team around a new game project for GearVR. It was my first real game project and I learned a lot from the programmers I worked with, but also from the artists, animators, game designers and other colleagues that were taking part of the project. This was thanks to the small team we were, a huge experience that will definitely help in my future career. I cannot say much about it from now, but will detail later on.

For more information, Vanguard Games changed their name to Force Field VR, with their switch to VR in Spring 2016. Recently, Landfall was announced, a project where I didn’t work on but participate to the capture of the 360 degrees panoramic videos.

My internship at Force Field VR allowed me to experience for the first time a gaming industry, where I felt in love with. Working there was a pleasure everyday and pushing forward any project in the virtual reality field was a blessing. Learning everyday was certainly the most important thing I will ever be in debt with. The knowledge I acquired will definitely help me in my future career. So, thank you all again!

Ludum Dare 35: Shapeshift (Theme)

Listen and Shift - LD35

Listen and Shift – LD35

To get back to my life during these 6-month internship, the first month had a Ludum Dare event where I nevertheless almost failed to participate. Being already busy with a lot of administration stuff due to my move to the Netherlands and the start of my internship, I almost had no time to prepare anything this time. I got frustrated by the theme, and at the same time by the number of bugs I ran into in my first hour of test. However, the next day, I woke up with motivation, with an idea that might be doable in just 12 hours.

Surprisingly, I managed to get the game out, polished, with all the things I wanted in. The marks were also surprisingly good and comforted me in the fact that you should use the first 6-hours of a Ludum Dare to think deeply about your game, the fun, and what makes it different, innovative, and memorable.

This game is axed around what you hear. The goal is to reproduce a sequence of letters with the keyboard depending on what you hear. For instance, if the game says Dog, you have to press D when required. The funny part comes when new rules are added, such as “Enter the last letter of each word”, or “Spell the word”, or other even “A Square is followed by a Circle” which means that each time you hear Square, you have to also enter the correct key for the circle. It was funny to record with my voice, as usual.

#87 Innovation 3.87
#133 Audio 3.49
#173 Graphics 3.70
#263 Mood 3.24
#332 Overall 3.36
#450 Fun 3.16
#669 Theme 3.04

The innovation mark is certainly the most interesting one. First time reaching a top-100 in one of the field. Most of my Ludum Dare games are trying to be different, are trying to innovate and I was proud to get such a good mark for just a 12-hour developed game. I also signed my best Audio mark, thanks to my voice along side the music. As it is an audio game, I pushed a bit of work on this side, more than usual, and it worked out. Moreover, my Overall mark is really close to the best I ever got. 3.51 is still the best, from the LD34, but with 3.36, I did good enough for 12 hours and was not expecting much. At last, I usually put a lot of effort to represent the theme as best as I can, even if the Fun or the Innovation part might be cut a bit out. This time, I thought I did a good enough representation of the theme, but was not proud of it. The result shows it. This theme definitely did not inspired me but still managed to produce an interesting, fun, innovative game that was different from the 2000 other games. Please, try it out!

My goals for the next Ludum Dare is of course to create a game that will figure in the top 100. To do that, I still have to figure out if I want to continue with Love2D or Drystal, or move to Unreal Engine or Unity. I need more time to think about that, and my current status does not allow me to work a lot on this.

Moreover, this summer, a LD36 took place but was not part of an official one (No grades). I chose to not participate in order to let me end my internship in the best condition, do my graduation oral presentation and my report and focused on my Japanese for the upcoming trip.

Vulcanus in Japan

In January 2016, I applied to the Vulcanus in Japan program. A program between Europe and Japan who select the best European engineer in order to give them 4-month of Japanese courses in a Japanese University in Tokyo and an 8-month internship in one of the most important company of Japan.

In the end of March, I received the result of the first selection. I got selected among more than 1000 persons for the second step. We were approximately 120 people at this stage to fulfill around 40 positions. I was already really happy for having been selected among these students, so I put all the energy I had to focus on this next step. The second stage consists by choosing one of the internship proposal that were available on a list sent by email, and apply to it with a coverletter. Among this list, only one gaming company was there, Square Enix, and otherwise a lot of interesting research focused company. I already knew that applying for Sqaure Enix will certainly be where I will have the less luck to be selected because a lot of these 120 students will target this internship as well. Nevertheless, by reading the other internship, the one from Square Enix was too interesting that I decided to just try it and if I don’t get then there will be other possibilities for Japan.

So I applied, I got interviewed, and luckily, in May, I got selected among them, being the only French that will take part of this program this year. My level of happiness was over everything, just totally crazily happy. And I won’t thank enough this program for offering me such an opportunity to link both my hobbies with my work in a place I felt in love with when I came last year.

Obviously, now, it has been a month since I am in Japan, since I am enjoying every single bite of my life. Doing the best I can during my Japanese courses, and now being able to read, understand, and speak a casual and normal Japanese. Still two months to go for these courses, but I already that I will reach a level that I would not have been able to reach without this program. So, a big big thank you to this opportunity and I will inform later and the upcoming internship and events that I will do.

Next goal: JLPT Level 2. I failed the test in July, but I took it to have an idea of it. How hard it is, how long it is, how tired I am after each part. How slow I am to answer, etc. So now, I know that in December, this year, in Japan, everything will be with me in order to get it this time. And if I get, I guess I won’t be back to Europe in the coming year!

Graduation

At last, my student life took an end in September, almost because with Vulcanus in Japan I still have a report to do monthly and courses to follow. I passed all my exams. So I am now with a French engineering diploma in the IT field (Equivalent to a Master’s degree in IT), specialized in Imaging and Multimedia, with international mention due to my two internships abroad. Moreover, I also succeeded in my Double Master’s degree (Master’s degree in Computer Sciences specialized in Image, language and information processing and classification (IMALANG)). So, this 2015-2016 year was even more incredible than the 2014-2015 year was. In 2014-2015, I got the possibility to go in Japan, a place I always wanted to experiment a day. In 2015-2016, I found an internship in the Virtual Reality field, a field I felt in love with during my 3rd year project but also earlier at some exhibition. This internship was moreover abroad, which was exactly where I wanted to expand my knowledge. Working in English everyday is something I was looking forward to experiment a day, so it was perfect. At last, I got my JLPT n3 in December out of nowhere and found an internship in Japan in a Gaming Industry, in a field where I want to work on, in a place I felt in love with, and this thanks to Vulcanus in Japan. So, the success of my two diplomas are the cherry on the cake (Ah, Someone is telling me that this expression is only understandable in French :( Well, whatever! You get the idea). So, gradually, my years are becoming better and better, more incredible after every month. I am so happy to be where I am, to have been able to reach such a level, such a life. I will never thank again my parents for having helping me during all these years, all these long years of studies to allow me to reach my dreams! I am looking forward to 2016-2017. I already know that it’s the best year I ever had. I will do my best, even more than before and due to that, my personal projects will be paused temporarily.

Conclusion: What’s the plan?

I do want to program again with Unreal, so I might start a project on it next month or if I have the time this month. I am focusing a lot on my Japanese studies so it’s not as easy as before. I am also going out a bit more than usual due to the fact that I am in such an awesome place that I want to see everything. Bear with me a bit, and I will be back for the next Ludum Dare, I promise.

Enjoy your life, and follow dreams!

What’s new? Winter & Spring 2016

Hello everyone, the year 2016 has been pretty busy! The 3rd year at ENSICAEN was incredibly weirdly distributed. The work load was heavy from December to February. Because of that, I didn’t even have the time to work on my own project.

Good news everyone: I am free now!

To recapitulate the things I achieved from November until now, let’s take a look at this period!
In November, I started to work a lot on my Japanese in order to pass the December JLPT N3 exam. Just a month ago, the results were available and “” was written on the paper! A success which leads me to take the Japanese language learning even more seriously. おめでとうございます! I am intending to take the JLPT N2 exam at Leiden, Netherlands on July 2016.

More over, as part of my final year of Master’s degree, I had to find a 6-month internship. I started to search one that will link my both passions: Games and Japan, and ended by being troubled by the difficulty to find an internship in Japan. Indeed, the definition of internship is not that present in this country and the answers I got wanted a one-year internship instead of 6-month (a bit too short). Despite that, I decided to find an internship in a European video games company. I finally found it at Vanguard Games. I am then, since March 1st, working at Vanguard Games in the Netherlands in an amazing team on a virtual reality game using HTC Vive VR helmet! I am really happy to be there and I am giving everything that I can to make this internship perfect for both me and Vanguard Games. Example of their famous games: Halo Spartan strike, Halo Spartan assault, Base busters and Greed CORP!

Also, I wrote a new little algorithm to generate a dungeon that will be as close as the ones in the Dark Chronicle game. I used Unity as a support to see the result in 3D, and the result is quite interesting!

Random Dungeon Generator

The code is available at https://github.com/Goutye/RDG but you will need some assets. The next goal is to make a game with it, but currently involved with the learning of Unreal Engine for Vanguard Games! A game like Dark Chronicle is something that I am aiming in the end, but will take a lot of time!

At last, I will participate in the next Ludum Dare event on April. I will certainly use Unreal Engine or Unity, depending on the situation. There is a possibility that I will aim the 72 hours format to allow me to use assets and have a better game. We will see!

See you soon for the recap’ of my last Ludum Dare game!

[LudumDare] #33 – You are the Monster

Empowered Darkness

Empowered Darkness

 

And another LD entry added to the other one! My fourth. I took quite a bit of time to write this post but because I am currently involved in my second year of Master’s Degree, I was quite busy. I would like to say too busy due to the extra challenge I was involved: JLPT. I wanted to push my learning of Japanese a bit further than I was usually learning it just to keep me working on my Japanese skills. Because of that, and a lot of stuff at ENSICAEN (projects) as well as searching an internship that really interest me, I was currently totally busy. Now, the JLPT3 has been taken during the last weekend. I am now a bit freer. That is why I am writing this beautiful summary, just some days before LD34!

Trello – Organization of the tasks

The goal this time was to create a good mood as well as always trying to innovate. The graphics was also a part I wanted to be a bit better than the other participation. Because of that, I strongly thought about my game before writing any code.  The first problem was the theme “You are the Monster”. Not really inspired, just some classic ideas that I didn’t really like. One thing was sure: I wanted to use my new system of parallax. And then, I came up with an idea of Dungeon, but where you are the MonsterS. Yes, the MonsterS. Not really happy with it but it was the best idea I got.

The player will control 3 different monsters. One will explode when touched or activated. One will push the player with a strong breath, doing no damage. And the last one will spill out a flame line just ahead of him. The goal will be to manage to kill the really powerful Hero who is coming to destroy your dungeon and get the golds you stole. Each time you kill the hero, you will get his own money and build new floors deeper and deeper. The limit was seven floor due to the limitation time. Each floor has its particularity. One is perfect to push the hero in the lava. One is perfect to attract the player in a tight way and explode. And obviously, a special LD floor was created. The cool feature I had was the name of the Hero. The name pool is quite interesting and if you are lucky, you can get a Moon Moon hero. Of course, your monsters have only a few HP and will not survive eternally. So, you have to cooperate rightly to kill Hero after Hero. The end is when you failed, a day, due to the grinding of the Hero power. Thus, you will see who stole your money and who you killed. A special end message can appear if you are killed by Moon Moon or Mike Kasprzak (Ludum Dare host).

Game footage

I chose to start with some basic graphics and 3 maps in order to make my system working. And as always, I started to program the whole game. The first thing was to do the different sort of AI for the different monsters the player will have to control. Collide, and every simple stuff was also done in an hour and a prototype was there. After 16 hours, the basic prototype was fully done. Everything was going well and I starting to think about the design of the monsters. I decided that they will be some kinds of robots and that’s all! I am not a great designer when it comes to create some sprites. I will have to train myself I guess. The first 24h done, I took some sleep, with 75% of the design done (including the retake on the tiles). Five hours of sleep later, I worked on the level design of the last levels. I had the different indicator and started to polish the game. The end screen as well. In the last 8 hours, I created the SFX as well as the remaining missing graphic part (Hero sprite :O). The title screen was done in the last two hours and was quite interesting! One of the best I made certainly. And at last, the sprite of the treasure chest was done in 10minutes due to an oversight!

In the end, I am pretty proud of the game I did. The mood is really great even though the theme seems to be a bit badly interpreted. However, the result are there and I can see that it was not that bad finally! Best entry I did!

#203 Innovation 3.44
#293 Mood 3.24
#333 Audio 3.00
#337 Theme 3.59
#394 Humor 2.88
#410 Overall 3.19
#470 Graphics 3.09
#547 Fun 2.91

Innovation was one of my priority, and that’s it! #203 is the second best rank I got in this rating (First was the last entry, LD32, #137). My preferred mark is the Mood! 3.24/5, first time I was able to score that high in that top! Really happy about it and the game deserves it. As always, Audio and Graphics are on the same marks. I thought I did a better job than the previous LD regarding Graphics, but it doesn’t sound like it. Certainly because of that crappy lava! The theme was “well interpreted”. Simple, but fine enough I guess! It was a mark that I was really waiting for. Indeed, since my first entry, I was unable to get a better mark than 800 and higher (really bad mark by the way). This time, I scored #337, in the top 30% of the people, which is totally great! A remember about the #189 I did on my first entry :/. Last but not least, the Fun mark. Not really happy, but not really sad about it. It remains the second best mark I got in such a top. The best one was on the last LD with #349 and the other marks were really high (900 and more). I will certainly have to focus on it a bit more than I did this time!

In the end, the overall mark is my second best one, really close to my best one (LD32, #401). A bit sad about it because I really feel this game deserves to get a higher mark than my other participation due to the mood and the whole stuff. I took really the time to refine the game but it was not enough. Not funny enough I suppose. One thing is sure, my marks are homogeneous which is the first time in my LD career!

End screen

Coming next weekend,  LD34 will certainly be a “hit or miss”. I want to create something “out of the box” or at least not using the thing I already have. I want this time to create something in just a few hours due to my schedule (Internship are my priority!). Let me surprise you!

Play the game: http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=37076

Third Quarter of 2015: Ploucs Messenger

Since September, 13th 2015, I have started a new project named “Ploucs Messenger”. The idea of this project was born in January 2014 in one of my circle of friends named “Ploucs”. The idea was to get a personal group chat fully customizable. We wanted to have a HUB which shows the news, some posts of the forum, and some other plug-ins added to the main functionality: the chat.

Unfortunately, in 2014, my skills of network were not that high added to the fact that I have some other projects. Furthermore, I didn’t learn C++ programing neither a good library to develop quickly a software. Now, with Qt, I felt as I have all the tools to begin something amazing and quickly. This project came back to my mind with some new ideas and decided to explore deeper and deeper Qt library and C++ programing with this project.

Concept art of the HUB (2014)

Ploucs Messenger – What’s this?

The goal is to create an interface where we can add any plug-in we want such as:

  • Forum
  • News
  • Calendar
  • Script
  • Little Game
  • Dictation as a Game (I R`FM like)
  • Bot (Gustave)

The difficulty was at first to have a sort of server. This was solve by using a website and a ping each 100ms. However, it’s way better to have a real server which can keep track of the user connections. That is why the first Ploucs Messenger designed in September 13th was a TCP server.

Added to these features, I came up recently with some new ideas like a fade-in fade-out chat application when the mouse cursor moves in-out of the application. This will allow us to watch a video in full screen mode with the chat over the video as well as a video-game in the future.

Why now?

I wanted to start something different from the other months. I already programmed more than 4 games in a year and feel like I wanted to change. Earlier, I said that my next project will certainly be an OpenGL game, which is always on my planned tasks list, but because the Plouc’s group just reached a sort of reborn, it was the time to start Plouc’s Messenger. The goal will then to develop “the best” chat software regarding my group and after the world. For that, I am listening to everything the Plouc’s members said and try to implement as best as possible the best rated features. Banou is then the designer of Plouc’s Messenger and will be responsible of the whole art effect and other stuffs and Fox a tester as well as a sort of community manager.

And a release date?

I will not say that “This will be ready for early 2016″ because I don’t want to wait to get the general opinion on the different features I implemented after a lot of time. I want them now, as early as possible. For that, I am releasing a version each week with a bunch of new functionalities and the software is already usable. A sort of “Sprint” development method. However, the goal is to prepare the code for the other functionalities such as “Groups admin” and so on. So, the code has to respect a certain organization and try different methods to solve the same problem to choose the best one.

Interface - October 2015

Interface – October 2015

As a conclusion, I would like to say that this year will be a very busy year. I am involved in a new ENSICAEN project with a company named REALIZ which works on the Virtual Reality field, the field I am really interested in since the first time I was able to play video games with an innovative way, such as Wii or Kinect and so on. I will soon post about it! So, see you next time!

[Internship] NAIST – Imaging-based Computational Biomedicine

ICB Lab

Hello dear Gentlemen,

Currently in a 3-months internship in Japan, you might have seen that I didn’t spend much time either on my website or my EasyLD project nor 3D project. As expected, 90% of my time is dedicated to my internship, especially during the last month (this one). Quite a huge report to write, but also try to get the best result I can have with the work I am currently in.

So, what’s exactly my internship?

Good question. First of all, this internship is “Confidential”. I will try to explain my work but I will then be limited by the amount of data I can shared.

Where is your internship?

Currently at NAIST, near Nara (or Osaka) in the Kansai area of Japan. NAIST is one of the best University of Japan. I am working in the Imaging-based Computational Biomedicine Laboratory (ICB Lab) (Official website).

What about the organization?

The starting hour was 9h, until 20h approximately, depending on what you have to do. And this, 5 day a week. You was able to take some pauses (for example to buy some foods, or do a jogging). Each other week, a meeting was planned to see how the work is going on and discussed about the new possibilities and the future work. Each Monday and Wednesday, a meeting with all the members (Master 1 as well) of 2 hours and half explained some classic papers of imaging-based algorithm as well as bio-medicine. Some times, we had some business trips, like the visit of an endoscopic surgery using 3D glasses. We were welcomed by a welcome party, and each Friday night, the master 1 and some of the staffs lead a Nabe party to share happiness and conviviality. The labs got its first foreign student with our arrival. Following by another French master 1 and a doctoral student from America. The discussion were mainly in English regarding the meetings, but outside of them, Japanese was the first language. So, I had to learn as fast as possible the remaining missing words! (I already started Japanese courses in France, so it was sufficient enough at the beginning, but not enough to read a newspaper).

What about your work?

I am working on the “Hierarchical Multi-atlas Method” created by Prof. Yokota. My goal is to expand his method and try to improve it as much as possible. I will not speak about how this method works but only on what I am working because of confidentiality purpose. This method is applied to the femus/hip area. The goal is to segment 20 muscles of the hip with as less as possible manual segmentation. For this, we get 20 CT data-sets with their ground-truth of the 20 muscles. Here is an example of a launch:

1) We want to segment the 20 muscles of the target. We do not have any information about the target, except the CT images.
2) We got a multi-atlas of 19 atlases with their ground-truth of the 20 muscles. We will try to registered each of them to the target.
3) We do some kind of stuffs (confidential) to get the 20 muscles of the target.

Hierarchical Multi-atlas method (Available on the icb lab website)

My first work was, obviously, to understand his method, try to launch it and get some results. Then update the CT data-sets because 2 years ago, only one CT data-sets got his 20 muscles segmented. I did some manual segmentation because some muscles (3) were missing, using “Vincent” a software by Fuji-film. First time for me, because my university courses are not directly related to medical imaging. So, a great new experience.
During this work, I was able to do a study about how each step improves the final accuracy. This was really interesting because we saw that the use of every data-sets doesn’t mean that we will get the best segmentation of the 20 muscles of the target. In fact, some atlases can be a bad representation and will not help to be more accurate. This will lead my future works.

My second work was to improve this method as best as possible regarding different possibilities. Firstly regarding the last stage with “How to select the best atlas” question. Because of I am working in a laboratory, this step was a research step with some directions like SFS (Sequential Forward Selection).
This work was directly followed by a big work on an use of SFS algorithm for the 2nd step. The work consisted in the programming of the algorithm, but also on how to improve it and a study about the efficiency. I had to compare the standard SFS they used with my own sort of SFS totally different from them. My SFS was based on the target to get a result directly linked to the target when we are computing the similarities. Their SFS was about guessing a best combination of atlases inside the multi-atlas, without the target. My thought was this will not help enough to get the best final segmentation because we chose the best combination of atlases for the multi-atlas and not for the target. My SFS was a choice of a best combination for the target. The main idea was to combined both SFS to get a best segmentation. This is where I am currently working on.

The second work as you see seems to be quite long, especially because of “Research”. We don’t know which algorithm will be the best, and we have to do quite a lot of study, and experiments some new ways. Seeing the remaining time (3 weeks), I will be in a rush to end this as best as possible, and writing my report as well. I am really passionate by this subject, so I am feeling exciting by the result I will get, but also stressed because of the remaining time. I am quite sad to not be able to explain my research more than that because of confidentiality, but I hope this document showed you enough on what I am involved, and what kind of stuff I am doing.

The research domain is finally something that I can really think about it but I will wait next year to really decide where I will go. I really like to develop games, new stories, new way of thinking and new game-play as well that working on the medical field cannot be the best idea, even though there is innovation. I hope my next internship will be in the game development field! But before this, I will create another games for my next LD! And guess what? September will be a programing month, and I hope this month will not be a solo programing month ;) Maybe a cooperation with friends to sell a game at this end of the month (or two month? I don’t know, depending on the idea (I already have quite a lot)). Why selling? To see if I am able to end a game. Because every time I create a game,I stop after some times or don’t try to improve it. I have to push myself ahead because next year is my last year!

Moreover, I am now able to speak as well as English than Japanese even though my Japanese remains a little bit too low. Currently working on improving my basics of German because of shame. I hope I will be able to speak in German as good as my current level of Japanese and I hope that my level in Japanese will catch my level in English a day! Fluency, fluency everywhere! (English, Japanese, German and French, let’s try Korean!)

[LudumDare] Recap of the #30 #31 and #32 edition.

At the beginning, it is important to put the figures of the last 3 LD :

LD 30 : 1493 compo entries (Connected worlds)
LD 31 : 1364 compo entries (Entire game on one screen)
LD 32 : 1353 compo entries (An unconventional weapon)

As we can see, it’s globally balanced. I will balance them anyway when I will put my personal results.

The ludum dare 30 was my first one and it is normal that my game was not really totally finished. As I said in a previous post, the troubles were that I had a lot of ideas and I wanted to add all of them in the game. But due to the time, only a part of them was in and the remaining ideas stayed in my mind. The other problem is my game was not fun, not polished and too complicated. I was almost the only one who could understand my game. But anyway, a lot of things was made during this edition and I was proud of the amount of things I programmed.

The ludum dare 31 was a short edition for me because of exams on Monday. However, I decided to program an introduction to my game axed on Frozen. This cost me a lot of time in my 28 hours available (8 hours at least). The problem was that my game got no real mood. A little bit, but not enough. The story was weird and the game was again too complicated. But complicated also for the programming part because a lot of random things needed to be balanced. My boss was amazing in the programming side, but not as amazing as I wanted in the player side. The global idea was innovative because the boss was able to be better and better, fight after fight. Exactly how I wanted it. The theme was normally correctly implemented but, due to the introduction, this was not really the case. Again, I need to focus myself on a simple game, not a complicated one. And also, an implicit tutorial would be better than many tutorial screens.

The ludum dare 32 was a full edition with my new framework named EasyLD. Instead of Löve2D, I programmed with Drystal, a lua game engine. This edition was really good because I wanted to make a better game than the first two entries and also because I had a great game idea. However, the colors/mood were not implemented and no story is in the game. So it is just a game, no more. I need to focus myself on it next time. I respected the rule of “make a simple game” but because of the theme, I was under the obligation to add a boss part, which was a little bit bad. The remaining things were great but next time I have to work on the mood and story, added to the theme. If I can do this, I will be able to make an amazing game. Think about it a lot before programming it, and you will be able to make something great!

Now the results: (I balanced the top on 1500 entries to show the real improvements)

Overall

  1. LD32 3.33 #401 (444.5 : 30%)
  2. LD30 3.02 #746 (749.5 : 50%)
  3. LD31 2.68 #1025 (1127.2 : 75%)

As we can figure it, the 32th edition was clearly the best one with an entry in the top 30% of the ludum dare programmer. I can be proud of it because it was my goal. My first entry was on the average, a good one so. And the LD31 was clearly a bad one because of time and the complicated features I tried to implement instead of making something fun. Next one, I will try to be on the top 25% at least!

Now, the best category in which I do the best things, each LD :

Innovation

  1. LD32 3.70 #137 (10%)
  2. LD30 3.29 #458 (30%)
  3. LD31 2.10 #1126 (82%)

At first, I have to say that the LD31 was really innovative in the way the boss can evolve but the most part of the players which play my game was stuck on the introduction and don’t skip it, so the innovative rate is not at all representative. The innovation can be read on the LD31 post. For the two other, I am happy to see that each time I am on the first part of the top. Best entry was the LD32 edition were I was able to create a really good game. Top 10% is I think something that I want a day to get for the overall part. And I have the skills to do it. I am just a little bit too quick at the beginning of a LD. I need to think of it a lot before starting the programming.

Fun

  1. LD32 3.31 #349 (25%)
  2. LD30 2.62 #918 (61%)
  3. LD31 2.45 #1034 (76%)

It was my goal for the Ludum Dare 32 edition, and I did it. Top 25%! Regarding to the last two entries, I was really bad in this part because my game was too complicated to be quickly understadable. I was able to create an implicit tutorial which allows the player to directly play the game without reading anything. This is something I need to keep in my next entries.

Theme

  1. LD30 3.75 #189 (12%)
  2. LD32 2.87 #880 (65%)
  3. LD31 2.73 #1131 (82%)

Each time, the LD31 is the bad one, but it is understandable enough because of the introduction here. I made something really amazing during the LD30 which consists to link two worlds. This is why the theme was really well-implemented. For the other ones, I said I had no idea how I can link the unconventional weapon theme with my game enough to get something funny. I keep the funny game I had and I added the theme to it which was not enough. However I limited the bad rate. Just good enough. This is something I need to work on for the next entry. But it really depends on the theme!

Humor

  1. LD31 2.80 #354 (25%)
  2. LD30 2.71 #337 (22%)
  3. LD32 2.28 #785 (58%)

I didn’t add a story to the LD32 game, so the funniest part was to kill the boss. Not enough at all. However, when I was able to add a story, I was able to generate some humors! And I think it is great enough! Top 25% on both LD where I created a story, so if I can develop a real story around it, I can get a better rate easily. It is not that complicated! Story remains the master word for the next ludum, with the word MOOD.

Mood

  1. LD30 2.82 #700 (47%)
  2. LD32 2.72 #729 (54%)
  3. LD31 2.41 #927 (68%)

The thing is clear. I am just on the average, no more. I never add a real mood to my game, just a little one which is just enough but not as clear as a real one. I need for the next ludum to create a game where the Theme, the humor and the mood fit well. For that, I need to get a story, a good theme implementation and a good choice of design! If I can, I will be able to get a master piece. The mood is the key if you want your game to be great, to be remembered. Of course, the fun part and innovative part is clearly something that you need to have. But as we can see, I am able to be really good in innovation and fun. So, let’s work on a story, a mood which can be remembered my game in the mind of the player. A mood where the player feels totally in the game. Hard I think, but possible if I can think about it a lot before programming! I have the time, I know it. Don’t hurry yourself.

Graphics

  1. LD32 2.74 #736 (54%)
  2. LD30 2.67 #827 (55%)
  3. LD31 2.35 #1015 (74%)

One rate where if you make a great game, you will get a better rate even if your graphics skills were bad. Why? I don’t really know but you can see it with the difference between LD31 and LD30. The LD30 graphics style were really bad, and the LD31 graphics were clearly better! However, the rate are the opposite. You can see the same between LD30 entry and LD32 entry. The graphics were clearly better with some AreaAnimation and SpriteAnimation, however, the rate are the same. Weird. It sounds like if you make just average graphics, your rates in this category will depend on the other rate (overall/innovation). One thing is sure, I need to homogenize my graphics around a mood, a theme, a story. I need to choose a style and when I chose it, focus myself on it. The LD32 entry was not at all in this definition because the upper part was abstract style and the bottom part pixel perfect. I will think about it but it is not a priority at all. Mood first.

Audio

  1. LD30 3.03 #367 (24%)
  2. LD32 2.92 #433 (32%)
  3. LD31 2.54 #655 (48%)

The audio part of my games seems to be just enough to be well rated. A top 33% if my game got a high overall, and a bit less if my game is clearly bad. But always over 50%. I think I will keep this way because audiotracker.py with a combination of track for LD31 helps a lot to get a good music in a short time. I want to work on it, but I don’t have the time now. I will see if a day I can be better. Not now. SFX is good and the idea of voice “KO; WELL PLAYED…” was really great. I will keep them and SFXR too. 3.03 is really a good mark !

So, in conclusion, what can I say. A master word for the next entry : MOOD. And trying to fit the theme. So I can recapitulate this on the following list:

  • Story: Create a great one. A little one.
  • Mood: Around the story, and fix it.
  • Theme: Think about it before and after the beginning of the LD. Don’t hurry.
  • Innovation: Be as innovative as you were.
  • Graphics: Focus on the mood, a unique style.
  • Audio: Be as always. It is fine.
  • Humor: If you get a story, I trust you.
  • Fun: You show us you can create a funny game. Do it again.

Thank you for reading. This article will help me a lot for the next entry! I need to work on EasyLD now and my Internship. Of course, I need to keep the Trello part of LudumDare because it helped me a lot. Normally, the next entry will be more amazing at the last one! Keep going!

[ENSICAEN] TunnelGL, One week of OpenGL

tunnelGL

The project was to create a simple game using OpenGL. At this moment, our skills in OpenGL were really limited. So we needed something as simple as possible as a game. And then, started to improve it! We got a week to develop this game. We were in a team but only 2 of us was able to program the game. The third one created the ship.

This project was launched in a week where we didn’t really get the time to develop such a game because of the end of the scholar year. We wanted to finish the year project before starting to develop this game and that is why I was not really sure if I will post something about this project. But the things were better than expected! We got a free day on Monday, therefore the weekend was pretty long and we were able to program a lot of things.

We chose to develop a game where the player is in a tunnel and has to avoid the obstacles. The tunnel was programmed to be a straight cylinder with the same radius all the time. The colors change with the Z position of the edge. We got something like a rainbow, and it was pretty funny because it was just a test to see the different portion. The obstacles were design to be white, with a gradient from the edge of the tunnel to the upper edge of the obstacle. The effect we got was an “ice” style. We added a spot light to illuminate the upper edges of the obstacles. Then, the ice effect was completed with a beautiful white on the top!
For the obstacles design, they are not an object we added to the tunnel, they were directly generated during the generation of the tunnel. Therefore, The tunnel is generated with holes and obstacles by a matrix which represents a portion of it.

HUD and Game

For the game, we adjust the speed of the player to be increased with a boost (Only the Z component). And we adjust the angular velocity with the Z speed to allow the player to success in every section of the tunnel he encounters on his way, whatever the speed he had. As I said earlier, we cut the tunnel in sections. A section is loaded with a matrix and a matrix can be design in a .txt file with your own skills. The limitation are 12 sides and a multiple of 20 for the length.

Now the ship: you can go left, right and boost. When you use the boost, the camera comes closer to the ship to simulate the propulsion of the ship. We added a camera shaking to improve this feeling. The higher your speed is, the closer to the cockpit you will be. For the score, we double it when you are boosting your ship. Elsewhere, it depends on the speed. Each 10 sections, the tunnel levels up and generates harder section. From this moment on, we got a beautiful game, very polished and programmed with a lot of love during an incredible weekend of 3 days! We added some sound effects and there it was.

I was really passionate during the development of this game because I really like OpenGL. It was a great experience. I think now I can start to make a new game using this technology. A goal for the future! :D
When this game was developed, I wanted to add some stuffs to it. But my project manager didn’t find it really interesting enough to be added. I will develop them here now because I forked the project to save my work on the new functionalities I did during this weekend. The first one is some curves for the tunnel and a variation of the radius. The curve were too straight to be added but the variation of the radius were perfect. But it was not the same game because these functionalities change the game a little bit too much. So, I will put both versions available to download at the end of this post. Another improvement was the following of the side by the ship. In the first version, the ship follows a circle around the center of the tunnel. In the modified version, the ship follows the form of the tunnel, so you can feel the ground of the tunnel. I like it, but as the ship flies, this is not really something my project manager wanted. :>

Release version : 1.0 TunnelGL (Windows)
Alternative version : (Coming a day when I will get the time to update it)
Github : https://github.com/Aomeas/tunnelGL

Ideas for the future :
* Generate a portion with a number of sides different.
* Make a real curve
* Propulsion effect on the ship
* Redesign the ship
* Create a real music

[LudumDare] #32 – An unconventional weapon

Titlescreen

Titlescreen

After a full week of work, I am now able to start speaking about my entry to Ludum Dare 32 edition. This is my third participation, and as we say : Good things come in threes!
For the first time, the theme didn’t inspire me so much. I had some troubles to figure it in my game but I thought about it alot and I found a way to implement it. The game I wanted to create was a game where you need to stay in collide with a way until the end. That was the idea. I used some stuffs to help me during this LD like Trello, papers, good organization of my screens. My goal during this LD was to make a better game than the two others and to make a game which will need no tutorial (implicit tutorial was made o/ ).

For the weekend of April, 18-19, I was in my family house. So, I didn’t have my home computer but a laptop with only one screen. I brought my keyboard and mouse of course to help me a little bit with this exceptional disposition. I slept less than 6 hours, so 42h of programing + one extra hour for the release/debugging of my game.

Trello, used to keep my ideas and to follow my advancement.

For the first time, I was using EasyLD, my framework dedicated to LudumDare games. EasyLD is always in development and I changed/updated some stuffs in EasyLD during this LD. I need to commit them when I will be able to check them up. Also, I was using Drystal instead of Löve2D for the release and debugging of my game. The game works under Löve2D due to EasyLD but in a darker version. I need to check why in the following weeks but I think the error is due to the color buffer which is not free/reset. Anyway, it is not the place to figure it out. I got the time to use every functionality which were in EasyLD like MapEditor, Anim8Editor, SpriteAnimation, AreaAnimation and others! I earned a lot of time and that is why this game is the best of the three I made. But my thought is I lost a lot of time due to the no-inspiration of the theme. During the first 5 hours of the second day, I was just playing my game, thinking a little bit about it but not really passionate. Hopefully, after a shower, my mind was better and I was really motivated.

The first day, I was able to get in the first hour the spirit of my game (8 hours). I had the time to add some tweening and color effects and started to make some designs by the end of the day. The programing of the bottom path was a little bit boring (with the boss too) because of the theme. That was a good idea, and I love my sprite animations and the way to beat the boss. But the path with the tower (with the grass and the bonus) were not really an interesting idea and were just here to add a mood to my game. A story. Because I needed to have something between the beginning and the boss. Maybe a full boss fight will be better, but for this kind of game, just the upper part can make a really good game! The theme is important, that’s why.

The second day, I was starting to be bored. But thanks to the shower and my trello, I was able to do some stuffs anyway and to start to add a lot of levels (48 at the end + 1 for the boss). But the game design of some levels was a little bit repetitive. I hadn’t enough of time to program all the things I thought like a cursor for the player which throws a “boomerang” which helps you keep in collide with the path. The SFX and musics were added during this day. I was using audiotracker.py this time, with the classic SFXR. After that, I polished a little bit my game and added a titlescreen and an endscreen in the last minutes of the chrono. One thing was missing in my game : particles! I wanted to add some when you are grinding the path, with a sound. And some when the boss was dying or was hit! That could be funny! However, a lot of stuffs was made and I am really happy. The feedback are going well currently! We will see the result later.

Bonus, path (upper part) Path, tower… (bottom part)

But now, I need to focus on what I learned and what I need to focus on for the next LD.
Firstly, my graphics skills! Incredible. I never thought I will make some really nice graphics if I take the time to make it. That’s the best point I think during this LD. Thanks to AreaAnimation of EasyLD, I was able to animate easily my sprites without creating the sprite animations one by one.
Secondly, EasyLD was almost perfect! Just a bug with timer sometimes, but I solved it fast enough during the LD. Need a particles module and that will be perfect.
Thirdly, I programed more than the other LDs with at least 42h. Last time I wasn’t able due to exams. This allowed me to keep focused fully on my game o/ And had the time to play/polish it a lot.

Level Boss

Now the bad part, there are always some bad parts! And it’s better to figure them out now.
Firstly, EasyLD was almost perfect, as I said, but needed to be developed a lot yet. Some critical bugs appeared during the LD weekend. I fixed some of them, but I need to check them one by one now.
Secondly, the theme didn’t inspire me a lot. That was a problem. But I had an idea of a game. Therefore I linked the idea to the theme and this was great enough. Maybe thinking a lot on the potential theme before the LD will allow me to come up with a good idea instead of just linking the theme to the game idea I got.
Thirdly, because good things come in threes. To polish more, more and more would be better. But program a SIMPLE game. This one was a little bit too huge because of the boss part! I lost a lot of time on the bottom part of the screen. A game with just the upper screen would be better! I knew, and I tried to focus myself on one idea. I did it, almost, but because of the theme, I had two parts. So, it wasn’t a failure.

At last, I can say that a day I will be able to make a beautiful game with a beautiful game design and a beautiful story. Yes, something was missing during this LD, a Story. I need to put the spirit of the player in my game and play with it. I wasn’t able during this LD but this is my goal for my next entry (August, I will be here!).
The game is directly available on the web (Goutye.com) and my entry can be seen on the ludum dare website.
(The music disappears if you change your tab, Drystal/IFrame bug).
Just above of this paragraph, you can find the playthrough of my game and a little bit earlier, you can find the timelapse of the LD32 weekend. Hope you will like my game. Don’t hesitate to let a comment, I am always fond of advice!

Controls: Mouse (Best device, touchpad is really hard)
On the titlescreen : 1 2 3 or 4 to go directly to the world 1 2 3 or 4 if you are stuck and don’t want to try again.

End of the school year, the rushing hour!

Hello there,

The biggest part of the school year 2014-2015 just began on Monday and it will end in the middle of april (with the Ludum Dare 32 on April, 17th). A lot of thing are coming in the next weeks. If you are a little bit curious, maybe you saw that some projects are almost ended. And yes, it is the case. That is why I am writing a post about the stuffs which are coming soon!

Let’s begin with the big school year project : Implementation on GPU and optimization of some image processing algorithms (Since November 2014).
This project approaches its end (on April, 9th we got a meeting with the company named ADCIS) and the final oral presentation is planned on April, 10th in the side of ENSICAEN. We are currently writing the report (90% of is done) and we are starting the oral presentation. Which means a lot of work, because of the two orals which are coming next week! A post in this blog will close the project after April, 10th.

Another project is EasyLD! This project is not done and it will not be done before April, 17th because it is something I want to improve in the next following months. But I want to launch the first version before this date, to start LD32 with it. The remaining thing are the camera and the software for area animation! One will end before April, 10th and the other one (software) is planned for the week before the LD32 date. I am very proud of this framework and I hope it will be fine for LD. The problem is I haven’t really tested this framework. I just wrote some tests and it was ok. But maybe when I program a game, some bugs will be found. That’s why I need to test it before LD. Maybe during the holidays (starting on April, 10th).

Another ENSICAEN project is currently in development! An OpenGL game. The beginning was on March, 31st and the work is really huge. That is why EasyLD is frozen until I finish developing the OpenGL game . The problem is I am currently waiting for some parts of the game to continue to program the game (Camera for example, a big feature). It sounds possible I will need to take this task on my own if we have no commit about it from the guy who has to do it before tonight. I really love developing a game with OpenGL but I am stuck because I cannot program whole the game, even though I am able to do it. I have to share the work, for the sake of the group. That is why I will make an OpenGL game another time on my own after LD32. One thing to know, the end date is on April, 7th just a week after the beginning (And we currently have no camera. I am gonna be in a hurry during this weekend). (If the result of the game ends in a beautiful game, I will post it here, but if it’s not the case, I will make it better before this!)

So, as you can see, it will not be really easy for me to be the best on all of these projects. Moreover I have some exams during this week. Some of them are done easily enough. Two more tomorrow and I will be able to work on my projects!

Even though it is a really huge week for work, I am really happy to do it and I love it. I hope all of these projects will end as perfectly as possible! I will try! :D

First Quarter of 2015 : EasyLD Project

In the beginning of 2015, I was pretty busy with a lot of stuff (Mainly due to exams of the first semester). But in the middle of January, I worked on a schedule for my next projects. And since the end of January, I am on a “huge” project. This project is : “EasyLD”. What’s the goal?

EasyLD is a game framework to allow a programmer to develop a game as easily and quickly as possible using Löve2D or Drystal game engine. Both of these game engines are Lua game engines. Both of them are really awesome but they are lacking of some stuff to allow you to develop a game quickly. It’s perfectly normal because a game engine should allow to program anything you want and doesn’t force a way. That is why EasyLD is there. During the two previous LD, I was programming the same parts and using some redundant stuff each time. For example, for drawing a rectangle, you need to give the X,Y,Width,Height each time you want to draw a rectangle. EasyLD allows you to create a Box item and this Box item got a method to draw himself by himself.

EasyLD wants to have some other stuff which are not a programing feature like a Map Editor. That’s is why EasyLD is not really a game framework, but a lot of tools to program a game quickly.

To date, a lot of features was implemented :

* Map Editor
* Framework

For the framework part :

* Map / Tileset
* Matrix / Vector / Point
* Area (contains shapes)
* Shape (Area, Polygon, Box, Circle, Segment, Point)
* Collide (Area, Polygon, Box, Circle, Segment, Point)
* InputText
* Font
* Keyboard, Mouse
* Timer (callback)
* Flux (tweening)
* Sprite animation

All of these stuffs are currently working on the latest version available in my Github. Nevertheless, all of these classes can change in the future. The first version will be available a little bit before the next LudumDare (17 April). I hope this will be available by the end of March.

What’s next? Many other stuff are planned :

* Music/Sound manager
* Gravity / Friction / Speed
* A finalize version of Entity
* Camera
* Mapping (Move informations automatized)

After all of these stuff, I will try to see if I need some other features. For that, I will read the code of my previous Ludum Dare.
To keep you up to date with this project, here is my Github : https://github.com/Goutye/EasyLD