Global Game Jam 2011 January 31, 2011
Posted by Jesse in : Game Development , 2 commentsThis last weekend I went and participated in my first game jam. It was the Global Game Jam 2011.
I had a great deal of fun. I wasn’t sure how much time I’d be able to spend at the jam, so I opted to work on my own rather join a team. It turned out that I was able to be there almost the entire time, but I’m glad I worked alone this time. It was a cool experience to try to push myself in such a short time. That said, next time I’ll join a team. (And there will be a next time! It was great.)
I spent a bunch of time working with some other teams, giving feedback, and helping look for code bugs. One team grabbed the idea I gave during brainstorming and ran with it. Their game is called Soylent Diner, and it’s hilarious. (I think you can probably guess what the game was about.) I made a bunch of contacts and new friends in the process.
My game (though it’s more of a silly simulation than a full game) is called “In A Bubble.” You control a bubble, and you can get the men and women in my world to fall in love. Here’s a screenshot:
You can get the game here. (You’ll need to be running Windows, and have the XNA 4 runtime installed.)
in_a_bubble.zip
And here’s the source code. You’ll need some open source libraries. (Check out the readme.)
in_a_bubble_source.zip
The graphics assets aren’t mine, they’re from Spritelib and LostGarden. I release the source under Ms-PL, so go nuts with it.
G2DF November 23, 2010
Posted by Jesse in : Game Development, Hero In Training , add a commentUpdated January 7, 2011: Changed the link below to link to a new version of G2DF (1.4).
Planning continues on Hero In Training. While I can’t dive headfirst into the game just yet, I’ve been spending some time working on fixing the problems I had with my tools.
First up is my level editor. I’ve written before about using Gleed2D. Since writing that, the creator reappeared and uploaded the source code as an open source project on codeplex. I think this was partly because someone had used reflector to convert his original program back to C# code and had released it. (I did the same thing to make a few changes, though I would never have released the source without permission.)
While I’m still not thrilled some of the design decisions, I know from experience that I absolutely hate working on tools. I could spend the next two months working on an awesome level editor, or I could just grab the source code and make whatever tweaks I need. While it might not be perfect, it should get the job done, and I won’t be miserable working on something I don’t enjoy.
He released it under the Microsoft Public License, so I’m allowed to release builds from my fork of the code. I’m referring to it as G2DF. (Short for Gleed2D Fork.)
Changes:
- Remove the concept of ContentRoot path.
- A level can be loaded by passing the filename as a program argument.
- Changed the default file extension from “xml” to “gleed”.
- The selected item in the objects list is now easier to see when working in a different window.
- You can extend line paths.
Now the file paths are relative to the level file. This makes it much easier to work on multiple computers through version control.
This doesn’t seem to work quite right when double clicking a file in windows explorer, but it works great to open a file from the solution explorer in Visual Studio, which was what I wanted in the first place. (Right click on a *.gleed file in the solution explorer and choose “Open With” to select the gleed2d executable.)
This makes it possible to associate the file type with the executable. This also makes it easier to write a content importer that will automatically recognize the extension.
This is a problem with the built in TreeView control. When you give focus to a different control, it’s really hard to see what you have selected in the TreeView.
Select a path and choose “Add Points To Path” in the Edit menu.
If you haven’t used Gleed2D before now, you might want to check out the introductory tutorial videos, and check out the QuickGuide located in the Help menu.
You’ll need the XNA 3.1 runtime. (I looked at updating to XNA 4, but that seems like it will be alot of work. I might tackle that another day.) You can download it here:
Gleed2D TPN Fork v1.4
If you’d prefer the source code, you can check out my subversion repository for the fork here: http://svn2.xp-dev.com/svn/G2DF/ Visual C# Express 2008 and the XNA 3.1 Game Studio are required to build the source.
What’s next? November 9, 2010
Posted by Jesse in : Being, Bluebones' Curse, Game Development, Hero In Training , 1 comment so farBluebones’ Curse has been out for a few weeks now. While reviews have been really positive (I’ll include some links below), sales have not been quite what we’d hoped for. In fact, they’ve been pretty poor. This left us wondering what to do next. Do we put in the six months (or perhaps up to a year) of work required to turn Hero In Training into the game we want it to be? Do we try our hands at another smaller title, better suited to the Xbox Live Indie Games marketplace? Should we move away from Xbox development altogether, and try out Unity or Flixel?
Well, I think now I know the answer. Today on the developer forums, a Microsoft employee posted that the 2011 Dream Build Play competition will be focused on the Xbox 360. Many of us had worried that it would target Windows Phone devices instead. This makes me totally excited again, and I want to focus on the game that I love to work on.
Going forward, it’s Hero in Training all the way. I’m going to start with a new game design document, and then rebuild my animation and level editing tools to closer match our needs. (They were getting a bit clunky to use, but we had no way of knowing what we’d need when we started.) Once we get to a point where there’s something interesting to show, I intend to record (roughly) weekly development update videos, and I’ll be posting lots of screenshots.
I’m really, really excited, and nothing is going to stop us! Hero in Training is going to win Dream Build Play 2011!
Reviews and media for Bluebones’ Curse:
CrushFragDestroy – XBLIG round up review
Dealspwn – XBLIG round up review
DIY – XBLIG round up review
GameMarx – Bluebones’ Curse review
GameMarx Podcast (1:30 – 9:00) – Indie game discussion
GayGamer – XBLIG round up review
IndieAsylum – Being and Bluebones’ Curse reviews
IndieAsylum Podcast (43:00 – 44:50) – Indie game discussion
Suburban Journals – Article about our work on Bluebones’ Curse
TeamKobun – Bluebones’ Curse review
VVGTV Video Review – Bluebones’ Curse review
My new tutorial is absolutely fine. August 16, 2010
Posted by Jesse in : Game Development , add a commentI wrote a tutorial for the Sgt. Conker Absolutely Fine Tutorial Contest.
It’s about how you can record and playback player inputs to generate game replays. Check it out, and let me know what you think.
Player animation changes August 13, 2010
Posted by Jesse in : Hero In Training , add a commentAfter posting the last video, I also sent the link out on twitter. Within seconds, I had a great deal of excellent feedback from other indie developers. Some of it was stuff that would never have occurred to me.
For example, the player’s walk animation has been the same for months. I was happy with it, and had moved on to other things. As soon as I linked the video, many developers reported that they didn’t care for the animation, and pointed out ways I could make it better.
We took the suggestions to heart, and made a bunch of changes. He’s now taller, and has smaller shoes, which doesn’t force him to shuffle so much. Also his shoes now bend when they should, so it looks more natural.
I think the results are a pretty drastic improvement, and I’m really happy with the changes. Have a look, and let me know what you think.
It looks like youtube has fixed the slowdown bug, and they’re reprocessing the videos. So if you see anything funny on my older embedded videos, please try back in a little bit.
Moving slowly forward August 6, 2010
Posted by Jesse in : Hero In Training , add a commentWe started work on a new test level. When it’s finished, I’ll be uploading to playtest on the Xbox Live Indie Games, so that we can get lots of feedback. I’ve got a new video showing off some of that level.
We’re having some technical difficulties with the videos we posted on Youtube. The video is running at half speed with distorted audio. Youtube says they have engineers working on the problem. So for the time being, I’ll post my update videos on Vimeo, instead. (I don’t have a paid Vimeo account, so I can’t embed high def, but you can see the high def version over on Vimeo.)
Hero In Training – Progress Update August 5, 2010 from Jesse Chounard on Vimeo.
Sloped platform collision July 28, 2010
Posted by Jesse in : Game Development , 6 commentsRecently on the XNA Creator’s Club forums there have been several posts on how to handle collisions with a sloped platform in a 2d platformer. I wrote up a short description of the system I’m using:
How to determine if a player is about to land on a line segment:
What we need:
- Foot position of the player. (Bottom center of the player’s collision rectangle works well.)
- Line segment we’re checking for collisions with, specified by its end points A and B.
- Player’s velocity.
Let’s get to it:
- Is the player moving down? If not, we can stop here.
- Is the player’s expected position (foot position + velocity) within the horizontal region of the segment? If not, we can stop.
- Calculate the interpolated Y position on the line segment of the player’s X position both before and after the move.
- If the Y position before moving is above the segment, and the Y position after moving is below, then the player is landing.
And today I’ve put together a quick sample project to go with that. You’re welcome to do whatever you want with the code. (License – Ms-PL.) I hope it’s helpful. Feel free to hit me with any questions.
Boss fight! July 6, 2010
Posted by Jesse in : Game Development , add a commentWe’ve added the first boss fight into the game. Bossfrog is a giant version of the existing frogs you’ve seen before. After taunting our hero, he proceeds to try to stomp him into the ground. Twice during the fight, he’ll roar with anger and summon a bunch of his minion frogs to join in the battle.
Here’s a video:
Enemies! June 3, 2010
Posted by Jesse in : Game Development , add a commentI’ve gotten two enemies into the game. I also added boomerangs that the player can throw to attack.
Bullyfrog is a frogman who simply runs across the screen. If he reaches the edge of a ledge, he’ll leap to the next ledge. (If he can reach.) He’s really quick, and not very easy to dodge. I think we’ll do a palette swapped version of this character who is a bit tougher and will stop to throw projectiles at the player.
Spikey is a big spike covered block who waits for the player to get near and then smashes down trying to squash them. I added a neat screen shake effect when he hits. He’s completely immune to boomerangs, they just bounce off of him.
Changing directions May 21, 2010
Posted by Jesse in : Game Development , 3 commentsIn the last few days, I’ve been looking at the best way to start putting the art into the game. For characters, the new animation system seems to be working really well. For the static background elements that Mollie has been drawing, however, the tiled system aren’t really cutting it. She’s put together a bunch of separate little texture elements, and the only decent way I could have gotten them into the game would be to composite the graphics in photoshop, and then break them down into tiles and add them to the game. While that would work, it would mean a large number of tile sheets, and it would be very cumbersome to edit levels.
I was left with two options:
- Add the ability to attach textures to the custom objects in Tiled.
- Change to a different level editor.
Option one sounds reasonable, and the source code is really clean and pretty easy to edit. But I’d need to add a bunch of functionality to support rotation, scaling, and draw order for the textures. It would take me awhile. After spending so much time on Demina, I’m very tired of working on tools. I want to write my game!
So I asked my friend Google for help, and I wound up finding Gleed2D. I’ve spent a few days playing with it, and it seems really nice. It supports all of the features I was looking for. It has support for a few primitive types, so you can set up region boxes, or collision polygons pretty easily. You can attach custom properties to any element into the editor, so the automatic game entity creation system I used with Tiled works perfectly without much change. It also has support for parallax layers right in the editor. Nice!
There is a pretty big drawback to Gleed2D, though. The creator uploaded a flurry of updates during July of last year, and then went silent. On the forums (if you dig through the heavy spam) are a bunch of requests for updates or access to the source code. But there’s been no response. This isn’t an insurmountable problem, since the editor is in an easily usable state, but it still stinks.
It took me a little while to get it up and running, since I had to rewrite the collision system to allow for slopes, but it’s looking pretty nice. Here’s a new work in progress video. (The graphics are just random stuff I had lying around.)

