Yep, here is my contribution to GameDev 2018 Missile Command.
The source code is inside the zip :https://github.com/wybifu/missile_command/archive/master.zip
Windows users: Windows_version.exe
Linux users: Linux_version
or just compile it for any other OS.
I feel that I have to explain myself as the code is awful: I was just writing as I was thinking when a new Idea popup I just hardcoded it and didn't care if it fits the rest of the code that can provide strange lines like:
if (((Agent *)(((Agent *)(a->ptr0))->ptr1)) != NULL)
((Agent *)(((Agent *)(a->ptr0))->ptr1))->visible = BKP_F
YEAH !! Absolutely horrible.
a small video of gameplay :
another shootscreen for pleasure:
I know there is a lot of blogs and advice about what to do and not do for a beginner in a game industry, I even read a lot myself to find inspiration and avoid common mistakes. Unfortunately, there is not so many talking about real experiences. I am here to tell the story behind "Soul of Mask", my first game and I hope not my last. I will avoid a long post, so it will be in different blog entries presented like this:
- Origins and first difficulties,
- Technical: Game engines, programing language, tools
- Marketing and conclusion.
In all point I'll talk from the beginning to the end of the project, there is no chronology so you are free to read what you want in the order you want. Let start then...
My name is Alain Perrin, as you may have noticed, not a native English speaker. I am a system dev in a Chinese company based in China. So yes I live in China for quite many years. I always wanted to create a game but I always stop writing my game as soon as I was satisfied with the technical problem I solved. It was enough for me until my wife (fiance at that time) talked about people proud of themselves without any real achievement. Yes, she didn't realize it but it hit me right in the brain and let say ego as she was not talking about me. "Yes I think I can do a game but I never proved it". It is where I decide to start a game and finish it to prove to myself that I can really do it. This will explain a lot of choices I made for my tools such as Programming languages and game engines.
Now we know I never planned to make a commercial game, it was just about to start something bigger than Tetris (I did finish it around 2003, a mixt of ASM and C with class dirty code). I decide Pacman with a lot of improvement in the ghosts. My major was AI and face recognition and I wanted to make Pacman with clever ghosts. But, with time I started to add more and more stuff and the game didn't look like Pacman at all, at least in the gameplay. It was still a mase game but a lot of things were too far from Pacman it is when I decide to stop and think about something else, a real game. I started to look for help; another developer and at least a drawer could be pixel artist or just 2D designer even a comics drawer. It is also when the first problems came.
As a developer finding another developer was easy to keep him on the project was another challenge. So you guess, he left. And this brilliant guy leaving was a hard strike to my moral, it was so demoralizing. However, this guy was totally honest and told me: " I am leaving because I don't see where this will go". At first, I thought he was talking about money, he may think this project will not bring any money at all. If it was the case I had no way to convince him to stay. But he was talking about achievement. money is not so important when you do something you want to, money is a reward I would love to sell 1Million copy of "Soul of Mask " but it was not my priority and we shared the same thoughts. The problems were the fact that he didn't believe it will finish one day and didn't want to waste is time. Now another part of my personality took control of my mind over depression. The love of challenge. Now I have a new challenge, everything I need to go back to work. I restarted everything with a better design as now I knew I was not doing Pacman anymore. It is also at that moment I made my first big mistake. I read after that it is a common one " I do all the code and I will find soon or later a graphist". So one year passed when I started "Element mask" and I had this:
Element mask was supposed to be the full game. It was the story of a young man who has to collect all the masked stollen by demons. It was not so beautiful but I was sure that with a full gameplay and a story I will find someone to draw. I google images and made something different. all images in the following image are downloaded from google image:
Here you can on the right bottom your different special power. So I spent almost another year trying to find someone to draw. I contacted my brother in law in France who agreed to help. then I went there, meet him and he realised that is was not 3D game and he could not make 2D graphics assets. So 2 years passed, I have an almost ready gameplay but no graphics. My Brother in law and one of his friend remembered that they have a co-worker that may help. This happened in August 2016. They contact the guy who said OK to meet me the next day. My designer invited me to his place and I was already in love and impressed, this guy is a gamer. He had everything, a lot of games and objects from games of all time. Obviously, if I can convince him then that will be finished. And I did it, he was in.
I left France and move back to China, He sent me Emails to show his interest. I let him free to change what he wants in the game as long as I can program it. and he did bring the idea of half mechanic characters. here is his first sketch:
Hey guys, honestly it was promising, right? But if you bought "Soul of Mask" today you already guess that it didn't work. How? I don't know myself. This was his last email. After that he disappeared, no news, no answers nada, nothing, keine, rien. As if it was not enough I injured myself playing football (soccer for USA).
ACL was torn, for those who play sport they know it is a serious injury.
Good can come from Bad.
Nine months without sport said the doctor, and at least 2 weeks without moving my right knew. So I had to stay at home and this was the good part. I use to play football 3 times per week plus 2 times of basketball. For almost a year I will have to do something else. Unfortunatly I still had no news from my designer. I decided to go again to France to visit my family and try to contact him again. I did and he said sorry but he didn't have time to work on Element mask.
That was too much. I was very pissed. I nicely said " ok I understand we all have our job and our life. No problem". But inside all was fire ready to burn everything around. August 2016 to February 2017 you cannot find 15 seconds to send me a WhatsApp to tell me you are out of the project? you are busy but me I can just wait and hope? I realized that everything is really relative. I was convinced of total failure if I attempt to make Element Mask alone but I just have the proof of the opposite: I would have to work alone if I want it to finish one day. I just remember a funny fact, I can draw myself. I used to draw comics for my classmate when I was in middle school. I bought my watcom and started again. My level is far from what I could do but it was enough for buyer to accept it. actually no body said my game was ugly:
Rip Element mask
My problem now was different. I had nobody to wait but I was not fast to draw as I was before. Worse, I cannot draw what my code is made fore. So gameplay changed a lot. Every time I failed to draw something, the gameplay will change. This is for example how I moved from a character wearing a mask to bouncing masks. Soul of Mask was born. It was something I could finish before the end of 2017 and I did it. I learn a lot about people, life and myself in this adventure.
next blog entry will talk about the coding part.
thanks for reading.
Now that Soul of Mask is released, I will focus on bug reports if any and I announce that I am already working
on the next game, I will make blog entry to show progressions. This time I 'll not wait to the end of project.
Me again, I got some problem with SDL2_mixer on macOs, actually I am thinking about cancelling MacOs version as I found no solution to play sounds in this platform.
Looks like we will stick with Windows and Linux.
Good news, the development is about to be close now. and i provide 3 videos for Tutorial, Mask power presentation, and an easy level to show the gameplay.
Before each level, the level takes something like 1 to 5 seconds to load depending on the computer, so I added loading screen that presents all the different characters in the game. here you have one.
hope you will like it.
My name is Alain Perrin,I come here to present my project (actually almost finished) of game.
Soul Of Mask already announced on steam. It is, unfortunately, a one-man job. 3 years of pleasure and nightmares. But it is still a joy to work on it. I was supposed to start talking about this game at least one year ago it is probably a big mistake a made. Anyways better late than never.
It is a game about a mask supposed to collect one object and avoid enemies on the map with Pacman view. The main character has to take a mask to be able to collect those object. Those masks have some powers like burning enemies, feezing... by using a power of a mask it is lost. The game is supposed to be released on steam at the end of this month (nov 25th 2017).
The game is writen C/SDL, graphics assets are made with gimp and audio lmms/audacity.
current status of a game is debug/testing.
More info are coming soon.
for the moment you can have a look at indiedb and steam
Video of the game gameplay: