July 2014 Game Making Progress

This month, I practically doing almost nothing related to my game development. I only manage to tweak one game art to display better on large screen displays. On a phone, the flaw is not that noticeable but on a tablet you can see it very clear. I immediately fix the problem and after testing it on my tablet I am satisfied with the result.

Why is this month’s progress is so slow? As I already explain, I have many activities during the World Cup and also I became a correspondent for a soccer tabloid during the event. Also, After the world cup is over, my friend asked me to expand our writing into a book. I said yes immediately since making a book related to soccer is also one of my dreams. I have many thoughts related to the beautiful game that I want to share. I added many new writings to the book. Since it is a ‘light’ book it does not require a lot of research in finishing it. My goal was to make ten chapters. Each chapter contains 5 to 6 standard pages of Microsoft Word with 1.5 paragraph spacing. My friend will contribute the same amount of writing as me. Later on, he will blend our two writings and add many pictures related to our adventure here in Brazil. I promise him that I will finish at the end of this month, but it turns out I need more time. I hope I can finish all the chapters at the end of the first week in August. Until I submit my share of the book to my friend back in Indonesia, I have to halt the game development process.  Tchau!

Individual Versus Team Project

Before I begin to lay out the thoughts of this writing, let me congratulate Germany as the new World Cup Champion. They deserve it. They truly are. They manage to become the first European team to win the prestigious cup in the land of South America. Although I am disappointed with the performance of Brazil and Argentina, who I adore very very much, I have to respect Germany for their teamwork and strong mentality.

It is known throughout the world that the football style of European countries are generally different with South American countries. The European emphasised team work and tactics while the South American rely more on individual skills and instincts. Both style have its strengths and weaknesses as it is displayed throughout this World Cup held in Brazil. When Neymar got injured and Messi plays not on his top level, the team performances are heavily affected. This advantage is easily capitalised by Germany. They show a consistent team performance and strong mentality in demolishing the two great South American teams.

The story of this world cup has inspired me to write about the merits and drawbacks of developing a game individually or in a team. The amount of work I need to do in developing a game by myself is quite enormous. I am not complaining but I know that I can release a game faster if I get help from at least one or two people. Actually, I already have two friends that are interested in collaborating with me to make another game apart from the one I work individually. One of them know how to draw, which is a huge advantage for making the game art and the other one interested in making the sound effects of the game. Both of them are amateurs like me but they have passions in learning to develop a game. I also have another friend who interested in localising my games in Portuguese language.

As of right now, none of these collaborations are working out fine. It turns out, there are many problems when you work within a team. Making a sound decision on aspects related to the game is difficult and also the commitment of each team member is different from one another. All of them have primary jobs in Brasilia and often it is very difficult for them to find extra time and to focus into the game development. Although this is a discouraging experience, I do not close the door for possible future collaboration. I even still hope that this collaboration with my friends can still work out in the future. I try to learn from this experience a way to foster a better collaboration in the future. I am open to anybody who has the same passion, vision and commitment to develop a game together with me. Now, I just have to continue my solo career as a one-man indie developer.

June 2014 Game Making Progress

I can only manage to work on my game in the first week of June. After the world cup has started, my attention is fully drawn to it. I manage to make a code for the music and SFX setting options. Also, I add a code for android devices to exit the game from the main menu using the back button. This code is unnecessary for apple devices since they only have home button. I learn how to use global variables and .ini files in my game. I use it to track the setting choice of music and SFX on-off option in the game. By creating and storing global variables into an .ini file, the setting will be ‘remembered’ by your device. This technique will also be useful for other aspects of the game such as scoring, level clearance state, local highscores, etc. I manage to make a neat pop up window for the music & SFX and exit menu options. Even for this simple settings option menu, it took me quite a while to figure it out and make it right. This knowledge will be useful in the future to make a beautiful setting interface in my game. I have some ideas to add certain animations to the pop up window, but I will leave it for the next game. For this one, I decide it to use a minimal simplistic menu design.

With The Colombian Fans
With The Colombian Fans

I watched two world cup games already. The first one is the match between Colombia and Ivory Coast and the second one is the match between Portugal and Ghana. My wife’s brother has come to Brazil to watch his favorite team, Italy. He has ticket for the match between Italy and Costa Rica. The match was held in Recife. One of my friend also come to stay at my place to watch the world cup games. I went with him to accompany my brother’s wife to Recife. We did not have tickets to watch the Italy vs Costa Rica game, but it was a lot of fun to gather with the fans near the stadium. They have a DJ playing Samba music. At one moment, we dance with the locals and international fans, united in the celebration of the world cup. Although Italy lost, my brother’s wife is very happy to see his heroes playing live in front of him. From Recife, we continue our journey to Rio de Janeiro. In Rio, we manage to go to Pão de Açúcar to watch the beautiful city from high ground. After that, we went to restaurant of Garota de Ipanema, where it is believed to be the place that inspire the song writer, Antonio Carlos Jobim, to write ‘Girls from Ipanema’. During our lunch, we also watch the game between Argentina and Iran. It was quite a difficult game for Lionel Messi and his team where they only manage to win 1-0.

After eating, we walk to Ipanema beach and stay there for a while. Then, we walk again through the edge of the beach to Copacabana beach. It was a perfect day, with warm sun, beautiful women, and people relaxing themselves by playing casual soccer, volleyball and frisbee. Near the sunset, we finally leave from the beach to go to the airport, waiting for our flight back to Brasilia. It was a great holiday.

One of my friends from Indonesia also asked me and my friend to write articles for a soccer tabloid where he works for. He asks us to write several small articles and one large article every weeks. We take the job with great pleasure. I did not do it for the money. I do it for my love of the game. The mobile game production has to wait. Until I know the winner of the FIFA World Cup in Brazil. The mecca of football…

Am I An Indie Developer?

I stumble to a mind-staggering retrospection reading this writing from Ron Gilbert. He is the famous creator and designer of ‘The Secret of Monkey Island’ and ‘Monkey Island 2: LeChuck’s Revenge’. In his article, he challenge the people who labeled themselves ‘indie developer’. He started his writing by asking a fundamental question: “What makes a developer ‘indie’?”. In the process of defining ‘indie’, he raised more questions to challenge their legitimization. Since I have said myself in this blog that I am an indie (game) developer, I will do my best to answer all of his questions and give my opinion on many of his statements. I intend to do this to defend my legitimization as an ‘indie developer’ and use Mr. Gilbert questions to introspect my position as a game developer.

Regarding to snob indie developer, I haven’t seen or talk to one of them yet. But if I meet one of them, I certainly will not approve their attitude. An implied definition from the article states that an indie must be independent from publisher. I am independent from any publishers by planning to self-publish my game on Android market and Apple app store. I also do not take any money from any publishers, investors, friends or family. I do not use Kickstarter to fund my game. I do not consider my idea independent from mainstream thinking ( I have stated before that I open to any ideas. If I like it, I will make it whether it’s mainstream or not.) In this regard Mr. Gilbert, am I an ‘indie’?

Making some type of game definitely do not define you as an Indie. I have never said to any people that I will only make a certain type of game where it has to be bizarre, weird, etc. If I found this type of indie devs in the future, it’s their rights to think like that. Relating type of game and definition of an indie dev is out of the context. Any game developers are free to make any type of game they want. I have never ever look down to any other devs and mock them as ‘not indie’. Do you have a stereotype-ill Mr. Gilbert? Can you generalize a certain group to have the same attributes all the time?

No, Mr. Gilbert. “Indie” games do not have to be quirky and weird. I do not understand when you said “indie” games have to be about the “art”. Every game is a form of art in its own way whether people love or hate the game. We make game because we love to make game and we make it the way we want to.

Why do you bother if someone said to you that you are not an Indie? I respect you very much and I do not care whether you are an indie or not. You have made great games and you should be proud of it. Also, making a lot of money and gaining huge success is just another stage for you as a developer. It is a choice: Do you want to keep your full ‘independence’ or not? If you look back at your definition of independence, it means that they are not considered to be ‘indie’ anymore if they choose to take investors money, and so on. How about if they still state that they are ‘indie’? It’s their right and I myself did not give a damn about what they claim.

Also being ‘indie’ not always about being scrappy and clawing your way from nothing. Most fans do not care if you gain success or not. Why so negative Mr. Gilbert? They only care about the quality of your games. That is what matter the most! Success unfortunately did not equal to selling-out. The important thing is how you handle your success. Selling-out or success is out of the context of your ‘independent from what?’ question.

No, not all indie developer are poor and miserable. If all of them are, why don’t we call them third world developers? I assure you, it is okay to be a ‘rich indie’. The issue is not whether indie can hire top notch marketing and PR people or only use grass-root network. It is stretching too far (again) to your question of ‘indie’ independence. An indie can use any resources they want as long as they have the money. Do you expect us to produce and publish game with only free resources, pirated software and stolen equipment?

And why would you complicate things by saying an “indie” just mean you’re not owned by a (big) publisher. You also mention on the required threshold size of a ‘big’ publisher required to owned an ‘indie’. So, if I am owned by a small publisher according to certain ‘smallness’ threshold, I become ‘indie’? That is just ridiculous. You also said that it is easy to be a publisher these days, by stating that most indies who put their games up on Steam are “publishers”. Let’s make it simple Mr. Gilbert. Relating to game publishing, an ‘indie’ is an entity (a person, a group or a company) who self-published directly or use other third-party to help them sell their products as is.

I don’t think being an “indie” is defined by the type of idea you have as you mentioned in the case of “The Cave”. Instead of irritating by some devs (or fans) that look down on other devs because they are not “indie” or not “indie enough”, you should focus your energy on something else. If “indie” is just another marketing term, who is the big mastermind behind it and who will reap the profit from it?

I also do not claim to have the best answers on all of your questions but don’t nietzsche-ing us with your rhetorical questions to a point of nihilism of the term “indie”, Mr. Gilbert. You should socrates-ing the notion of “indie” by building a consensus “definition” of it. As my position as an indie developer, I haven’t gain any success or fame. Thus, many of your questions are not relevant to my current conditions.

But I can tell you these things: I use my own money to buy all the resources I need to make and publish my game. I am a one-man game developer. I plan to self-publish all of my games through third-party (Apple and Android). I have to pay them in order to sell my game. I am not poor nor rich. I never work in game industry before. I never looked down to any other game developers. Instead I try to learn as much as I can from them. I do not try to make my game look bizarre, quirky, about the ‘art’, etc. but I do try to make it unique and fun. I also did not intend to use the term ‘indie’ as a PR plan. I use it to identify myself. I am now struggling to finish my first game. Also, I don’t know whether I will stay as an indie or not when I gain huge success. I will think about that later. I will take the term ‘indie’ from myself when I feel it is not relevant anymore to identify myself. I just want to make game Mr. Gilbert, as good as it can get, by myself, independently. Am I an Indie (game) Developer Mr. Gilbert? You tell me.

May 2014 Game Making Progress

During may, I am able to finish some neat animations and interesting sound effects in my opening menu to attract people attention. I also have finalized the logo icon of my game for both Android and Apple devices. It just need a very small enhancement, but overall the details have been done thoroughly. I have also been able to wrap up the design of my game prologue story. I still have tons of sprite animations to do and also starting to plan a ‘rough’ short dialogue scripts for my game. No no, it is not going to be a graphic novel type of game. I just want to make some ‘small’ short voice interactions with the player whenever they fail, succeed or in the process to make an action within the game.

When I am about to make the prototype of the game, I stumble into some programming difficulties. Even for a very simple gameplay that I am trying to achieve, it still required a lot of knowledge in GML (GameMaker Language) programming. I decide it to take a step back during this june to learn some advanced GML first while keep working on creating sprites, tiles, sound and music for my game. I actually have also decided to learn Unity engine (especially for its 2D game making capabilities) along with my activity in producing my first game. After reading many many stuff on game programming books and websites, I decide it to learn only javascript and C# now. I have tried taking the C++ route before, but then realized on the amount of work I need to get done to master the language. For an aspiring amateur game developer, I strongly recommend you not to learn  C++ first. I plan to continue and finish my javascript course at Codecademy and get some pdf books to learn C#. I apply the knowledge of these two programming languages in my Unity practice sessions. Learning all these new things gave me some diversified activities to avoid a boring process of making a game.  I also take the lesson process in mastering Unity very slowly.

I almost forget to mention one thing. The world cup is going to start soon. As an avid fans of the beautiful game, I will have less focus on the game production for the next two months and put most of my attention to the event. I also have acquired tickets for five world cup games. Yay! This will become one of my best experiences ever. Tchau!


Game Making Philosophy

A game is a form of art. Its uniqueness lies in its interactivity. There are many form of interactivity within a game. It can give you a meta-sense of control, satisfaction in solving puzzles or questions, virtual interaction with other players, etc. Consequently, every game designer has its own approach in presenting their ‘art’. Generally, mainstream game designer follow a set of ‘best practice’ rules that also cater the mass market movement. While on the other side, indie game designer usually seen as an ‘egomaniac’ with a strict vision on how they will present their game. Often, they do not care about market orientation, sales or profit as long as their ‘unique’ ideas come to fruition. Commonly, the quality of games made by mainstream developers are much higher compare to the ones made by indie developers. Mainstream (large) game companies  also used to not care so much about indie developer communities.

But now, those stereotypes is becoming blurred. Some of the big game company now give more freedom to their in-house developers to produce unique games. They also put a lot more effort to embrace and support the indie communities. Even some indie game developers now have also become more aware of the business side of producing a game. Self-publishing now has become easier than ever, especially in mobile market. These developments produce an increasing amount of indie ‘professional’ developers. This rapid change is also strengthened by the development of middle(soft)ware  in many area (digital painting and animation, sound and music production and game engine). All of these middleware help many (indie) amateur game developers, musicians and artists in producing great products (Tom Francis produces Gunpoint with no programming background, C418 produces music for Minecraft without any formal music education). It is amazing to see how the average price of these tools also decreases over time (Maya now has a product for indie professional game developer with lower price level), especially with many (free) high quality open source software out there (Blender for example). Some of them even give a free version with limitation that will not hinder a person in publishing their ideas (for example Unity). The gap of game quality and success between small and large game developer is decreasing over time.

With these developments in mind, I want to become an indie developer that will not only stay true to my game art idealism but also considers the business and market aspect of my game. It means that I will work hard to polish my game to a quality level that is ‘acceptable’ by a general mass of people. I also want to become an open-minded indie game developer. I will not loath candy crush, angry birds, clash of clans or even flappy bird types of game due to their huge (lucky?) success and casual gameplay. Instead I will try to think of something that can improve those game (play) experience in a more unique-refreshing way. I will consider all type of game from Flappy birds to Clash of Clans, Spelunky to Braid, etc. I want to grow my skills by taking very small projects at first and moving on to middle or possibly large project in the future. Many first time indie developer make a mistake by taking a large project without assessing their limitations. Most of them lost their interest in the process of making their first game.

The essences of my game making philosophy are:

  1. Open to any ideas in designing my game (popular, casual, hardcore, absurd, weird, complex or just plain simple)
  2. Awareness to business side of game development (tax-compliance, copyright- adherence, going-concern, and so on)
  3. Stay true to idealism and completion of my art (Once I put faith to an idea of my game, I will keep working on it until it finishes.)
  4. Producing high quality product (I will not release my game until it is polished to a certain ‘acceptable’ quality level.)
  5. Realizing my limit as a game developer (I will not make a MMORPG  or RPG using 3D engine as my first game. It’s an overkill! I will start a very small 2D game project and make sure to be able to finish it. Finishing a game is very very hard for an amateur game developer.)

Apart from all of this, I have been lucky now. I have financial stability and a lot of free time to do whatever I want. These conditions allow me to pursue this game making endeavor without any hassles. I want to continue making games (in my spare time) even when I have to go back again working as  a lecturer and researcher. I want to make games forever! Boo-Yaaa!


April 2014 Game Making Progress

There are not much to tell for my progress in April. Unfortunately, I still spend most of my time doing the game assets. I create many new game assets and tweaking the old ones. I made a lot of art work for ’tile’ assets. Using ’tiles’ will save you a lot of time in creating and modifying a game level. A ’tile’ is a small piece of 2D graphic image arts that you can reuse again and again within a game. You can use it to build walls or terrains where your enemy or objects can interact with them (collision, walk, jump, fall, etc). Also, I make game arts for many objects and enemy sprites with many possible instances (for example when the enemy die, fall, walk, stand still, etc). The real progress that I made in April is to include a complete prologue story after you press play in the main menu. I add a skip button in the  short story sequences if a person want to go directly to the next game room.

The main menu now looks better than before and I manage to add the credit room that is easy to make. I also add sprite animations to each of the buttons (play, credit, game progress, music and sound effect options, and tutorial). I plan to include a simple animation in the background of my main menu to attract people attention (after I finished the required sprites).

One day, I suddenly have an urge to build the menu and the prologue story into an android .apk file for testing. In the process, I finally realise the need to put the required game icon objects to replace the default yoyo games logo icons. I took me a couple of days to experiment with different design of my game icons. For android you need to make several different resolutions to support many mobile devices. The .apk file work flawlessly on my Samsung mobile phone and tablet. Also, the display resolution scaling code that I made seems to work perfectly for both devices. In the process, I also tweak the look of my game opening menu and its prologue story. There are still minor adjustments that need to be done. I will continue refining it until I get it right. I have learned the importance of ‘real’ game testing in the targeted devices in order to get the ‘right’ feel although I only use a very simple example. Everything requires utmost attentions in a game design.

I read many things in GameMaker Studio user manual that can be useful for my game and also doing and tinkering the supplied tutorials. Their tech blog is also one of my favourite source of information. The information on the GameMaker forums is also great but you still need to filter them. Different people post different solutions and you need to pick the one that suit you best. Also you need to pay attention to old and new solutions. There are many solutions in the forum using an old version of GameMaker that might not work in GameMaker Studio. In developing this first game, I concentrate more on learning as much as I can to produce a rich game experiences. Although I did not set any strict targets, I will work hard to finish it as soon as possible. Tchau!

Copyright, Original and Pirated Software Issues

In this ‘internet’ age, people throughout the world is far more connected then before. Although this state of ‘interconnections’ has a wide benefit for most people, it also entails a great deal of problem. One of them is the breaching of copyright and a wide pirated software issues. Through internet, it is very easy to get a copy of a pirated software. These things happen in many places on earth, especially in the third world countries. In Indonesia, people sell pirated products freely without any fear of the law. They even can open shops to sell their pirated software. If you think about it more deeply, it is actually related to ethical issues. But since the practice of using pirated software is very widespread, most people ‘close their eyes’ and tend to be ignorant.

You might think with this environment in my country, I would also use pirated software to develop my game. Unfortunately, this is not the case. I want to be an example of an Indonesian indie game developer that abide to the copyright law. I use only original software in making my game. You can see on my apparatus section, I explain the use of original software in the production process of my game and even detailing on how to obtain it in Indonesia or other places for several software. As an individual, I want to respect the effort that people put in making a software and condemn people who use pirated software to generate profit of their own. Especially now I also have experienced the painful process of producing a quality (game) software.

I spend a lot of time in the internet reading copyright law and have learned a great deal of it. For example, I use only open source font and sound effect in my game. I even buy a vector art that I use in a small part of my customized logo. There are many sources of open source fonts with one of my favorite is being maintained by Google. For sound effects, you can use free commercial sounds in Freesound website. Remember to read the copyright file that usually exists along with the downloaded file or explained in the download website page. You need to make sure that we can use the file freely without any restriction whatsoever. Happy game making to you all!