Pages

Saturday, May 4, 2013

Not Alone Update v1.5

When I released Not Alone, I said that I wouldn't change or update it and leave it as it is. I lied.

The main reason are some comments on the GameJolt game page. If I can live with comments regarding animation (I just can't do any, I'm again terrible doing this) and collisions (some poor situations occur, but this could break my whole system as I did weird bad things), I couldn't let go the other recurring comment.


Game was Boring?

So game was repetitive and boring quite quickly. Indeed, the only thing you had to do was to look for friends in a given time. Something was probably missing here, as Wisheez mentioned in his comment. I needed to add a feature making the game a bit less boring.

I made a list of requirements that any new feature should meet:
   - Need to be related to the main theme
   - Something player has to keep in mind during the different levels
   - Something that could add some tension in the game.


Depression

And I quickly came to the notion of depression. That fits pretty well with the main theme : when you feel alone, you are not far from depression.
So I've came with a vortex representation for that. The idea is quite simple : the vortex is chasing you the whole time, speeding up as time goes. It is really easy to avoid in the forts levels and get trickier later on.
After testing the idea a bit, I though it would be cool to use another feature that could save you in a last minute move.
More sadness in the game

Beer

And here come the beer. Drinking a beer will stop the depression for a few seconds, but will also increase its size and give it a boost. In short that makes it angry.
So, as any alcoholic beverage, it has to be taken in moderation ;-)




Gamejolt HighScores and Trophies

I also wanted to try Gamejolt API for Trophies and leaderboard.
I've added a leaderboard, even if this game is probably not the best suited for that feature, but still that's okay, as it is not that easy to get the maximum score.
I've added 8 trophies  to test the system also : bronze, silver, gold and platinum ones. As Gamejolt have no real rules for trophies, I hope I balanced them correctly.

Platinum Trophy!


Anyway, I hope some players will enjoy the changes. As always, feel free to leave a comment somewhere on the internet and I'll be happy to answer when needed.

-Cheers.


Sunday, April 21, 2013

Not Alone: A Concept About Loneliness and Motivation



2 weeks ago I've made a weird dream where I felt incredibly lonely. I can't really put words to describe that feeling, and that's exactly what I found interesting in this dream. I almost immediately wondered how I would do if I had to transpose this feeling in a game. And that's what made me work on the Not Alone prototype.


Play the game here : http://gamejolt.com/games/other/not-alone/14150/




Loneliness?

So the objective was to make the player feeling lonely. Let's face it : I think I failed but the whole creating process was still interesting.

When alone, world is not so bright...

Game Design

Lonely doesn't mean Alone. So I wanted the player to be among lots of other characters, but not part of their group. I wanted that all other individuals in the level go away from him/her. (It looks like player is pushing other characters with physics but actually this is a small AI playing here.)

But if I wanted to turn that into a game, I needed an objective. So player has to make some friends (and maybe find love!) to "feel better."
This kind of stuff needs to be short in order to be completed by most people who will play it. 5 one-minute (max) level should be short enough.
So basically this is it : player has to make as many friends as possible through 5 levels of  1 minute.

Art

First thing I decided was not to focus on graphics : It's not that I don't care about that part of a game . The reason is that I'm a terrible graphical artist. So instead on focusing on creating a nice looking "style", I have chosen to use simple visual assets.
Still they are key : I use them for feedback (color of characters) and to show progression (the level itself, which is some kind of visual representation of main character mood).

That's much better :-)

Audio

Initially, I didn't planned any sound around the game as it was just a prototype. Still I though that having a weird music would help. I found a (almost) random fractal music generator and made my score with that. Current music is calm but disturbing and perfectly fits the game.
Then after play-testing the game a bit around me,  it was clear that I needed a feedback to tell the player he was approaching a potential friend. And that's the purpose of the heartbeat, nothing new here but efficient and that fits this game pretty well again.



Motivation

This prototype is also about motivation. Not player motivation, but mine :-)
It's been almost a year since I started working on my "main" game, and I was working on something quite long and invisible, so it was a bit difficult to keep the motivation high. I really needed a side project done quickly. So having made and released Not Alone in less than 2 weeks (remember I'm a really part time indie dev) was very important to me. Something concrete!
Ok this was not very ambitious, polished, or amazing (I'm way more demanding than that for my "main" game) but that's Okay as it was not really the purpose here.


Still, I hope some people around the internet will try and maybe like the concept!
So feel free to leave a comment about Not Alone here, on Gamejolt or even on twitter.

Cheers!

Tuesday, April 9, 2013

Indie or Hobby?



I have been asked a couple of times to explain what I meant by hobby developer as compared to an indie. Well, here we go, that should be quick :-)


Indie?

I won't define what an indie developer here, first because it is something quite well known nowadays, and then because it has already been discussed by Derek Yu () on his blog here.
As a quick summery of his definition which I find quite relevant, an indie is  :
    1. “Independent”, as in no publisher involved.
    2. Small studio (roughly 20 members or less).


Hobby developer?

Now, I consider that there are many subcategories of indie developers: the ones who have enough money to finance their work for instance (probably because they already released a successful game), as opposed to the ones who are making games with no money (no success, yet ! :-), and many others. But let's focus on our current topic, Hobby dev.

Defining it is quite simple at first glance : that's someone making games as a hobby. Sure it is, but that implies some interesting facts, that will shape the whole development cycle of the game.
The main aspect of that subcategory is that the developer as a full time job beside his own game. This job can be anything of course, from teacher to bartender or bank employee. This main specificity leads to 2 consequences : time and money.


Time is Money?

Having a full time job means that the main part of your time is spent at your workplace where you must not work on your game (or just in your head). So then you have your spare time, that you should share between your family, your friends, relaxing (and sleeping!) and possibly making a game. You have to find a balance between all of these. The result is basically that you don't have much time to work on your game, so that progress is slow. Damn slow. Holidays and week-ends can help boosting your velocity, but just to a certain degree. So you'll have to be prepared for a long road, or make something quite small.

Time is flying. Not much time for hobby.

The other impact of having a job beside your game development is that it is not essential that your game becomes a success (at least not if you have a decent job) from a revenue perspective. Your style of living should not be impacted if your project fails. If you decide to quit your job to focus on making a game, well, the stakes are higher then, and you are no more a hobby developer :-)

Need money to live

Slow development cycle, combined to the fact that it is not crucial to complete the project compose the explosive mix that makes tons of hobby development to fail or to be dropped. This is probably the biggest difficulty for a hobby developer.



So there you are, hope it answers the questions some of you may have. Don't hesitate to make a comment or ask questions if you have any, I'll be happy to answer!


Wednesday, April 3, 2013

First Design - First Mistakes



This posts is again attended to anyone that wants to go a game development as a hobby or even a indie, and this is just a piece based on my own experience.


Almost 1 year ago, after deciding to make a game of my own, I have started addressing my design. I had tons of ideas so I started to write them down...


Make a Game Design Document

That's something that will seem obvious for some, and useless to others. Writing all of your ideas, sort them and see if everything fit. This can be used as a first filter for not-so-good ideas.
Moreover, if someday someone joins you in your development, it will be a key asset to share the concept with him/her.
So I knew it was something really important and I made one...Kind of...



I know it may seems waste of time,
but it isn't. I promise.

Detail your Design document as much as you can

Unfortunately, I was not patient enough. I wanted, as many devs I've encountered, to jump into making things as soon as I could. So I did it, but actually it was a bit useless as it was not detailed enough and was basically just a summary of all my ideas, or draft of ideas. So when I had to start coding, I had to figure out how I was going to do things. I was then focusing on programming one feature at a time, and I probably lost the big picture.



Think features as part as a whole

One other thing that feels obvious when told but not so easy when actually making things is indeed to always think to how your feature will fit in your game. Several times, I've coded a feature as I have it in mind, and then had to change something or even rewrite all code so that it could really be used.
And after a while, I just couldn't bare anymore wasting my time...



Re-roll, change, kill...

So after several fails, I just had to face it : I needed to clearly put my design down on the table and do what I had to. For each idea, I asked myself : "Okay. How am I going to do that? What would it look from the player perspective? What exactly will the player experience be?"
Then, of course I realized that most of my ideas were good... But doesn't really fit each others. So I had to rethink the whole thing, kill many useless features, add a few critical ones.
As Antoine de Saint-Exupéry stated : "You know you've achieved perfection in design,not when you have nothing more to add,but when you have nothing more to take away"
Yeah I know... But you have to do it.


It took a while, but now my design is consistent (I think!), looks like a real game now (at least on the paper and the developed features) and not a clumsy patchwork of features anymore.

So here are again the obvious pieces of advice I would give to anyone wanting to go for an hobby or even an development :
-Write down your ideas
-Write a very detailed design document
-Don't be afraid to adapt things, and kills useless features


Bonus : latest mistake to date

Even when you know what you are doing and why, you may still commit mistakes. My last weekend experience can tell :
In my current game, I have a loot system where dropped items stats are defined automatically by player level. And I just figured out that my dumb formula I use to calculate these stats was an exponential one : at really high level (150+), I had things like a gun making 555433345 damages for each bullet....and around 500 bullets fired in a second...
Even if enemies stats are also increasing depending of player level, that seems weird for the less. I could have put a level cap as numbers were okay up to level 50, but I don't like it, and that doesn't fit the philosophy of my game which is basically about grinding.
So I have to design a new system I can tune the way I want. More work, and more wasted time. But that's okay as long as it should make the game better.

Wednesday, March 27, 2013

6 Years Old Boss

One of my biggest fan is my older daughter, who is 6 1/2 years old. She is probably not really objective, but she is always asking to test the game and new features.

So a few weeks ago I wanted to make something special for her: Even if I recently killed boss fights from my design (for consistency reasons), I've asked her to draw me one, plus a missile. Then I've quickly created a new level and well, here is the result :-)


The original piece of art : Boss and missile


Boss moving around. Just added a shadow on the road and smoke on top


Boss firing missiles (added missile trails)






Getting Started : What do I Need to Start Making a Game?

Note : This post, a bit long, is mainly intended for people who want to develop a game and don't really know where to start from. (as asked by some friends of mine)
For experienced devs, it will probably feel boring :-)

So after deciding that you wanted to make a game, you have to figure out how to do that.
In my case, I was looking for a framework that save me some low level tasks (Display, sounds etc...) Indeed I'm ok writing script but not skilled enough to create an Engine from scratch.
A few years ago, I gave a try to the XNA "platform". Maybe I was not in the right mood at that time, but after making a basic scrolling system and a simple player sprite controller, I felt that it was lots of efforts for a small result. So this time I wanted something more straight forward.


Unity3D

So I decided to try Untity 3D. And that's an amazing piece of technology.
Of course this is not the best tech in term of performance or so, but that's powerful enough to make a very decent professional looking game. But why exactly is it a really good pick? Here are some reasons:

Multiplatform
The first one is that it is multiplatforms. As I was intending to make a mobile game, knowing that I can have my game running on both Androïd and iOS with (almost) just one click was awesome. If in the future I want to go for a PC game, I'll be able to re-use  part of my code.

User Friendly
Then this is a real "Visual" interface, kind of What You See is What you Get (WISIWYG for acronym enthusiasts) . You put stuffs in you scene, and you see them in the editor the same way (with a few exceptions) you will see them in your app once built and executed. You can also drag and drop components and assets directly on objects. Really after that, all you need is scripting.




Easy Script
And scripting is made easy in Unity, as it allows you to use any script language among javascript, C# and Boo. You can even have different script languages coexisting within your project. That's pretty useful, especially if you grab some code among guys from the community.

Amazing Community
Indeed, one of the huge advantage of Unity3D is the huge community of developers around the Internet. There are specialized forums where devs help each other. It is so huge actually that each time I face a problem, I can find someone who already encountered the exact same issue, or at least a similar one, so that I've never been stuck for too long.
Sometimes I even found information about Unity functions faster on these forum than in Unity sripting references :-)
Thanks to that community, I've found outstanding video tutorials on the Walker Boys Studio website : you can learn there Unity basics, including scripting and make some simple games from scratch. Just perfect.

Asset Store & Sharing
The Unity asset store is a place where devs can sell their modules to other Unity enthusiasts  It can be useful of you need to make something complex in your game which would require lot's of time to do or issue too complex for you . Just buy it on the store if you can afford it. Other independent stores exist around the web, and some nice devs are sharing their work even for free. So really, if there is something you can't do yourself, you are likely to find it somewhere.


ex2D

But still Unity was not perfect. I am using version 3.5 which missed an important feature for my point of view : 2D sprites management. Fortunately, that was fixed thanks to exDev and its ex2D.
Ex2D is a kind of "mod" of Unity, an extension, which helps you managing sprites, sprites animation and font very easily and efficiently: Really cool.
I have bought that tool on exDev website for around 25$, as it was a key element I needed and had no idea how to do it myself. It is also available on the Unity Assets Store.

ex2D animation editor


Source Control

One thing I've learned while developing games (I mean for real, during my day life) is that the most important thing in your game are your files (scripts, sounds, graphical assets etc... And computers being what they are, you can't really rely on them and just keep your data on a hard drive : if your drive crash, your game is dead.
So you need backup. Preferably somewhere online where your work won't be destroyed if your neighbor initiates a fire that turns your own place into ashes, along with your data.
So I've searched free source control solutions (I have no money to spend there) that was simple to use. It was not so easy as most source platforms on the web are to be operated via command lines. So I also needed a visual interface software replacing command lines by buttons etc.
So after several tests I ended with a Git deposit on BitBucket (the place where my assets are stored) and sourceTree application, available for both MacOS and Windows. This offers the user many functionalities,  but the main ones for beginners are :
  Commit : Validate the files you've modified and want to backup
  Push :   Send your committed files online into your deposit
  Pull  : Get the latest files from your deposit online to your local folder

The other key feature of any source control solution is that it keeps an history of all your files, so that you can get an old version of a given file if you need it.



So basically this is it. If you have read the post down to this point, you are really brave. But most important,  you should now be able to go and make a game on your own. So good luck, and happy developing :-)


Related links


Unity3D : http://unity3d.com/
Community :
     - Unity Forums : http://forum.unity3d.com/forum.php
     - Unity Answers : http://answers.unity3d.com/index.html
Unity Assets Storehttp://unity3d.com/asset-store/
Walker Boys Studio Tutorialshttp://walkerboystudio.com/html/unity_training___free__.html
exDev ex2Dhttp://www.ex-dev.com/ex2d/
BitBucket https://bitbucket.org/
SourceTreehttp://www.sourcetreeapp.com/




Saturday, March 23, 2013

Once upon a time...



Alright. For the first post of this blog, I quickly agreed with myself that the best topic would be to explain why I decided to make a game on my own. So is my analysis on what may have happened in my head to trigger this strange idea.


I Love Video Games



I guess the main reason is that I love games. Not only as a player, even if I'm playing video games since elementary school (yeah, that's a long time ago...). But also as a developer. I've discovered that pleasure as I got lucky enough to jump into a dev team 13 years ago, and even if the magic I felt playing games as a student mostly disappeared, one other smashed me in the face : the creative process.





Creating Stuffs is Good For Your Brain

Making a game is basically creating something with your brain and a couple of computer based tools. And that's it. Imagination is your limit (well, ok, skills may also be an interesting factor) and taking your ideas from your head and making something real with that is a fascinating process. Most important, when you accomplish such things, you feel happy, proud of yourself. there is some chemical reaction somewhere between your ears that is triggered to notify you that you have just done something pretty cool, just like an achievement popup.

If you are a bit creative, and as your creativity is not always challenged during depending of your job, you may feel that something is missing somewhere in you life. A small thing, but you know it may grow with time. If that's your case, don't think, just create something : a painting, an application, a crazy invention, a card game, a book, anything, and you will immediately feel good.



Don't Regret Anything When you Get Old

The clock is running. Fast. When you are a student, you have so many projects for the rest of your life! Then you get your first job and enter a new life : you are asked to do your best to progress and get reward (bonus, promotion etc...). Then you may get married, and a brand new set of joys appears in front of you, and so many new projects rise in your mind.
But one day you realize that your initial projects, you initial objectives are not there. You may have an incredibly happy life, wonderful wife and children, something is missing. And you know that if you wait more,  you may be unable to accomplish it. You may not be able to do them all, of course, so chose one, and go for it.


So I think that the combination of the elements above (among many smaller others) made me take the plunge  almost one year ago, as probably many other guys around the world. And right now, even if it is not easy everyday, I'm quite happy about that decision.


(note : more posts to come, like explaining why, after 1 year the game is still far for being completed :)