One year ago first post on this blog: so many hours wasted in programming videogames that no one will never play?
Not so easy.
I've learned so much from this first year (as always)!
- Timehero, a big project with some friends, never released because no one other than me (and Giommy) do something. Idea is still here: build a fantasy-game with no-story, but only some rules and an evolving world. Slick is a good framework to programming 2d videogame, but too poor analysis resolve into a something big and horrible. Abadoned for now!
- Jpacman is a more little and focused project. Build a simple Pacman clone. I've learned so much from this project! Start from basics is now my first rule. Game works well, but is imperfect on collision detection&response, mainly because I've incorporated old Timehero code into this project. Fun and easy to program and play!
- Cute Tower Defense is another little game, defense tower, this time. Nice graphics (thanks to Lost Garden) and different gameplay. I've learned that collision detection&response is not so easy to do, so I've removed the problem: player control everything using mouse and all is moving using a grid.
- You Can't Win is a 2d-vertical-shooter when you can't really win :D An infinite horde of enemies try you kill the player. I've learned that I can evolve my style of programming games, using entities system. It's so easy to build and use it in different project, but this system must be aimed for particular style of games: without this in mind, I've coded only classes that I've used only in this game. Plus I've participated to Axiom Contest with this game, winning nothing, just because I didn't read carefully all instructions. Another lesson!
- TonyPA Platformer is my first platformer. I've played so much with Super Mario Bros, Sonic, Bubble Bobble in my past that build something similar is a dream :D But.. But doing gravity system and collision system is not easy! Reinvent the wheel is not the most smart thing to do, so I've searched a lot in internet a good tutorial how to build something in java.. And found in Flash! An exercise, but another lesson learned.
- Zombie Employee is a radical change: using Actionscript 3 for first time to build a platformer in many ways similar to Tony PA Platformer, but different. And I've learned an hard lesson: people like Flash, not Java. Java is easy to learn, to program, but easy to use is most important for end users. And what I want is many people as possible that play my games, this is my reality!
So, after one year of programming videogames, It was worth the effort?
My answer is YES!
Programming videogames is fun, there is so much to learn and think and you can meet so many smart and kind people from all around the world!
My first-year lessons:
1) think before do,
2) think before do (again!)
3) write your idea and shar it before code a line,
4) make it accessible for users: Flash/Actionscript3 is perfect for small-size games.. and everyone have flash player installed. Another tecnologies can help when games must be downloaded (Java for example!)
5) don't bother in reinvent the wheel: use search engines to find another's ideas. There is no question of copying, but to understand!
6) share your code, use GPLv2 or other licenses, you can help someone to learn,
7) find good forums, sites and build community, ask, learn, answer!
What for next year? End Zombie Employee and explore new type of games :D