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.

Reference:

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.

Platforming

•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.

Stage

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.

Cumulative Update

•February 28, 2009 • 3 Comments

It’s been a while since I’ve posted on here. There’s a slew of updates on both the editor and the game, but first, a new piece of art – in fact, the cover art of the game.

karma_phala_dev

I know what you’re thinking – wayyy too colorful. I know,  it’s unfortunate. But this is what’ll show up should this game ever be released on Community Games, should Community Games even exist at that point.

Besides that, I’ve posted a new snake game update, the second in a series of three (hopefully). This one includes commentary detailing the menu, gameplay changes, tutorial and multiplayer modes.

The next video will most likely be recorded using an actual video camera, seeing the final build of the game on 360 and multiplayer lan.

Lastly, I was hoping to upload a video on the progression of my tile engine, as it kinda has taken a backseat to this bullshit snake game over the past two months, but the video was too long and boring, so I decided to just be long and boring right now and type all the features in a long sentence of boringness; there are two major updates, the addition of a party following system ala Chrono Trigger and the addition of basic dialog support to the editor and engine, allowing textual information to be displayed via overlay in the game, w/o any interactive “conversational” elements, and finally, the progression of a new separate NPC movement program I’m in the planning stages of developing, which really means I haven’t started it at all yet, but will contribute to fully-functional NPCs after a conversational xml tree has been developed, leading up to the creation of the first few levels in the game.

Unfortunately, I haven’t been in contact with Nathan over the past few months, so I’m supposing he’s too busy to work on the project atm, and Ryan has proved useless, so he’s off the project. There have been changes outside the scope of this blog, however. My friend Daigo, who I’ve been contacting over the past half year, has moved on to work at Vicarious Visions, who develop Guitar Hero. His friend, who works at Square Enix (I know, connections, right?) has asked me through Daigo if he could have the source code to my rpg engine in XNA (either it’s hobby or Square is experimenting in XNA as a possible outlet for their infinite rpg projects and mooching off of me, I’m flattered anyway), and I have sent the code to him. I don’t know if he’ll get it to work or what, but I’m glad I could be part of it.

And finally, in addition to Daigo, I have been contacted by an undisclosed company to join their development team in XNA. Unfortunately, due to high school, I couldn’t take the job. It’s strange; I’m only 16, and I’ve been offered a job at a company, when people I correspond with are on the way to finishing college, and haven’t ever been given the opportunity to work in the business. There’s a moral here, that school can only take you so far – most of success in life has to be done separate from the educational system. It’s not about grades, it’s not about talent; it’s about persistence and individuality.

And that’s all for now.

XNA Arcade Remix: Snake

•December 30, 2008 • 7 Comments

  EDIT: The published game can be found here. I don’t think that the crappy youtube video gives this game justice.

   Over the past few days I’ve been working on a small side-project hoping to help me learn A* and other pathfinding algorithms. It’s a remix of the classic game Snake; where the snake must eat the “apple” to increase his light supply, which eventually diminishes and the game ends. There is also two different “apples”: a blue light and red light (or “Firefly”). The blue light allows the play to generate a path to the green light by pressing X, once collected. The Firefly must be contained before it spawns. The video below will demonstrate this better than I can explain it:

(sorry if you don’t like the music, I just got the Mongol Movie Soundtrack 😛

   I just made this for fun. Hopefully, in the future, I will become a member of the XNA Creators Club and will be able to play this on Xbox 360; it is that addicting.

New Team Member and Weapon Submenu

•November 22, 2008 • 1 Comment

   Hello! I’ve actually been working on the game for a while now, and I’ve released a video on the Weapon submenu:

   It’s not much, but I wanted to release SOME progress just to give you guys an idea of what to expect. Plus, I’ll be In Bruges (great movie btw), Belgium the next week, so I won’t be able to work on the game.  

   Consequently, I’m proud to announce the addition of our newest team member, Ryan Appel! He’s going to help out by cleaning up my mess of code and making sure it works on other PCs. Eventually we hope to be able to release a standalone of the editor as well (assuming all goes well). Ryan is an accomplished XNA programmer, having worked on his own XNA RPG called “Silver Star Chronicles,” which he has not publicized. He is also finishing his associates degree in programming and web design/dev. With his contribution, we should be able to complete the game muuch faster. I’m also anxious to see his skill in action.

   Over the past few months, it has just been Nathan and I corresponding about art for the game. But with Nathan’s schedule tightening up, he’s told me it’s getting tougher and tougher each day to find time to work on the art. He’s a great guy and an amazing sprite artist, and he’s definitely still on the project, but he just has a lot less time than he ever did. So because of this, I’ve got his permission to hire another artist. This new artist will focus solely on making new tilesets; Nathan’s already got the characters covered. If you think you’re up for the job, send me a message at fatso784@aol.com. I’m going to post on Help Wanted forums as well to get the word out.