Game developer for a Year

2011 and 2012 were for me years of deep insecurity and confusion. You’d think that they would be memorable years. And instead, how numb they are on my mind. So far away. Of that time, i don’t even remember how i was.

15 minutes are left before the end of this year. 2013 ended to be sort of a fresh start to me. A year where i decided to ditch all my fears of doing new things, and take a path.

It was the year where i started healing my mind from the horrible belief of being worthless.

That’s it. This year told me that indeed , i am worthy. That i am able create , and do wonderful things , that please me and the others.

That it’s OK to be proud of your work, no matter how rough and green .

Even if it doesn’t shine, it’s a testament of your resolution to learn. A fruit full of your passion.

2013 is a year where i started my first steps on understanding the world and the peoples in it a bit more in depth .

The year where i learned to question myself and my beliefs a lot more.

A year where all the stress for the uncertain was replaced by stress for the crunch time, and discover that the latter type of stress at the end results in great satisfaction.

A year where i made a fuckton of friends. A year that made me hungry of discovery. A year that reminded me of when i was a kid, and of all the wonderful things that i forgot.

One minute before the end of the year.

2013 was amazing. Thank you . welcome 2014.

Annunci

September update

good day gentlemen,

i am a long way off with the updated on this blog, but i got my reasons. every month that i spend on game developing, is a month where my procrastination powers weaken. I usually write on the blog or on twitter when i procrastinate, so this is a problem :S

Nevertheless, today i gave myself the time to update/upgrade my online presence, because well, there’s a lot to talk about. And guess what? it’s all good news ūüėÄ

ok, first: how are my studies going? great! i managed to pass quite a lot of exams during the summer session.  there was a lot of stress on the air,  but i managed to accomplish all the goals that i booked this season. this is great news for me , since it meant that i have more time to allocate on game developing :3 

there’s still a long way before gaining the degree on computer engineering, ¬†but the results of this session gave me a lot of confidence. so yeah, congratulations me ūüėÄ

what about game development? well, if you follow me on twitter you will know more or less what is happening, but let’s sum it up:¬†

Even this time i joined the Ludum Dare event. the theme was 10 Seconds, and my game is called…well…10 Seconds xD

i must say that it was quite difficult to work on this theme! i mean sure, i could have done a normal arcade game and put a 10 seconds timer on something, but that would have been boring. but coming with something original and interesting was a hell of a brainstorming! for that reason, this time i had to spend 3 days to develop the game, where the first one was fully spent on finding some damn idea.  i actually started coding late on the first day.

that said, spending a day brainstorming was a good choice. i had the time to decide what were my goals, and build an idea around them. 

this time, i decided i wanted to make something that wasn’t fast paced. inspired by the august theme of 1GAM, i wanted a game that could make the player think on a different way from all my past works. ¬†and well, let’s say that a certain point during development i wasn’t really trying to make a game.¬†

the second challenge i set was the art. this time around, since i wasn’t going for a complex game play, i decided to try myself on the animation side of the game, and the overall aspect of the game.

the end result, 10 Seconds , is a single event, with free interpretation from the players. 2 men facing each other, with a gun under the hood, and only one information: you have 10 seconds.

Image

I also was very satisfied from what i accomplished for the art. doing the animations was quite difficult. it required a lot of care and it was time consuming (that’s the reason both the men have the same set of animations :P). however all the care and time spent were really worth it. and this time, i decided to put damn audio on the game. i don’t want to overlook this anymore, from now on my games will need sound! ¬†for me, make or find the right audio and music for my games is a hell of a challenge, but man is it worth it \:D/

so, after spending the last hours tweaking things, hunting bugs and paying attention to the experience overall, i submitted my game for the LD.

some days later, i also published it on GameJolt, because why not? they are totally more organized than me on hosting games, moreover i could track the number of peoples playing my game.

fast forward to today. a couple weeks passed, i played quite a number of LD games ( though i am not hardcore like certain developers :P), and damn my jaw fell down.

i didn’t really expect it, but my game actually had some serious success.

I received a ridiculous amount of very positive comments on my LD page. and on my gamejolt account (that btw is not linked to my ld page), i can see that 150 peoples played my game! adding the ld peoples, we are near to the 200 peoples playing my game!! D:

that’s an awful lot. i mean, wow! that was completely unexpected! xD

this gave me even more motivation on continuing to develop games. the feeling that i have when i make a playable game is great, but knowing that peoples enjoyed your creation, is really priceless.

and well, on Game Jolt i earned 0.15$ . now i am a professional! xD

to everyone that played my game, thank you so much. you guys made my month ūüėÄ

 

so, we talked about studies, we talked about ludum dare. what now? 

well, i am woking on a long term game. yep, you heard right, i am doing that fancy thing, finally. and not alone! but let’s tell things on order:

during june, i found a game contest called nofuture, held in france and with some nice prized. the rules were so hilarious and interesting that not joining it wasn’t an option. so i proposed the fact to some friends from the #1GAM irc channel , and we decided to form a team to develop a multiplayer cooperative game for the contest. a lot of things happened , but to make it short, we were not quite ready for the contest, but we decided to continue working on the game idea, we found some more peoples and day by day our idea is taking a solid form. i don’t want to spoil everything ( more like my fingers are passing out) , and also it would be quite boring to read the game idea, when instead you will be able to play it in the near future.

That said, expect more updates on twitter and on the blog with images, videos, and livesteams of the development ūüôā

to wrap this up, i inform you guys that i finally bought and assembled my new pc. it’s quite the beast, and with it i am able to give form to more ambitious projects. ¬†it will probably require time, but expect great things in the future. i have ideas that i want to bring to life no matter what :)=

I hope you guys enjoyed this update. till next time, cheers ūüėÄ

Watacoso

 

Bug Hunting: Post mortem

And finally, with more than a week of delay, i decided to write something on the blog about my last game. ¬†I wouldn’t really call it¬†laziness, Because than implies that i just¬†lollygagged¬†¬†instead of doing something more constructive. Truth is, between study, trying Ludum dare games, and experimenting with new engines, i easily run out of energies. And it’s almost the case even right now, but i spared some hours on these days to complete this taks.

I like to write on my Blog. It wouldn’t seem like it, but it’s true. I find that writing notes, updates and discoveries of my experience as an indie, is something of relevant importance. In first place i am writing down my story as i walk and tremble in excitement for all the new things i witness. Then there’s the fact that i can carefully collect my thoughts on my last work, To understand what i did right, what i did awfully, what i learned from these facts, and To discover what’s the next step.

So, let’s talk about Bug Hunting.

http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=18332

SS1

It’s a dynamic shooting game , where you need fast reflexes to destroy the black square of DOOM, while avoiding hordes of enemies. But Meh, i am not really good with descriptions, so i suggest you to try it, and it will be pretty self explanatory.

Even this time, HTML5 with the createjs library was my choice. For a 48 hours developing cycle, i didn’t want to stress myself trying to make sense of a new platform.

This was my first attempt to a game with a moving camera. Finding and implementing a solution was a bit time consuming, but rewarding. Thinking about it right now, i am not completely satisfied by the implementation, since it was hardcoded to a relative extent, but it works well anyway, and now i pretty much know how to do it right.

While working on the approach of the ship with the game boundaries, i found out that making the player bounce around was pretty fun. I mean, it’s not something that i saw often on similar games, and it was kind of refreshing.

Then it was the turn of the enemies. As always, i was doing a mess with¬†trigonometry¬†, so i spend an akward interval of time to figure out how to make a seeking AI for the enemy. I also spent a bit of time on tweaking the max speed and the acceleration of the enemies. After finding a good equilibrium, i decided to polish a bit the graphics. I was working with some hand made pgn images, and at first i did not really care for¬†symmetry. Then i thought, “Since the entities are all going to be groups of simple shapes, why don’t i draw them directly with the canvas element?”. I am really proud of this choice. The loading time was now petty, and the game was now smoother , even with a lot of entities ingame.

(Guys, bear with me if i seem excited even by the little things. At this point of my “career” ¬†, i am ecstatic by every little thing i think i do right, and it’s such a good feeling xD)

Ok, at this point i had somewhat of a playable game prototype. There were still a lot of things to do, but i conceded myself some minutes of simply avoiding enemies, parkouring with the stage borders. I liked how things were going.

Next on the list were bullets. Not that hard to do, this time. What i found hard was (sigh) collision.

This time i had to confront a new problem. ¬†Not to identify when a collision¬†occurs¬†(i went with the radius collision system, and i tweaked the collision radius of the entities until i was satisfied by the results). Rather HOW to react. i first started experimenting with single object collisions ( first the core, then the obstacles), and i had some sporadic problems of the ship being stuck. The situation worsened when i spawned multiple obstacles on the same area. Since the problem wasn’t trivial, and i didn’t have time to research or invent some algorithm tailored for my problem ( i was at the morning of the second day ), i decided to leave out collision responses from the code. I also programmed the ship in a way that it couldn’t shoot when with obstacles below, so that it could reach the core only from outside the blob.

The rest of the day was spent on making the game more appealing:

-swapping the placeholder graphics with something reasonably polished;

-UI (Ugh, i hate that thing);

-level generator and scoring system;

while doing this, i was also developing a static shooting kind of enemy. Turns out there were some strange problems that i wasn’t able to solve with the remaining time, so i¬†trashed the work after some time.

And after doing some trivial modifications, i uploaded the game online, and there you have it, Bug Hunting is a game! the next day, after filling my health bar in bed, i tweaked  a bit the parameters of the level generators, since the game was unplayable, and i must have been on drugs ( damn you, need of sleep!!).

the game did receive some good critics, and i took note of all things that could have been done better.

Even this time, i didn’t put effort on making any sound or music. And big error again, since they would add a lot more to the game. I can’t justify myself with the lack of time. I could spare an hour or 2 making something. All i needed was planning ahead that part of development.

Players were conflicted between the ones that liked the controls and the ones that didn’t really enjoy them. I will need to form a better opinion on this, after some testing.

Player enjoyed the frenzy of the game. Meaning i somewhat hit the right ratio of completing ¬†the goal versus staying alive. it was noted though that a more rewarding goal would have been better. In fact a lot of players told me that they didn’t really have any incentive on completing a level, since they could score big just killing the bugs.

And it’s true. The only reward you obtain clearing a level is increasing a score multiplier, and i didn’t even advertise this thing ūüėõ

What i learned here is important. An appealing game is a game where the player is rewarded for his/her accomplishments. Now that i know it in practice, i am a better game designer xD

It’s worth to note though that the players generally liked to play the game even without completing a level. And that’s something i can confirm. the fast movements of the ship, in¬†synergy with fast reflexes to avoid and shoot down the enemies, is something that i found very¬†entertaining. I can say that this game is so far the one that i liked to develop and to play the most. And since the game concept in in my opinion interesting enough, i decided to make a complete game out of it ūüėÄ it will require some months, but i believe i can make my first commercial game out of this. I will target Desktop and Tablet market, since they are the more adapt for this kind of¬†game-play¬†. I still don’t know if i will work alone or with some other peoples. time will tell what is the best choice ūüėõ wish me luck guys, i will need it ūüėČ

Meanwhile i will continue to join monthly some game jams, when time permits. This month i have my sensors toward the First Legendary fishing Jam, hosted by Sophie Houlden (WooT!). give it a look, guys. it will be epic xD

http://jam.legendaryfisher.com/forum/index.php

Finally, i want to wish good luck to all LD26¬†participants¬†for the voting phase . i don’t really expect that my game will take me really far, but i don’t really care anyway. i had a lot of fun this time, and the theme was amazing xD

Stay tuned for updates, guys, and see you next time ūüėČ

Solitude Post Mortem

Good evening. Man, what an interesting week!

It’s fun to think that a week ago i decided to join the GPC (Game Prototype Challenge) in a whim, and now i got a brand new¬†video game!

icon

Solitude is a game based on the themes “Island” and “Entangled”. The goal of the game is to get all the floating crystals on a level and take them to the teleporting device. To do that, you “tie” the floating crystals to your ship, and you pull them. It’s some¬†sort¬†of puzzle driven snake.

completeGame

 

This time, i was especially amazed by my speed. The experience on making Goblin Rampage (both versions) were priceless. In fact, this time i completed the core mechanics of the game a lot in advance ( Yes, i learned my lesson ^_^;) .

The problems started when i had to do level design. This will probably sound dumb, but i thought that i just needed simple game mechanics to make a good puzzle game, and that the ideas to make challenging levels would swiftly come.

So, this time i learned this : Never, Ever, assume that level design is something that comes natural. Even when the game was made you yourself!

You can’t just take a random game mechanic and assume that you will instantly know how to design good levels out of it. Heck, It’s even plausible that you can’t pull anything interesting, no matter how skilled you are.

I must say that this did not leave after burns on me. After all, having problems on making levels was expected, since i never did it before ( And it was my first shot at tiling, so positioning tiles with Tiled was very time consuming :S). Also, what matters is that the game is complete, no matter what. The things that i set out to complete first were done on a wink of an eye!

This is without a doubt really satisfying , but it made me wonder.

All this speed, was due to the fact that i knew how things were done. Now, A Shmup and a puzzle game are of course really different. At coding level, and on spriting too, i had to do things in a different way, and i also had a more efficient approach on how to structure my work.

Still, i don’t think I felt a challenge strong enough. I made something new, but it wasn’t enough.

I merged this thought with some discussions with fellow developers of 1GAM and other game jams, and with this article i read today , http://indiestatik.com/2013/04/15/why-freeware/ , pondering the cause behind the will of posting your game as a free one.

You can take a lot of things from that article, but staying inherent to my thoughts, it reminded me an important concept.

As a game dev, i join game jams for 2 main goals, that is,

Learning new things in a very effective way , and posing a challenge to yourself.

Of course i join game jams also because i enjoy making games, but usually this enjoyment is tied with the challenge.

Thus, the fact that i succeeded  on making this game without commendable difficulty ,

is of course something to joy about, cause it means you are in the right way and you are learning good practices. But you also need to consider it an orange light. It means that you probably will have to higher the ambition and difficulty for your next project. Don’t stick to something that you probably know how to do, and remember that the Failing at making a too difficult game is never a fail. In fact, you will probably learn a lot more trying to make something new, and studying what made you fail, than succeeding in doing something more feasible on your standards.

Truth is, by no means you should always start with this philosophy, unless you are masochist. And you probably don’t want to use it when doing a commercial work.

What we need is middle point , and moving from that depending from the situation.

This is, on my opinion, the best way to take all you can from every game jam you will ever join.

Ok, guess this is all i wanted to say. I will be back for Ludum Dare, Folks. Have a nice day!

Sneak peek

here is some chat text brainstorming a story:

 

the setting is on the sky between floating islands

[10:11:37] Kannas Tack: the player (the thing that should seem a zepelin) is an operator with the job to take the crystals floating around these islands , and send them back to his corporation
[10:12:19] Kannas Tack: we don’t know if this player is human, how long was he here, or if there are other entities on the place
[10:12:29] Kannas Tack: thus i used the title solitude
[10:13:36] Kannas Tack: the player ( be it human or robot) will ask himself, during the game, will ponder about his situation,even asking himself if his corporation still exists
[10:13:40] Kannas Tack: hmmm
[10:13:56] Kannas Tack: at this point the player could be an intelligent bot
[10:14:08] Kannas Tack: and it could be working for hundreds of years
[10:14:27] Kannas Tack: thus not knowing really anything about his creators situation
[10:15:37] Kannas Tack: for all we know, the humans that made him could be even extinct, leaving the player entangled ūüėÄ on the role of one of the last relics of human world
[10:16:08] Kannas Tack: wow, this gives me the idea for the last level

[10:16:58] Kannas Tack: on the last level, the drone has a malfunction. He is able to make only n more movements before shutting down forever
[10:17:06] Kannas Tack: yes? xD
[10:17:36] Kannas Tack: damn, i tend to make books on chat : S

 

stay tuned for the real game ūüėÄ

 

January entry: fail

Sort of. These ten days were challenging and intense, and i don’ t regret them.

I wasn’t able to complete my game before the end of¬†January.

I made a lot of things on these ten days, let’ s not misunderstand. i made almost all the graphics assets, animations included ( yay!) and the game mechanics are sort of completed at this point. But there are a lot of things missing.

To begin with, too few enemy types. i wanted at least another type of enemy on the game, to make it more interesting. i had no time

Then there was no UI, but that¬†wasn’t¬† t a major problem. making some text based UI isn’ t difficult after all.

I can’ t really say if yesterday i could have done all the sound and music assets. It had to be yesterday, because the other days i was completely packed with coding and drawing.

I even wanted to add a boss, but guess what? no time at all

I could pass these things, true. i could pack what i have, and use it as my January entry. but yesterday night i thought that the game could have a lot of more potential ( at least for me) if done right. so , at 4:00 i am, i gave up the idea to submit the game and went to bed. and man, what a sound sleep i had !

wooosh!

So, why was i on these situation? well, it seems i forgot a bunch of things i learned on my first ludum dare:

first of all, i¬†overestimated¬†how much i could do in ten days. what i did, the isometric graphic, was something to completely new to me. i had a lot of things to learn on the road, like (lol) drawing isometric sprites, make animations make a proper collision detection, etc… the good thing is that i succeeded on the task, and i can use this game as a reference for my future isometric games. the bad thing is that the task of doing while learning was really time consuming.

then, there’s my ability to use¬†JavaScript¬† It seems it’ s pretty bad.while this time it was more easy find bugs ( the console is my best friend ), i was still attached to the false and misleading idea that java(or any other OOL) and¬†JavaScript¬†have similarities beyond some of the¬†syntax¬† this is a huge plague when you try to implement things that in OOL are normal, because in java they¬†aren’t¬†! the result: there’ s a lot of really bad code in my game. there were a lot of shortcuts i could have used to make the coding process more fast, and instead the code , in most parts is really redundant.

if i hope to be a better¬†JavaScript¬†programmer, i need a lot more dedication on it’ s study, to find out how good¬†JavaScript¬†code is done.

Lastly i think, i badly managed my work, and how i felt about it. I mean, these days were fulfilling, exciting, interesting , a lot of things, but the adjective i will remember the most will be “stressing”. i wanted to do a lot of things in very few time, so i packed my days just working on it, even at late night. i even did a¬†all nighter.

That was really detrimental.  Sure , the first days were  pretty ok , but slowly my hype lowered, and left space to stress and nervousness . it was still something i gladly did, but it worked against my focus and my performance.

to anybody reading this. how do you handle this situation? with what mindset do you approach your work?

working mode: on

So, i am finally working to my projects.i have less than 10 days, so i need to speed up. On these days i decided a number of things:

the game is going to be isometric. both because my LD25 entry failed to give the depth feeling with normal (and well, crappy) graphics, and i was curious to learn to make isometric games. ergo, my game upgrate from sidescroller to dualSideScroller! isn’ t it majestic?

I also decided to change js library. i am not using craftyJS as i stated before, and i am learning createJS. most people will think that the appending components patters is really good. i think it too, but it was my first time programming in such a manner, i had a strange feeling using it, and i disliked it ūüėõ also, beign createJS suite backed by adobe, i think that on the next months it will become a robust alternative to flash, in terms of quality.

i don’ t know if for the music i will be able to make something or if i will use royalty free pieces. the sounds will be mine ¬†( on these days make 8 -16 bit sounds it’ s pretty easy).

here a photo!

roadConcept

i just finished to make the scrolling road, but i need some tweaking, because as it is, it hurts my eyes. and next, working on the player. see ya soon!