Hey I added a new project to github for testing the FontBuddy:

FontBuddySample on GitHub

It just does some examples of each of the different font effects. Each is drawn with left, center, and right justification so you can see how they all behave:

FontBuddySample Screenshot

Note that since this is a different project, it uses the FontBuddy as an external project, located in ./externals/FontBuddy. You might have to pull this down separately or something, idunno I’m a bit new to using externals in git.



very handy GameTimer library

I put all the game timer code I use up on GitHub.  It’s super useful for doing stuff like speeding up gameplay, slowing down gameplay, hit pause, etc.

I’ve found that Timers in games are very hierarchical.  You’ve got the main clock, which is basically run off the cpu clock or whatever and never stops.  You’ve got a game clock which can be paused, or if the game is kinda sluggish or frantic you can tweak the speed this clock runs at.  Then you’ve got all the clocks that run off that, including character clocks, particle engine, physics clocks, etc.  If these are run hierarchically, when you pause the main game clock all the ones underneath it pause too.

Also when playing a network game, can send those clocks from the server to all clients, and all the players will instantly be synched up. Very neat trick!

Anyway, this is the way I do it. From readme:

A bunch of timer objects that can be used for time effects like hiererchical time, slowdown, speedup, hitpause, etc.
The most important thing is that these timers can be used hierarchically. You can pass one gameclock into the update function of another one, which updates based on that dude's time. So the timer chain might look something like this:
/ | \
Character1Time ParticleEngineTime Character2Time
So like the MainTime is a GameTimer.GameClock and is updated first from the XNA GameTime object. This one always runs at realtime, so you don't want to pause or slow it down. Can problably run HUD or menu transitions off this clock.
The GameTime is also a GameTimer.GameClock and would be used to run the gameplay itself. This one can be paused for the Pause menu, or slowed down/sped up if the game play speed needs to be changed. Since all the clocks below this one are updated off it, they will also pause/slowdown/speedup.
Under that, you could have the ParticleEngine running off it's own clock separate form the player characters. That way when the players are punching the snot out of each other, you can add some hit pause to add crunch and the particles will still be flying around.
Idunno, that's just example how I use it in my fighting games. I also send these timers over the network to sync up the server & clients.

Tricks for importing content files into Monogame

Monogame is an open source replacement for the XNA game development library. It’s pretty neat, you can do a lot of cross platform stuff that XNA could never do. One of the biggest hassles though is that if you an existing XNA project and want to port it to Monogame, the content files need to be setup in a specific way and there’s really not an easy to do them all at once.

I’m gonna walk you through a couple simple copypasta find/replace tricks I’ve been using. Keep in mind, developing with Mono is always a moving target, so anything I post here is proooobably out of date by the time you read it 😉

Continue reading

Pajamorama 1.1 Update

Hey yall!  The Pajamorama 1.1 update has been submitted for peer review:


I’m super excited about this update, the trial mode should be a lot smoother experience and the gameplay should be much crunchier.

There are a ton of improvements in this update:


-Game is much faster

-characters do more damage

-minor balancing (Olive and Apple slightly nerfed, Sashimi and Merlot slightly buffed)

-Tutorial available on main menu

-Better level select menu

-All players now have 3 lives with a 3 minute time limit to games

-AI is significantly harder

-fixed Apple throw

-fixed high jump

-mutliplayer improvements, including potential crashes and (hopefully) lag fixes


Make sure to follow me on the twitters @the_dannobot for updates when the new version goes live.

I’ve got a bunch 0f codes left too, holla if you are games press or run a blog or whatever.  I’ll hook you up if you want to do a review or giveaway or whatever.




Pajamorama: Advanced combo techniques

Hey yall!  Here’s some details about the combo engine in Pajamorama.  You may have noticed it is really easy to do combos, but when you really know what you’re doing you can do some cool stuff.  You’re gonna need to know all this info if you ever run into me online 😉  If you’ve ever played fighting games before some of these concepts might be familiar, but I’ll try to break it down for new players.


So basically, here’s the easy way to do combos in Pajamorama:  Once you hit another character with an attack, start mashing all your attack buttons.  Pajamorama is smart enough to parse through all that input and find something cool for your character to do 🙂  Nearly every other fighting game out there requires precise timing and input strings, but Pajamorama is made to be super easy, so I took all that stuff out.


So a low level explanation of how that works: whenever the player enters an attack on the controller, it is put into a list in memory.  Every attack in the game has a time gap at the end called a “recovery phase” where the character is no longer attacking or doing anything.  If the attack missed, this is an excellent opportunity for other players to counter attack.  If the attack connected with another character, once the character enters the recovery phase the game will go to that list in memory and check if any attacks in there can be comboed into.   If it finds one, it will “cancel” the recovery phase and go straight into the new attack.  This lets you hit other players with several attacks before they can hit you back.


That was super technical!  If you didn’t quite understand that, don’t worry, here’s the part that will make you a better player.  All the characters have the same combo chain.  Any attack can be cancelled into an attack further down the chain:














The combo chain is a bit different for each character though.  Most characters can’t combo throws (usually forward+strong), and some characters have special stances that have their own combo chains.  Also the special attacks might be ordered differently between characters.  Usually the character’s projectile attack is at the end of the combo chain.

If that stuff looks too complicated, just try to mash those buttons as fast as possible when an attack hits and you should be able to figure out some comobos by watching what your character does.

Hope this helps your pajamorama skills!  Next I’ll break down each character and their strategies, starting with Apple.

Have a Pajamoramally weekend!  Cheers!