Friday, February 26, 2010

Zombie employee - v0.4

0 commenti
(See original post and first update and second update)

A zombie employee wants to escape from a bad boss and cumbersome and tedious tasks. Do you wanna to help him?


Ten (yes, 10 !) new levels, blood, new puzzles, an user interface: now Zombie Employee is playable from everyone, just try out here:



How muche deaths separe you from the end of your Zombie Employee's task?

As always some random notes:
- 20 new levels,
- spikes covered by your blood when you death,
- death counter = less is better!
- use R to reload when stuck on a level, remember reload count as death!
- all old level revised (thanks to Daniela, Zo, Flavio, Fabiano and all my playtesters!) + 10 new challenging levels,
- and game analisys
- on GameJolt and Kongregate
and Newgrounds


Programming stuff:
- GravityActor.as now is a generic class for Player (Player.as) Euro's (Vaso.as) and FallingBlock.as, take care of gravity stuff
- Assets.as for image, text, constants,
- EntityFactory.as is just a factory to
- all levels are now stored into "data/levels" as level0.txt, level1.txt and so on..
- in Level.as you can turn on level editor, still in development, use:
- left-click of mouse to place current piece on screen,
- C to cycle throught pieces
- L to re-load currente level definition,
- P to print current level definition (like in level0.txt) into trace debug output,

You can download source code here:


To get source code, clik here:

Thursday, February 25, 2010

After one year

0 commenti
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

Wednesday, February 24, 2010

Zombie employee - mindmap

0 commenti
With Zombie Employee'm trying to build a simple platform and for this, as mentioned earlier, I'm trying to formalize the idea, analyzing them.
That's why I built the following mind map:

Monday, February 15, 2010

War and peace

3 commenti



War and peace is a game about choices, in fact one. In this one button game, you decide how to research in your civilization: war or peaceful technologies?
Fast to play, good to see (graphics doesn't matter here!) and must-play for everyone interested in gameplay analysis and mechanics.
Achieve all three ends is not so simple, but is rewarding!

Try it!

Here small "interview" with Stéphane Bura, creator of War and Peace (thanks Stéphane):



Me: what is story behind this game? how do you design it ? what type of challenges behind it?

Stéphane: I developed War and Peace for the One-Button Gameplay Gamma 4 competition. I wanted to make a game in which pressing a button had a maximal amount of meaning and consequences.
The hardest part was coming up with the variables (Growth, Research and Power) and their effects. I wanted to be as faithful to Civilization as I could, while still making the game as simple as possible. Surprisingly, I was lucky enough to come up with numerical values for the various prices and behavior triggers that produced an interesting experience right from the start, so very little tweaking was needed.

Friday, February 12, 2010

Zombie employee - v0.3

1 commenti
(See original post and first update)

Click on image to play

Zombie Employee


First testers says that Zombie Employee is nice, well done, but i'm ready to improve it!
Following Ashley's advice i make some moveable blocks and wow!, games now is really more intersting: is something like a puzzle/platformer game now!
As always, any feedback is appreciated, in particular about bugs and difficulty: i'm trying to build every level different, with little more challenge in everyone, but game, IMHO is too simple.
Graphics will be replaced, i think, but i'm in love with this little zombie and his strange world of gray (and blue) blocks :D

Zombie Employee

Change log:

- moveable blocks,
- gravity now affect collectable euros,
- 10 new levels,

Some random notes:

- what type of background for every level?
- what about music? any idea? something when euros are collected, but what else?
- i need a preloader for this flash game :D

As always source code are available (GPLv2 license), click to download:

Wednesday, February 10, 2010

Flashdevelop and debug

0 commenti
If you ever try Flashdevelop (see my past thoughts about it ) you have been surely disappointed by a major lack of debug tool. You can build incredible, funny, little or big games, with incredible graphics, but without a debug support, your only ally is a poor trace command, that copy something in your log.
Finally I've discovered debug plugin that works fine Flashdevelop 3.0.0: you can found all information into project's forum and wiki

How to install debug plugin:

Simply download zip, unpack it and copy dll in your \Plugins directory. Now run Flashdevelop: you can find a new menu (Debug) and can customize keys with tool-> program settings-> FdbDebug. You need Flash player debug version to debug

How to use it:

To place a breakpoint simple click with left button of your mouse holding shift in gray area between line number and editor area. No click on Debug -> Start to start!
When you start debugging, may notice that three windows appear

* Stack: show call stack before breakpoint, useful to understand what method called before your breakpoint,
* Breakpoints: show defined breakpoints and can be useful to disable breakpoints,
* Locals: show local variable in scope of current step

Now you can Step over your current line, step into or so on. Move mouse to a variable show it value runtime :D

Some random notes about:

1) Why is not part of flashdevelop? Because is a plugin, but IMHO this must be part of main distribution after some decent tests!
2) Why this plugin comes without some "standard" shortcuts? I know that standards are difficult to decide and maybe so many shortcuts are used by other plugins, but with Eclipse, for example, I have always see F6 to step, F8 to continue and so on. Users can always customize shortcuts, but newbie can really be less confused about use of this plugin, right?
3) Why moving toolbar and exit from Flashdevelop cause toolbar to be set in "default" position and not in "my" position?

Points 2) and 3) seems to be related to my habit with Eclipse and concept of perspective? I don't kwnow, but I think that position of views/toolbar and shortcuts could be related to debug working, not as "absolute" of Flashdevelop.
This plugin is open source, sure: I , like you, can improve it. Maybe one day, for now I'm learning as3, not C# ;D

Tuesday, February 9, 2010

Zombie employee - update

0 commenti
Simply click on image to play:


Zombie Employee


Is really amazing like a little project like this can be so satisfy: few lines of code and little zombie is jumping around, find way to accomplish obscure non-sense task... retrieve all euros of a bad boss :D
Apart of the story (just an excuse for now to jump!), i enjoyed so much with this little prototype and as always i'm opened to new ideas, so please contribute with comments and feedback: this is a little blog, of a lone "wolf" (maybe bear?) developer, but i'm here :D

Some random notes about this game:

- adding spike is so easy! Just copy euro object, change collision type.. and i have an collidable that player can handle, amazing!
- my pixel art is not so good, but all here is mine :D
- now tricky part is to build a good gameplay: all "engine" part is here, not perfect, but i've all pieces: enemies, i'm looking to you!
- huge refactoring into source code can help in near future :D
- level are now embedded into Level.as, as arrays. This approach is bad programming or cowboy programming, as you like, but i can focus my time to make game work, not let everyone build level,
- i'm thinking about a little level generator for this game: infinite levels are enough?

click on the icon for source code of this game (licensed as GPLv2):



And see here for first blog news about it.

Friday, February 5, 2010

Quest system - part 4

0 commenti
(you can read other parts: part1 - part2 - part3)

Soldak is a little one-man company that build incredible games.
Current work is named "Din's Curse" and is the most promising game this time (like Alpha Protocol, but is AAA-Title) in quest system design.
In the forum are explained ways because "Our quest system is unique".. and i really like this system!

Consequences:

Two factions have been at war for a while, but now a representative of each is meeting with one another and trying to broker a truce. In a typical rpg, well neither of these things would probably be possible in the first place. In the remote case that they could, the two would sit in their location forever doing nothing until you killed them. In our game, they will only negotiate for so long. If they finish their meeting, they will declare peace with each other and possibly even declare war on the town now that they have the free time. If you can kill them both while they are still in the meeting though, their respective factions will think they have been betrayed and continue their war. And yes a war between two factions means they will fight and kill each other when they meet in the game.

Why i like this approach? Because modern games (rpg or not, is not important) lack of this prospective: don't bother player.
In this days i'm playing Borderlands: a great game, fps with some rpg element, with really cartoniish graphics, good sounds, multiplayer opportunity.. but quests is stupid, really really bothering me.
Why?
Because there is no hurry, no consequences, no failing, no real choices: all stuff that Din's promise.

I really have great hope for this game :D

Tuesday, February 2, 2010

Flashpunk Hello World (Shooter) part 2

0 commenti
(Part 1 can be found here)

I've updated my little example of capabilities of Flashpunk on GameJolt. I've also opened a topic on Flashpunk forum (try to read it, a lot of good tutorial, ideas and code!).
To try my little Hello World Shooter, just click on image:





Here some change log:

- hit point system,
- player shoot with different weapons using: Z/X/C/V/B/N,
- exploding enemies,
- restart demo pressing R,
- pressing Q fire enemies

Code is not perfect, clear, understable for all, but works well with Flashdevelop, so if you want to play with it, download source here: