Level Editor For Your XNA Platformer Based Games
When I first started out a level editor was beyond my abilities (or so I thought) but thanks to Nick Gravelyn's Tile Engine video series it's actually quite easy to get the basics of a level editor set up! It was also the first time I actually made something out of WinForms so it was a learning process along the way. The editor is very simple and comes with all of the source code so if you were ever wondering how you might tackle making one yourself it's an excellent starting point to just tinker around and learn how the pieces fit together.
You can check out the project page on bitbucket to download and get more information but the general features of the editor are:
- Open and Save .txt files (the format used for levels)
- Paint/Erase/Fill tools so you can quickly change the appearance of your levels without editing them by hand
- Tiles are displayed as images so you can easily see what you're editing with.
The project comes with a default XNA 4.0 version of the PSK so if you just want to check it out and play around with the editor you can do so (if you have Visual Studio).
Check out the Wiki Page if you want to get it working with your own PSK-based game.
I also made a video showing off just how easy it is to add it to your game (Nomis: Legacy Islands). I'm adding the Editor to my first game (which was based on the PSK) in the video.
What does it mean to be “indie”

It popped up in a few places in the #xna community on twitter the past couple days with different opinions on what one might consider "indie" to be. I had my idea of what it meant to be indie but it's slightly changed after reading other people's perceptions of the idea.
-Gerald Terveen, via indienerds, says:
You are indie …
… if your game design decisions are not based on exterior influences (like money, a boss …)
… if the motivation to create a game comes from yourself and not an exterior influence (like like the need for money, or a boss…)
… if you´d rather give away your game for free then see it getting lost
… if you know everyone involved in the creation process by name
… if you are free in the choice of your distribution channel (no that does not mean you need to be able to publish via XBLA!)
… if nobody else has a sayso in any decisions in your “company” (if you want a yellow bath duck in your company logo, then you can have it!)
-Philippe Da Silva, via indiefreaks, says:
“Indie” is simply a translation of “Startup” or if you prefer, “Indie” is synonym of “Underground” or “Garage company”.
Basically, he says that funding, or having a publisher, is just fine and you can still be considered an indie. Developers creating games and targeting the Xbox Live Indie Games marketplace might be considered hobby or garage developers because of XBLIGs track record. Much time and effort has been made by many small companies but with little return because it's just the wrong target audience. He suggests putting more effort into finding a publisher "that will bring the visibility they need" to reach a more mainstream audience which will likely result in more exposure, more downloads and, in return, more sales.
-George Clingerman posted via Google+:
"This is easy. Indie games have less than 100 people in the credits."
It was actually one of his kids who came up with the response above but it's relating to the fact that indie companies are usually comprised of a small number of developers. 100 people might be quite a bit high but the premise of "indie = small" is still true. I would guess that 99% of "indie" companies are less than 15 or so people.
Before reading all these different opinions I think my perspective of what it meant to be indie was the following: a small team of less then a dozen people, self funded and a 'do what you want when you want' attitude.
Size. I think it's safe to say that the size of a company has a correlation to the indie meaning. Sure, there's professional companies, with a publisher, made of only a handful of people and there's probably companies out there consisting of 20+ people that are self-funded but I think those examples are few and far between.
Funding. When a publisher comes into the picture your ideas will likely be influenced, for better or worse, but the game will turn out differently than how you first envisioned it. A publisher will most likely push your game to be more polished, along with other things, in the long run but you might lose some of your 'initial vision' along the way. My initial stance on this changed because of Philippe's argument that if you want to reach a more mainstream audience, a publisher is a very good way of going about that. Trying to reach a huge audience of people is made much much easier through Steam or XBLA. Thinking you're going to reach the masses Minecraft-style is silly because that's a very rare situation.
Do what you want. Most indie companies start this way. You come up with a great idea, make a prototype (or possibly the whole game) and then decide what to do with it. If you want complete control with what you can do with your game then it's probably in your best interest to keep the IP close to your heart. Taking this route though is a path less traveled: you'll release it yourself, do the marketing yourself, do the support yourself, etc. Going the route of finding a publisher has its benefits in taking some of the load off of your shoulders but anyone that knows about the Super Meat Boy story also knows how terribly wrong it can go.
Where Is My XNA Game Running Slow?
Since I do most of my testing on PC (for convenience) and test less often than I should on the 360 there's been time where it'll run smoothly on PC but when I switch over to the 360 it runs pretty choppy. For me, since I never took the time to really learn how to use a profiler, it usually involved me commenting out chunks of my code until it ran smoothly. Although this was effecting it was more time consuming than necessary.
When you first start out you don't really know what is REALLY bad to do. Drawing text to the screen can slow down your game? NO WAY! It seems doing things like 'myInteger.ToString()' many times isn't very good, especially every frame. It's little gotchas like this, that I would've never guessed could be the cause of the slowdown, that made it even more time consuming because it was one of the last things I would check.
Now there's a pretty awesome game component that you can literally just drop into your game and see exactly how fast, or slow, each part of your code is running! It's called the Indiefreaks Game Profiler and you can find it at indiefreaks.com.

Here you can see that about 75% of my time is spend drawing things to the screen. This screenshot is basically only rendering particles though so that's expected. But you can expand the call stack by using the arrow keys (on Windows) to narrow it down as far as you want. If I want, I can see how long it takes to call my DrawTowerHud() method on a single tower.
We can see that drawing the HUD of one of my towers only accounts for 0.2% of the time drawing objects so that isn't a problem. Being able to navigate through everything in real time makes it very easy to see when/where your slowdowns might be occurring.
The installer comes with directions on how to get it up and running for your game so I won't go through the details of that here, but it's pretty cool to just look around and see exactly where your game is taking the longest to update/render, even if you're not currently having slowdown problems. You can find the download link at their blog post here. You can also report any bugs/feature requests over at their forums.
We’ve Moved!
We've made a switch over to the more blog-friendly WordPress and I'm currently working to make sure all of the tutorials are correctly transfered over and they should be accessible with the same link as before. If you're subscribed to our RSS feed there was a massive re-posting of the tutorials that were moved over and I apologize but it will be a one time thing, thanks!
Now for some news on why the switch was made. First, I just really needed a change from the old, think of it as a site upgrade! I wanted an easier, lighter weight solution to posting and since it's mainly just blogging WordPress seemed like a good idea. I'm sure we'll revamp the site in a year or so when this gets old as well. Second, a couple of us now have temp jobs as QA testers at Activision, including me, and while we're under contract we're unable to release any games for the time being. We still plan on making games under our Robot Foot Games moniker it's just been put on an indefinite hiatus.
The off-time posts will be mostly xna related and I'll be posting more snippets/tutorials. Not a real big change there, you just won't see any games-in-development posts for awhile. This won't be the last time you hear from Robot Foot Games, mark my words. ![]()
P.S. Don't forget to follow us on Twitter, Facebook and YouTube in the meantime. Until next time, Batman!
