Sunday, July 5, 2009

The Clone Continues


Work on my starfox clone is coming along. I've been busy lately, so I haven't made tons of progress, but so far so good really. This one man computer science wrecking crew is getting the job done.

I have basically have a simple engine right now. It has all the framework for all sorts of ships, shots and collisions.

The next big thing I'm going to have to learn to do is make a HUD. Making text appear on screen is probably going to be difficult. If anyone knows of any good tutorials for that sort of thing, you should send them my way. Maybe people who've done 305 will know.

In the picture, you can see the enemy take a shot at me. Its in the top right corner, safe to say he's not very accurate and he could have timed things better, but what can you expect from a first time pilot. I call those guys iBots, because they sort of look eye-ish.

I also put up the current Ubuntu build. Its on its own sidebar now. In this one you can kill, and be shot at. You won't die, but I'll do that stuff later.

Anyway. Rock Rock On.

Friday, July 3, 2009

First Playable Build!

First mac build! Excited, probably not, but hey. I'll link to it regardless

http://web.uvic.ca/~liamk/f1/f1il10401.dmg

I know most people are running winblows, but if your using a mac, you can give it a shot. It's compatible with 10.4 and 10.5 intel and power pc. So if you've purchased a mac anytime within the last 5 years it'll probably run, and run well. Its runs super smooth on a new intel mac. Like better than my pc at home.

AAAAH it's so easy to make mac games/software that run on every god damn Macintosh computer ever. As oppose to windows where its going to be hard to get it going on xp, and it certainly won't run on vista or windows 7 without more work. What the hell is wrong with Microsoft!

Ok back on track. So far the game isn't much. You can fly around and shoot one guy out the air. He's a little glitchy, I haven't cared too much about polishing him off. That will come later.

Anyway here is your chance to try out the controls and tell me if you like them.
w - moves you up
a - moves you left
s - moves you down
d - moves you right
q - spins you left/counterclockwise
e - spins you right/clockwise
r - speeds you up
f - slows you down
space - fires! (honestly the funnest button)

All the collision detection lines are present right now. I actually think they're very cool

Cheers!

-Liam

Thursday, July 2, 2009

I can detect collisions!

Its a big step. Its a huge step. Good collision detection is hard to do, I think this is ok collision detection, so I'm happy. Its fast, fairly easy to implement and works 100% of the time. It may not prevent clipping as of yet, but hopefully I'll get that working as well.

Its important to note this collision detection is entirely in house. I came up with it myself after reading something about spheres. Its been a linear algebra...fun time, so my one piece of advice to you is this: If you EVER want to make games, learn your linear algebra or get to know someone who does.

So far the initial 'level' which is known as the 'Eternal Spaceway' has one enemy, who can be killed. I think its awesome. Here you can see it in action with the collision detection spheres around everything. The qualities not the best, sorry. This isn't a professional game studio, I don't have time to make fake screen shots and pretend they're real.

Obviously the enemy ship isn't destroyed yet, but that just makes things nicer for you.

More stuff when its made

-Liam

Programming tip of the day: Look for ';' at the end of for loops, if statements and anything else that doesn't usually have a ';' . I've saved myself hours of debugging my checking for the ; first.

If you using python, well you can laugh happily until a list becomes a tuple on your ass.

Wednesday, July 1, 2009

Bringing Things Up to Speed 1

Day 1 wasn't much at all. I basically relearned GLUT: the GL Utility Toolset. Its awesome for most things. The first thing I wound up with was a rectangle with for colors. Its not very exciting.

Even less exciting is this rundown of glut functions I used:

glutInit(&argc, argv); was used to initiate glut. You can put in options, but I don't know what they'd be. Do you?

glutInitDisplayMode(GLUT_SINGLE GLUT_RGB); This was much cooler. It sets up the window to be single buffered and use Red Green and Blue Colors. The argument is actually a bitwise integer. So GLUT_SINGLE and GLUT_RGB are actually integer values with are subjected to a logical or. Cool stuff.

glutInitWindowPosition(100,100); sets the initial starting place
glutInitWindowSize(WIDTH, HEIGHT); sets its size

mainWindow = glutCreateWindow("main"); actually makes the window. It return an integer

glutDisplayFunc(display); sets the display callback

glutMainLoop(); starts the train wreck a rollin

You can see why most people don't make games. You have to start at the bottom before you can even think of where the top might be

Welcome to Fox-Like

This is a blog chronicling the creation of my rail based shooter which has a ship and takes place in space. I've termed the genre Fox-Like because the game will play a lot like the old Starfox games of the past. They're some of my favourite games of all time.


I'd be happy to have you follow me on the devolpment path. I'm making the game for ubuntu Linux, so it will be released for Linux and Mac OS X at the very least. I can probably do a windows port at a later time, but I'm not sure what that entails. I'm using openGL and Glut, so it should be very portable. Expect me to post all my early builds of the game for you to try out.


Thanks for reading.


My name is Liam Kiemele, and I'll be your developer for the next ever.