Tuesday, February 26, 2019

Ten years later

Ten years ago, I've started this little blog.

Many things change in my life, in the world, so much I'm not even able to write them down.. simply everthing! I'm not even the same person too!

But in the storm called life, one thing stay always the same: call from the siren.. and this siren is videogame.
As child from eighties is easy to be catched from videogames: colours, movements, actions, puzzles, so much. I remember myself as little child, amazed from sonic games: speed, action, colors.. too cool!

So all started from a dream from a little child: I want to do videogames! This is more than a dream, is a passion, and even before these ten years, I've played, learned, started programming again, again and again. Programming is my job too, and everything related, but in the end, the dream is my goal: I want to do videogames!

So I have started, from JPacman.






I remember perfectly first tests, then movements, collision that does not work as I want and more important: getting inside a system, a little world filled with rules and tricks. Not all ghosts move the same, a simple pathfinding algorithm can make them move in really different ways


Then next move was to build, in few days, a quick prototype: Cute tower defense


I wasn't really enjoy too much doing graphics, so find some nice graphics done, build again a simple system, do level design (I've done also a level editor, so crazy!).
From this little prototype I've learned better Slick2d, how to organize code and started to partecipate in slick2d forums too!

Then I've started to read other game's code, learn from them and started with contest phase, because I was struggling goal: what do to? where to put time ?
And You can't win was done, again with already made graphics:



A simple top down shooter, where you simple can't win, because of the endless hordes of enemies. A nice little game, with a programming craziness: because I fallen in love with entity base games, I've made a framework from scratch for this game and never use again. Another lesson, I suppose!

Then I simply started with another genre: platformers. I remember to do a lot of research, work and many prototypes, one for example this one (with simple graphics):

https://lh4.ggpht.com/_D9FyA78ffcA/S4Z8p3yKnYI/AAAAAAAAAWY/IzsDPL6TLRE/tonypa.PNG

This prototype is important because give me confidence: how to build another genre, complex mechanics (jump, double jump and so on for starter is hard). It was playable using webstart, amazing tecnology that new browsers killed. I wasted a lot of time on applets, webstarts and so on and get a lot of frustration from them. Why was not eays to design, build and distribuite my games?

So my interest moved to Flash and Actionscript: that was crazy, I simply put on hold all my knowledge from past games, learn new ide, new language, new way to work, only to get a prototype running, in a browser.

And because there was a lot of free time I run also a contest "Slick beer contest" some crazy people from Slick2d community build games on this topic. Great time, download a new entry, try it and review it. Really cool games, around a strange topic: beer pacman? Drunk bears? How knows!

And then came flashpunk!




https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs58fuFkaAulvNSOfyiU7TdCJrvpQEapqT01w4QhtCmipvOyLmA2aFpECd63QTG46Y2h1Zz0qxOsYi5FAaiiRMdQG0B2uW9ahIM7M1ANrHPinKn2td8eyn2TLale0D7fUmA1w5iVbbLdbk/s320/flashpunkLogo.gif

Flashpunk a game changer for me: a vibrant community, a lot of inspiration, different genres, a lot of examples, tutorial, a big forum (now dead!) and more important a way to play faster games using flash.

I've made some games and more important my first real plaformer: Zombie Employee



I love it, even now, after all those years. Little zombie employee trying to figure out how to do a task, without being killed.. and get the money. Many people found them inspiring and enjoyable, I'm still proud of this work. I remember start of Zombie Employee 2, but lost inspiration: longer projects wasn't for me at the time, so build, design, iterate (all levels was defined as csv, in excel and read on start.. crazy but works!). Something I have to remember: a child's dream come true with this game!

Fun fact I really don't remember until now: some crazy dude download ZE source code and adapt it and build a game! I don't think a greater compliment than this :D

Then something changed. Flashpunk wasn't so active, forums calms down, Steve Jobs said that flash will be dead soon and then I come back to my first love: Java.
I simply adapted ideas from Flashpunk and MarteEngine was born: first test.. Pong.


Why go back to so such boring game? I remember like yesterday: because to do a framework, you don't have a start from scratch every new project. So build a little foundation, improve and so on... what better playground is than pong? Player controlled characters, few rules and a nice mechanics (change ball direction on collision.. yes! collision AGAIN, but this time solved once for all!).
A crazy man started to help me with MarteEngine and done a platformer using it, Starclearner!
I've made also a try to make it working MarteEngine on Android .. I was crazy at time!
A crazy student used MarteEngine to build a work for his study, Nativium.

But.. I wasn't even learn from my past mistakes and build another game from scrath: Escape From Colors.


 Escape from colors aged really well: abstract graphics is great and does not care about graphics enhancement.. and the game is cool! I have to come back to this kind of games in the future, because are really cool and you can do a lot of nice games!

And then AGAIN, move back to Flashpunk for a quick game for a contest: Airheat



So I've made a game about a plane that moves around.. done in 4 days, no scrolling, forgettable, I think, not so proud, like RandomLD19. These games existens means only that I can do a game in few hours, but I'm not sure about quality :P

Honor mention: Ludum Dare. Amazing experience, great community a lot to learn, play, watch sometimes overwhelming too. I suggest to newcomers in videogame programming to try. Simply don't care about result, care about journey. Limited time, limited resources, let your ideas simply come out.

Because I love so much Ludum Dare, I've made another games, like Summon Heroes to Go Home:



Again made with Flashpunk, so my internal knowledge on how a framework should be done increased and also MarteEngine improved too. (I've made also Escape in 60 seconds, Bot-Volution, Cata Cthulhu)

And then I was ready to build my first platformer with Java: Fuzzy!



I remembered all the work with graphics (build from scratch1) and physics. All made with MarteEngine. a work, but with scrolling too! I was so proud, even if is more simple than Zombie Employee in terms of mechanics, was the proof that MarteEngine is ready to build games!

And after "master" a genre (at least from child prospective inside me1) I started with another world: roguelikes! Goblin invasion was first try. Not too much to do other than kill Goblins, but found information gives me inspiration to build later MarteEngine roguelikes tutorials.
Many people comes here to say thanks for those tutorials, far from perfect, but was something I want to made, for my on first step then others: give back something to the community because a well made tutorial to do a roguelike in Java (and tiles!) was missing at the time.

Then I go back to tower defense and found after a bit an hard problem: user interface.


If do this game was easy, build an ui, make it work and improve MarteEngine too became a little too much for me. Wasn't really following my main goal, right? I wanted to build videogames, not framework.. a lesson that I've learned now, but at time I simply spent too much om this game and on MarteEngine and lose motivation..

So I simply decided to start to build a quick Android game, Catch the cat:



Players at first sight say.. okay easy to tap and catch the cat, right ? No, if an evil programmer make the game impossible to win after a bit..
Fun fact: I wasted a lot of time on achivements and on ladder system.. waste of time. A simple local leaderboard is okay for a prototype!
Thanks to Viviana, that made some decent graphics, game now is more clean an easy to understand


Cool right ?
But mobile games was fun do to at first: quick result, anyone can play them, but you require to upload on play store, support a lot of different design an behind the scenes I was using Slick2d on Android, (SlickAE was the name) not supported.. so because I was not interested on build another framework, I simply forgot to make new games on Android.


And then came my most beloved games: Childhood toys



This little game is simply art from me. My most loved genre from childhood (platformer) mixed with few cool mechanics and more important, my childhood. Until this game I've found hard to explain, even myself, how much hard is to grown up, to let go childhood toys, forget them to become adult.
If games are played from children to understand reality and other people, this game for me is my explanation of this journey: how to become a man.
I want to play it again and save screenshot here to remember in the future:














After all those years, this little game moves something inside me and make something clear: everyone can do art, in any form. Writing, playing, painting. In my case was a little videogame that nobody played and no one can understand properly, because talk about me, my story, my feelings.
I'm not sure if videogames is art, for me, Childhood toys, was.


After Childhoot toys, I was empty. My life changed again, in better and worse and with all moving, programming was not so important.
After some times I've come back here with another platformer, Gravity Duck:


My was a tribute, with no story or feelings: only a nice mechanics where a duck can walk on ceiling.This was my piccacle (sic!) as pixel artist, because all was made by me. From the duck, to grass. And was fun!

And again with roguelikes, with CryptoRL 1:


Is a more advanced version of Goblin Invasion, this time made from scratch, no graphics, like an old style roguelike. I still love it, because of his simplicity, you can add a lot of cool mechanics quickly, without going mad with graphics or pixel art.
Fun fact: in retrospective, I've made my best looking game, Gravity Duck and then a no graphics game at all. Cool!

And because I was learning something at the time, I've made a direct sequel.. with graphics, Crypto RL2:


Now with proper graphics game is for sure much cool, but behind the scenes I was still using MarteEngine, so using what I've done! Cool!


And then I've started a 7 days challenge against me, to build a little game, A droid story:


As you can see with this so cool gif a little robot on left has to go to teleporter on right, avoiding mines on the middle. What is cool about this project is the meaning: build a little game, after a lot of free time spent on CryptoRL2, with clear focus.. and I love puzzle games (remember Zombie Employee? right!) and started to experiment with libgdx, building a MarteEngine libgdx like framework.. but again framework are not my focus!

Note: after Slick2d community dead, libgdx rising, I've decided for the switch. I still love Slick2d for simplicity and MarteEngine was build on top of it because of that, inspired from Flashpunk.


Over the years I've also collected some ideas on how to to marketing for your indie game, here some tips. Like anyone that had ever build something, share with the world using internet is an amazing experience, but also frustrating and find a decent community, get feedback, improve on that, is every year more important. I made games for myself, but comparison with others is important too!


Then came Drone Swarm!


This game is like no one I've ever build. You had to control specific point of the map, it's minimal and more important there is a little AI that punish you If you don't know the rules.
Fun fact: to keep motivation I've started to write less and use all my time on programming, making posts only on updates.. this helps me a lot to keep focus!


And here we are, present days: Infiltration.



Years ago I've founded a game that in the end was only a fraud, only videos. I got frustrated and tried to build a protype on an initial concept. Works quite well, organize work in small releases and uses.. plain java with swing for interface, cool after all these years, libraries, frameworks to go back to good old Swing, no ?
Fun fact: because I've learned how to do minimal marketing, this prototype is the most downloaded game made by myself! And I have a new update almost ready!


Conclusion

If you start with this hobby (not a job.. hobby!) keep in mind my words: you will waste time.
A LOT.
In the end you will have some decent half-working prototype, but ONE thing that no one can see.. your journey.
I'm a better programmer thanks to those games I've made in last ten years. I can analyze and understand better complex systems.
This kind of ability I think is crucial for any modern human being: human is complex, societies are complex too, so focus on a problem, be able to analyze it, divide in sub-parts, understand how they interact each other is crucial.
You will have to do some sacrificies, but I can still see my childhood toys with eyes in my mind.



See you next time, space cowboys!

No comments:

Post a Comment