XNA Coplifter Remake: 1. Design Doc

2010 February 10

Beginning:

I plan on remaking the retro game Coplifter. I will do this using XNA, and my custom art, and music. The team for this project will be me, and my new partner Martin. Me being the lead programmer, and if I am correct, he will be helping me if I have any issues, and also with optimization.

Martin is a very skilled programmer, and you can check out some of his work at RetroBurn Games.

Idea:

Here is a video of the game, and its basic concept.

Design Doc:

  • One person only in helicopter
  • Concept: Rescue hostages without dying
  • Rescue 40 hostages to pass a level
  • helicopter can point in 3 directions. Left, Right, and towards the screen.
  • the helicopter can move in any direction while pointed left, right, and towards the screen.
  • it can only shoot in the direction it is pointing
  • is you speed up in any direction then your helicopter angles towards the ground.

  • button to change direction, button to shoot, analog stick or arrows to move
  • enemy AI to shoot you, and hostages
  • you can land on hostages and kill them(watch out :])
  • the more people you get at once, the higher point multiplier you get
  • natural movement, – slows to a stop and start
  • cannot move left or right while landed
  • be open source! and fun!

Ending Note:

This game will be open source, and free. But if you use my code, make sure to mention me. Also if you use my art, mention me. And if it is a commercial product, maybe send me a free copy? I would sure appreciate it.

You can view all of my art for this game, any future downloads, and all resources that I use to make this game in my navigation bar at the top of this page. The hierarchy that you follow is Games:Coplifter. Pretty easy right? Hope you learn from me!

I was doing a little test…

2010 February 6
by kadajett

I wanted to see how many dedicated viewers I had out on he interwebs, so I didn’t post for two days. I started out with about 80 views a day, and I ended up with 70. So not much of a difference… But I haven’t been completely useless lately, because I have a new YouTube video out. It is my new game playing. So check it out, and I hope you like! It will all be open source btw. So I hope you guys learn something!

XNA 2D Beginner Tutorial – Adding Simple Menu Systems

2010 February 4

Note:

This tutorial is an add on to the tutorials on how to make a cannon game to shoot down aliens that was produced by Microsoft. The original tutorial and source code is here. Please go through that tutorial and get the basic code structure, then come back and follow my tutorial. This was produced mainly for the OC, but you can easily edit it to use for the XBOX.

What You Will Be Trying To Create:

With this tutorial, you will be able to create a menu system that is seen when the game starts, and when you pause. It will be able to resume the game, and exit the game screen. After you follow this tutorial, you will be able to add additional functionalities like the ability to start different games from one menu screen, or have an options menu that you can edit game settings in. Remember this is just a basic menu, it is your responsibility to use this code to make more advanced menu’s. So have fun reading it, because I am having fun teaching it.

How this tutorial will be notated:

It is pretty simple, I will tell you which function to look in, and after which command in the function. This is all based on the source code at the end of the tutorial that Microsoft created, so we will all be on the same page when I say what to put where.

Let’s get started:

Basic Idea

First thing we need to do is talk about the basic idea of our menu. Assuming you payed any attention to the Microsoft tutorial, then you should know what variables are.

How this menu works, is you have a variable that holds the number of the state that the game is in. For example, you have an int named stateNum. In this tutorial, you will only have two states. (Menu state, and game state.) So the variable will need to hold two variables which will be ‘0′ and ‘1′.( ‘0′ for the menu, and ‘1′ for the game.)

The games Draw and Update call will execute code based on that number. So if you have stateNum set to ‘0′, then it will only execute code that corresponds to the menu, and if you have stateNum set to ‘1′ it will execute game code. Take a look at this, if you are confused then this should help a little bit.

DRAW Method

if stateNum is equal to ‘0′

then execute this code

else if stateNum is equal to ‘1′

then execute this code

Nothing to hard there right? Then to get back and forth from the menu and the game, you just need to make a function that switches the value of stateNum. So, lets get started actually coding this beast, and I will explain some more details along the way.

Initial Code:

This will be in Game1.cs. Enter this line of code over the red line on the image below.

int stateNum = 0;

After you do that, then go down to your Update function. We will start putting our logic in here.

Start by adding this line  “else if(stateNum == 1) {” Above

” GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);”, and close it off with a ” } “

on the line before “previousGamePadState = gamePadState;”. Then right above all of that,
make one more if statement
Like this; “if(stateNum == 0)  { }”. Keep it blank for now though, but we will be adding our menu logic there later. Next jump down to the Draw function. Which should look like this.

And we will do a similar sectioning method like we did in the update method. Identical actually…
Go to the line that says “spriteBatch.Draw(backgroundTexture, viewportRect,Color.White);”,
and right above it make an if statement like this.

“if (stateNum == 1) {” then finish the code block by putting a curly brace right BEFORE

“spriteBatch.End();” .
Then add another “if(stateNum == 0)  { }”.

At this point if you run the game, it will be a blank screen. What you need to do now is
create functions in both of your update states that change the
variable to the other number. It’s pretty easy, so lets get started.

Changing States:

What needs to happen here, is you need to go into each state code block and add a function that switches to the other state.
So if you are in state one, than you move to state zero. And vise versa…
To do this you need to enter this line of code at the beginning of state one:
if (previousKeyboardState.IsKeyUp(Keys.Enter) && keyboardState.IsKeyDown(Keys.Enter))
{
stateSelection = 0;
}
Then this at the beginning of state zero:

if (previousKeyboardState.IsKeyUp(Keys.Enter) && keyboardState.IsKeyDown(Keys.Enter))
{

stateSelection = 1;

}

If you compile at this point, you can switch between your game, and the blank screen. This is progress. :)

But unless you want to look at a blank screen, lets make it pretty and functional.

Adding Pictures:

You need to add some pictures to your menu background to make it pretty. This is pretty simple, all you

need to do is draw a background like you did with the game back ground. In fact, we use the same variable

for placement. After you add some pictures to your content pipeline and load them in to a variable called menuBackground, go in your Draw method, in your state zero.

And just add this line of code. spriteBatch.Draw(menuBackground,viewportRect, Color.White);
When you switch between the game and the menu, you will see a background. For reference, you can use the background from my cannon game.

Just right click and save as. You now have a decent looking menu background, so maybe its time to add some buttons!

Buttons:

First thing we need for this section, is we need to make some buttons. So I will post the images below, and you can use them as much as you want. Just right click and save as.

After you have saved those and thrown them into your content pipeline. And add a texture2d variable to them named startButton, and exitButton. Then add these two Vector2’s for the position.

Vector2 exitButtonDrawPoint = new Vector2(400, 380);
Vector2 resumeButtonDrawPoint = new Vector2(400, 300);

Then add one more image to your content pipeline.

It is a little hard to see, but there is a picture up above this text. So right click it and save as. Add a texture 2d variable called selector, and your good. No need for a Vector2 for its position,  because we will be setting its position to the position of the menu button we want selected. From now on, I will be doing less of the coding for you. I want to see if you can remember simple coding techniques.

Drop down to your Draw method, in your state ‘0′. And add the draw code for your buttons, with the position variables that you created earlier. And remember, you do not need to add another spriteBatch.begin(), because both of the two states will be in the original spritebatch call. When you compile this, you will see that the buttons are a little off center. I like the look of this personally, but you can change where the buttons are if you like. It would not effect the way this tutorial plays out.

You need to add these variables at the top where you declare everything else.

int menuSelection = 0;
int amntMenuButtons = 1;

And in your Draw method, in state zero you need to add an if statement. I want you to write the code out yourself.

Here is what it should do. It should check to see if the menu selection is zero or one. If its zero, then it will draw the selector at the position of the start button, and if its one, then it will draw at the position of the exit button. You done? Well, now you need to be able to switch the menuSelection variable from zero to one and back.

Just jump to your update call in state zero, and add a few more if statements. They should look like this.

if (previousKeyboardState.IsKeyUp(Keys.Down) && keyboardState.IsKeyDown(Keys.Down))
{
menuSelection += 1;
}

if (previousKeyboardState.IsKeyUp(Keys.Up) && keyboardState.IsKeyDown(Keys.Up))
{
menuSelection -= 1;
}
All that does, is it adds one to menu selection, and subtracts one. Adds when you press down, and subtracts when you press up. So if you run it now, it will move the selector from one button to the other and it will disappear. But to fix this, you need to limit change the way menuSelection works. But this is the end of part one. I hope you come back tomorrow because part two is on the way. But for now you should try to mess around with the code you have learned here. And add a few things, like additional buttons. In the next lesson, we will add functionality to the buttons. And we will be done!

End of Part One:

Cannon Game V.0.1

2010 February 3
by kadajett

This is my crappy little cannon game made with XNA. It isn’t much to show, but the art is pretty.

Design Doc:

  • Simple menu system
  • Sound (Shooting, hitting, background music)
  • Animation (Shoot, hit)
  • General point to the game(not likely)

When I am done, I will post all the source code and art on my website. I promise to comment my code to a readable state also. But until then, here is the download.

And make sure you guys and gals comment, it lets me know your here. :)

Making High Quality Non Pixel Art for 2D Games

2010 February 2

Who This Topic is Aimed at

This topic is aimed towards 2D game programmers new or old that have issues with creating art that looks smooth and non pixelated.  For sake of argument, I will use only free software, and basic drawing tools. This will help you develop art quickly and masterfully for any library, or game maker. Including but not limited to, YoYo GameMaker, C++ with a graphics library, XNA, RPG Maker, and many more.

Software You Will Need

Inkscape: Vector image editing software. Price: Free

Paint.Net: Bitmap editing software. Price: Free

Whatever form of game making you use

Step One:

The first step in creating amazing video game art is drawing on a piece of paper. This is a very important step, because you can really edit the art in any way you want to a unique look. So, start with a sketch. So for this example, I created a very simple drawing that we will call Blobby. I have sketched him on a plain old sketch pad, but you can use printer paper or any other surface. But just a tip, the clearer the surface is that you draw the sketch on the easier this process will be. And please do not shade the drawing, or color it. It will make your life harder in the future. Only shade concept art on paper. Not something you plan to convert to a digital image.

After the initial sketch, you need to do a thing called inking. This is a simple process of going over permanent lines of the sketch with a dark pencil or pen. I prefer to use a charcoal pencil for this process which you can get at Walmart in the sewing section(for some reason), but you can use any regular old pen. The thicker the lines the better for this process. But common sense for line thickness should be used.

As you can see, the lines are dark and easy to distinguish. Perfect.

After you are done drawing the images, you need to have a way to upload them to your computer. For this I will give you a list of easy ways that just about anyone can do. First, and the most simple way is to use a camera. You need to take a picture with a digital camera with still capabilities, and then save them to your pc. Or if you do not have a still camera, you can use any camera phone and send the image to your email address. Easy as pie, but if you have the hardware, you can use a scanner, or maybe even a tablet to trace your image. But I digress…

Step Two

Open up Inkscape and you will see this screen.

Click File:Open: and fine the sketch you saved. After opening, it should look like this.

At this point, I will not be explaining how to use Inkscape. But here is a Youtube that should get you up to date enough.

After you have a good handle on Inkscape, you can start tracing the image in Inkscape. You do this by using rough shapes in Inkscape then sculpting them into your desired shape. This allows for a very high level of detail, accounting the fact that in vector graphics, you can zoom in as much as you want and add a line or two to give it a textured look. So here is my example of traced Blobby.

I just traced him with the tool. Then I edited all of the lines with the tool.

After you create all of the shapes that you want in the image, then you need to select all the vector lines with the mouse tool towards the top of the tool bar. and click and drag until all of your drawing is highlighted. Then you need to go up into the menu bar at the top and find Object:Group. Then click that. Now you can move around your entire sketch without it falling apart, or morphing. At this point, you can copy your trace into a new vector drawing and save it with no color, or you can color it in and give it texture.

Step Three

Select your vector drawing and hit CTRL+C to copy it. Then in Inkscape, make a new document with no matter what size you want. And hit CTRL+V to paste your vector drawing in it. It should look like this.

TIP: When you make vector images for use in game, always save a copy that is still a vector image so you can resize it cleanly and just save it as a bitmap again.

At this point, if you do not want to add color you can just resize the image to what you want and hit File:ExportBitmap. This will give you a few options that look like this.

You do not want to export the selection, unless you know specifically what you are doing. What you want to do, is click drawing to get your entire vector image. or if you have a specific page size you want, then click page. but like I said, for now you want to hit drawing. It will give you a few options, and you will have an output of a black outline with clear innards and surroundings. Saved as whatever file type you like. This can be imported into your game, or edited further in a bitmap graphics editor like Paint.net or MSpaint.

Step Four:

If you would like to add color, then what you need to do is ungroup the image. You do this by clicking it once and going into Object:Ungroup. You might have to hit it a few times to get everything apart. But when it is all finished, you can click on individual body parts. So what I am going to to is make Blobby green, with blue pupils. Very simple, just to show you what to do.

What you need to do is click the shape you would like to fill, and go up into Objects:FillandStroke. Just click it once, and a tool box will pop up on the side.

with this, you can change the size of your stroke, the color of your stroke, and the style of your stroke. Also you can change the color of your fill, the gradient of your fill, and the blurry-ness of your fill. Just mess around with this on your drawing, and remember that you can undo any mistakes you make. So have fun!

The end result is this.

After this point, you can mess around with detail in your image, add some style resize it to your preferred resolution, then SAVE THE VECTOR IMAGE!, then you can export it as a bitmap as explained in Step Three.

Final Note:

All of this together, will create very high quality smooth sprites for your game that you can resize at any time without ruining the image. Giving your game a professional look for free!

On a side note, if you are a tile artist, you can create very realistic tiles in Inkscape, but its a very time consuming process.

Special thanks to every one that helped me write this blog post, and I hope it was helpful.

Here’s Blobby!

No pixelation, and very smooth lines. Yummy.

Shank Indie Game IGF Entry

2010 January 31

First Look

So do you like comics? In particular, gory comics with big mean protagonists? Maybe a little head imploding, chain saw massacring, Altair assassinating , God of War killing goodness. Well then Shank is the game you are looking for! This game was an entry in the Independent  Gaming  Festival for 2010, and nominated among many, for best in visuals.

Look at the Fighting Style

If you failed to pay attention to the later video, then I think one of two things needs to happen. One I give you some of my A.D.D. medicine, or I just explain what I saw.

I think we will go with number one for sake of a half decent blog post… The protagonist of this game seems like he learned how to fight by playing years of video games. Almost all of his moves have been done by previous popular titles. But this is not really a bad thing, because it actually fits together to create a sexy mutt of all my greatest memories in gaming. Then it combines it all in a graphic novel style that gives it a shiny new game smell. This game is definitely something you should check out, and I will be trying my darndest to get a demo of this game to review for this site!

Crappy Ending

Go and check out IGF’s website review of shank here. Then while you are there show some love to the game developers there that work for hours on end to make a game that you will love to play. Cheers, and leave some comments below and a rating above!

P.S. Check out my shank fan art here!

2D Game Developers Free Mario Vector Remakes

2010 January 30

Starting right now, my team of artists and I will be developing sprite sheets of old video game characters. Starting out with a comprehensive Super Mario Bros sprite sheet. You will be able to find the art for preview and download on my Art page. But you will have to wait, because this is supposed to be a few week long project. So if you are interested in using very high detail graphics in your 2d platformer, just subscribe to this blogs RSS feed or even as a member if you like. Then I promise I will personally let you know when you can download these gems. Here is the sprite sheet we are remaking. I hope you like it!

Allods Beta Review

2010 January 29
by kadajett

Allods Beta Test Review

First Look

My initial hour of playing consisted of very single player RPG like game play. You start out by creating your character, which is very in depth. It sort of compares to a weak version of Oblivion’s character creation. You pick one of two factions, then you choose one of very many races, then you choose one of even more classes. Then of course you get to customize your character’s features. All of this combined gives a very unique character.

After your character creation, you start in a room full of NPCs and a cut scene occurs. You play through the cut scene, and then you get to fight alongside the NPCs for about 20 min. After all of that, you finally teleport to a new a area where you get to play alongside with human beings.

The first thing you notice as you start grinding in the first area, is that there are a lot of high level people floating around. They are grinding on the same low level creatures as you the beginner are. Not sure if this is saying anything about the high level enemies, but it seems a little sketchy.

Graphics

The graphics like many other things in the game, resemble World of Warcraft. The animations are all supposed to be motion captured, but they all seem to have a cartoon like exaggeration.  It’s not a bad thing though, it kinda made me giggle. Especially when I saw the NPC in the beginning of the game cry over the (Spoiler Alert) dying mage.

Sounds

The sounds were good, that’s about it. Nothing to call your mum about. Sorta unrealistic in my opinion.

Overall Feel

The overall feel of the game at first was a little weird, but once you get the hang of it, you can see just about anything. For laptop users, the track pad is not recommended for play. It’s kind of a pain.

The hotkey system is pretty cool, but another thing you have to be a WoW fanboy to be able to use correctly. And I have not seen a sign of any guild or clan possibilities. But in a game like this, there will definitely be a community aspect.

Review from the Authors

About Allods

Allods is a revolutionary massively multiplayer RPG from Gala-Net, publishers of Flyff and Rappelz, and Astrum Nival, developer of Heroes of Might & Magic V and Rage of Mages. The largest game development project in Russian history ($12 million), Allods features state of the art graphics by top award-winning artists and a cinematic soundtrack by Mark Morgan (Dexter, Fallout 1 & 2, Planescape: Torment). The game is one of the largest and most comprehensive MMORPGs ever created, featuring a vast and gorgeously realized world, astral space exploration, and flying ships which can be crewed by multiple parties to explore new realms and pillage other astral travelers. Allods won the Best Game 2009 & Audience Choice awards from the Russian Game Developers Conference.

The game features an unprecedented level of detail for an MMORPG—2 warring factions, 6 races, 8 archetypes, 28 classes, hundreds of skills, and over 1,500 quests. Its visuals were designed by artists who won the 1st, 2nd, 6th, and 10th place awards at Dominance War, one of the most prestigious global art competitions, in both the 2D and 3D categories. All of the animations are motion captured, and the Allods 3D game engine was developed entirely in-house. The orchestral soundtrack, composed by Mark Morgan and rising star Vladislav Isaev, was inspired by classical, electronica, new age, and tribal musical genres. An immense amount of content is featured in the game: raiding and dungeon instances, pets, balanced PvP, a crafting system designed as mini-games, dozens of astral islands (Allods), and numerous other features. The story spans a series of games published over 11 years beginning with Rage of Mages, featuring a background history remarkable in its complexity and depth.

Allods is being published in English, French, and German by Gala-Net and Gala Networks Europe, one of the largest global operators of free-to-play MMORPGs, and will be completely free-to-play. Allods is being developed by Astrum Nival, formerly Nival Online, the largest developer and operator of MMORPGs in Russia. The game is expected to launch in Winter 2009.

Final Review

This game so far, was about an 8 out of ten. Right up there with WoW, and Final Fantasy. A little tweaking, and this game could be huge. And if I didn’t already tell you, this game will be Free. So here is your WoW quality free to play game.

Elysian Shadows at PixelCon

2010 January 27

Overview

Elysian Shadows is a game project for the PC, Dreamcast, and PSP. Specifically, it is an RPG built in c++ with LUA script. The game has created a huge cult following with its Youtube series “Adventures in Game Development.” This series follows he team as they create from scratch their RPG engine and game.

First Look

The game resembles old Chrono Trigger in my opinion. But from what I have seen of the oh so secretive battle system, it will be more action based. As opposed to turn based.The graphics are beautifully done in 2D, and I can’t wait to see if they decide to make a vector graphic style for the computer. (Just a hope…)

News

The Elysian Shadows dev team will be showing off their game at PixelCon! The team will be showing off gameplay, and giving a lecture about a career in game programming. So all of you should go check them out, and give them the support they deserve. Maybe you will be able to buy Elysian Shadows Swag while you are there too!

Check Them Out

http://elysianshadows.com

PixelCon Gaming Convention

2010 January 26



  • Details: January 31st, 2010 from 11AM – 10PM, at 3rd Floor Ferguson Center at the University of Alabama – Tuscaloosa, AL
  • PixelCon is strutting it’s stuff for the first time on January 31st. The event will include game art, music, and game  play. All of this from classic games to indie games to pro games. You will see what you want here. Independent developers can show off their games in personalized booths. And players can enjoy game rooms filled with retro games, Rockband  competitions, and tournaments for first person shooters, Brawlers, and sports.
  • Clothing Booths!!! All game related! Woot I likes the pixelated linen.

Any game related company interested can visit http://www.creativecampus.ua.edu/ for more information.