C++ Event System using Delegates

Recently I’ve been working on an Event System in C++. You might be reading that right now and wonder why that small sentence makes it sound like a true endeavor. Well, it was. As many of you may know I’m a student at Champlain College, and in one of my classes, each of the students are tasked to use an event system or a messaging system in their game. The teacher provided us with one, and it’s really great and all, but I couldn’t help but feeling restricted, especially after having used C# for so long where the code is so forgiving, and easy.

I did some research and it turns out that a lot of event systems in C++ are organized in such a way that when you want to do events you must:

  • Create an EventManager class (nothing wrong with this)
  • Create an EventListener class (for setting up events)
  • Create and Event base class
  • Be restricted to use only one function to handle your events
  • Create a huge enum holding a key for each of your events (Can hash it for speed)

I saw those and my heart dropped. I immediately thought that is way to restrictive, there must be an easier way to get events to work. And so the researching began.

Continue reading “C++ Event System using Delegates”

5 Ways to Improve Your Flash Game

You just made the best flash game ever, huh? Is that so? Before releasing your game into the wild, make sure you try some of the following:

Add a Highscore Table

Highscores are a great way to get people to play your game more, and enjoy it. A highscore table in this day and age is becoming more of a standard for flash games than ever before. The player practically lives to be ‘the best’, so why not help them the best by letting them show it.

Add Achievements

This practically goes hand in hand with having a highscore a table. Users lately have been expecting a rewards for actions they perform in games. Major consoles have them, and if they have them, there’s no doubt that Flash game players will be expecting them as well.

Have Good Audio

Some people totally skip this part. This is a vital part of creating a great game. Games that totally skimp out on taking the time to get audio that fits the game are only hurting themselves. I’m not saying throw a sound effect on every little thing in the game, I’m just saying don’t be too intrusive on how it’s played out. Menu’s should have their own music, different locations in the game should have different music. Every viral and popular game has great audio that adds to feeling of the game. Imagine you’re doing the final level of Halo to vivaldi, not very epic is it? Vivaldi would definetly ruin the mood.

Use less text!

One mistake that most developers make is that they use too much text. People going online looking to play some free flash games after a hard day aren’t looking to read, they want to relax and have some fun. So, try to avoid lengthy instruction screens. Players are looking for simple intuitive controls. If you absolutely need to have directions in the game, so be it. But, add a skip button so they don’t have to sit through it. Then, show a graphics, or something real quick to tell the controls. Just so they know.

Spend a day or two tweaking

You don’t know how many developers skip this step and are just so eager to get they’re game out there that they forget to bug check, and as a result lose fans. Let’s say a developer gave the boss on level 12 too much health, resulting in half the people playing getting frustrated. Five minutes of adjustment could have made the game that much more enjoyable. Other things could be added to keep the players hooked are save games, cutscenes, special effects, and etc.

Making a great viral flash game can be a daunting task, but I hope this guide/outline will help make that task a little easier.

Please, don’t hesitate to comment. Your opinions are always welcome.

-Tom