Portfolio and RPG Engine

•February 16, 2010 • 7 Comments

Recently, I’ve been compiling all my programming projects for college and polishing them for admission. This includes the XNA RPG Engine, which has been getting stale sitting on my computer for so long. Last year my XP partition got infected beyond saving and I had to abandon it, so none of the same file paths that were hardcoded into the RPG editor to get it to work exist anymore. Turns out that being forced to fix the game for college was my motivation to finally get the code working on other systems than my own.

However, there is one MAJOR problem before I can release the code to everyone. All the graphics that the engine uses come from the copyrighted RPG Maker series from Enterbrain. So I can’t release it as-is. Now, granted, I could delete all the image files and rewrite the hierarchy to load any tileset of a given size, but then auto-generated collision maps would need to be set for each imported map, which can get tedious. Then the editor would need to save, load and import tileset packs including this extra data on runtime. And by the time I have this stuff done, hypothetically, why don’t I just fix everything and add all the features I planned on adding?

So this is a heads-up that the code is now in working order. The ONLY thing preventing me from releasing it is the graphics, and, until I can find some replacement tilesets and parallax tiles to preload onto the editor, that’s not going to happen. If anyone has a link to some high-quality replacement tilesets, that aren’t copyrighted, it would be greatly appreciated and facilitate a release. Also, thanks to everyone that followed the RPG engine while I was still working on it. The knowledge gained from the project was invaluable.


Platforming Tutorial #4: Basic Map Editor

•June 9, 2009 • 4 Comments

Whew. That took awhile. 😛

Sorry I haven’t updated the tutorial in so long. It’s been a busy past month, and this tutorial wasn’t exactly what one would call “fun” to make. As such, I decided to discontinue the VB .NET part of the series, simply because it’s too much for one person to do at this point. There also weren’t that many d/ls compared to the XNA. However, if there are people out there that have been secretly and diligently doing every VB .NET tutorial, then I’ll consider making one. But for now, XNA will be the only coding language the tutorials cover.

The video file is a staggering 1 hour 15 minutes long, and it spans multiple days of recording. In this tutorial, I cover the addition of a Map and Editor class. The Editor class allows the user to pick a tile from a preset tilesheet and paint it on the map. The Map class displays the Map, but it is only in its infancy; later on we’ll need it to save and load maps in XML as well.

The download link is below. If you have any questions, or if there is anything I should be made aware of, please comment below. If not, please don’t harass me.

XNA – Video, Project and Resources (~1:15 minutes long)

Platforming Tutorial #3: Character Class

•May 1, 2009 • Leave a Comment

(Sorry this took so long, the videos were done but I couldn’t find time to upload the files.)

Summary: Moves the existing code into a new Character class, organizes existing code.

Download (includes finished project, video):

XNA (~10 minutes)

VB .NET (~20 minutes)

Comparison: There is one thing to note: the VB class code contains passing Keys variables to the Class, so that one can change the keyset. I go into this in the video; this is why the VB video is 10 minutes longer than the XNA one. Think of it as an extra.

Platforming Tutorial #2: Jumping

•April 13, 2009 • 5 Comments

Summary: Adds in code to allow the character to jump, explains the use of a function, changes existing keyboard-based methods.


Jump Function

Download (includes finished project, video, reference):

XNA (~27 minutes)

VB .NET (~30 minutes)

Comparison: The VB .NET project has changed how it uses the “facing” variable so that it flips the sprite during the Paint event, similar to XNA.


•April 10, 2009 • 11 Comments

Last post I said I’d do some tutorials this weekend, only, on what? Sure, there are tons of good XNA tutorials out there. However, I noticed a substantial lack of platforming game tutorials, almost as if no one cared. Well, since a lot of XBLCG are platformers, I figured it’d be appropriate to produce a tutorial series about just that – creating a platform game from scratch. Yes, I am aware that XNA 3.0 comes with a platform game, but it over-simplifies things. First, there’s way too many classes. Second, there’s no scrolling. What? No scrolling in a platformer? I thought this was strange.

This marks the first in a series of new tutorials covering the creation of a platform game in BOTH VB .NET and XNA, simultaneously. (Yeah, I’m going to show that it can be done in both languages. ) The code is remarkably similar. Since this is the first tutorial, I feel I should explain how this’ll work. For each tutorial, I will:

  • provide a brief summary of what will be accomplished in the tutorial
  • release two videos with commentary, one for XNA and one for VB .NET, ala Nick’s tile engine series
  • post resources used in the current tutorial (images, etc)
  • change the banner of the website to reflect the current tutorial
  • write-up a comparison of the two versions
  • link to downloads of both the XNA and VB projects, respectfully

TUTORIAL #1 – Basic Movement and Set-Up

Summary: Follows setting up a new project, adding resources, displaying images, dealing with a sprite sheet, showing one method of smooth movement in two directions, and handling key input.

Images used:

Lucas Sprite Sheet* Credit to Naruto[NU] for these Lucas sprites! Original version found here.


Download (includes finished project, video, resources):

XNA (~35 minutes)

VB .NET (~50 minutes)

Comparison: Gameplay-wise, they are exactly the same. There are slightly noticeable framerate issues on the VB .NET project, but this is as expected.

Taking a Step Away

•April 6, 2009 • 5 Comments

If you’ve noticed, the site has changed quite dramatically from what it was before. And really, if you’ve ever been here before, you should have noticed. (How could you miss the animated banner?)  The blog is going to change. As of right now, I’m sketchy as to the details. I’ll probably keep the name, even though I’m moving away from RPG development, I’m still interested in XNA and should pay homage to what brought me here in the first place.

The XNA community is going strong and still growing. More people are getting involved. At the time I started this blog, there was likely a tenth of the people there are now. The “RPG Starter Kit” didn’t even exist; only three people were serious enough to take on the challenge of creating an XNA RPG from scratch. Now, there’s many more aspiring RPG creators, albeit much less serious. Tons of new people are joining the XNA community every day. But before this sounds like I’m excited, I’m not. With this influx, an even greater percentage could be called “noobs.” Not “newbie,” which generally refers to someone who just started, but “noob,” a person who’s been around long enough to know what’s what, but refuses to listen. The difference is that a noob is solely responsible for their lack of creativity and linearity when designing their XNA game. I’ve seen it before with the Halo modding community – too many people started worshiping veterans of the Halo modding realm, and, lacking any new ideas of their own, based all their projects (assuming they even did any) on their idol’s work. The result being the majority of custom halo maps are super-huge with ripped vehicles and total lack of playability. People don’t take the time to create their own content and steal others’. Flaming becomes rampant.

Until I’m reassured that this isn’t going to happen, I’m going to focus my efforts on VB .NET and XNA tutorials. Expect to see one up this weekend, probably about color blending. until next time…

The times they are a-changin’

•April 1, 2009 • Leave a Comment

I’m going to take this site in a slightly different direction for the next couple months. Why? Well, it’s partly because my school’s computer’s can’t run XNA, so I’m stuck returning to VB .NET. My whole plan centered around working on the engine during this time, and now it turns out that I can only work on XNA at home. So, for the time being, I’m stuck in crappy ol’ VB .NET. Only, I realized something.
Have any of you ever returned to look at one of your previous projects and thought, ” man, how did I do that?” That’s where I am right now. I’ve looked through my VB .NET games and decided that while XNA is geared towards developers, VB .NET is my home. It’s where I learned to write games. And, damn, some of these games, while simple, are pretty fun to play. And look at.
So over the next couple months I’m going to show people what is possible in VB .NET. I know a lot of people still use crappy VB6 for games, simply because they think it is “impossible” or “too complicated” to code in .NET. There’s a substantial lack of good, solid games in VB .NET on the web, and it’s made me realize a missed opportunity.
VB .NET is perhaps the simplest coding language ever, especially for games. Why? Ease of use. Resource management. Live visualization of the design. I could go on. And it can be argued, that XNA has this as well, from certain perspectives. But for the novice, XNA is intimidating. There’s no visualization of the form! EVERYTHING is done in code. Plus, adding resources can get annoying – everytime you add one, you need to write a line of code to load it into the XNA engine. For large developer games, this is great. But for the beginner, it’s too damn frustrating. There needs to be a way to easily funnel a new programmer into XNA – that’s VB .NET.