Tuesday, April 29, 2008

An Aside

As an aside, here is another game I'm working on for a different class...

Detour

This has since been updated, and was a fun project to work on. After getting the initial code out of the way (code to switch between games, load the games, etc.) it was relatively easy to make games. This project had a much bigger emphasis on using the stage and Movie clips as well as AS3. What I mean by that is in teh proect for CAR233 I tried (and I think I did) do everything in code. This project mixes code a movie clips with preset animations and actions within a layer. So it was a different way of working, but also a good way of making a final product. It seemed much more intuitive.

Final Project - Post 5

All I've got to say is that I'm glad tomorrow is a working crit.

WORK IN PROGRESS

But really dissapointed that this is how little I have. That, and in trying to finish a lot of teh code/animations the code has become quite sloppy, which is too bad as it was kind of simple before.

Basically though, most of the key features have now been animated. Granted, the body isn't there half the time, but it's a start. The background is a little (see totally) overpowering. I really like the foreground though, I think that works very nicely.

Ther'es still more to do though. Thank goodness for finals week!

Sunday, April 27, 2008

Final Project - Post 4.1

Yet another version!

WORK IN PROGRESS

This time, there's some of teh groundwork for animation. The way I've set it up seems pretty resonable to me, but we'll see. The only problem is that you have to uinput all of teh frame numbers, which gets a little annoying.

Other than that though, it works pretty well. There neeeds to be quite a few more frames, and each one should last longer, since right now everything is on speed. To me the game seems to be running at the same speed, which is nice.

Saturday, April 26, 2008

Final Project - Post 4

So I started animating, and once again I have underestimated how much work and time goes into drawing the sprites, organizing them in Flash, and then putting together pieces and animating them. It has taken me considerably longer than I thought it would, and still don't have much to show for it! Whoops!



But here's the sprite sheet so far. Everything on this sheet has been assembled, so once I get this working in the game it should be fairly easy (just not quick) putting the torso on or adding more frames.
I'm digging the look, but not how much more needs done! I'll get this to work, add in teh environment, and then try and code bad guys/lives/things that will make this an actual game and moderately fun. We'll see. I would like to have a good chunk done for critique.


Thursday, April 24, 2008

Final Project - Post 3

Yet another update...

WORK IN PROGRESS

There's a possibility I'm starting to overload Flash...I've noticed in the most recent one that it chugs a little bit in the browser. Sure, I could have people download it, but how would tehy be able to run it besides making a HTML for them to click on. Just a note.

Improvements:
- Arrows! Press "1" to fire (fires on release).
- Steadying. While holding down "1", press "2" repetively to not only increase the accuracy of your shot, but also the speed of the shot.

To Do List:
- ART ART ART ART ART ART ART ART ART.
- Along with that is figuring out how to code animations...hmmm...
- Limiting the number of arrows, or maybe just making it take longer to load.
- Better collision for arrows.
- Enemies/AI.
- Compelling levels.
- Cleaning up the code.

So there's still more to do, but progress is very exciting! I think the art part will come next, if only because it's half the game, and will alter my code greater trying to figure out animations.

Tuesday, April 22, 2008

Final Project - Post 2

So here's some of the progress I've made so far.

WORK IN PROGRESS

There's still a lot more to do (no surprise), but I've made some decent progress in teh last three hours. One thing I really need to start doing to timing how long I work for, not only so I'll be better in managing homework, but also so I can understand and appreciate how long things take to make.

Updates:
- A much, MUCH better collision system. Mostly overhauled.
- Jumping. The longer you hold "Space", the higher the box jumps.
- Ledges. Double press "Down" key to fall through them.

On the agenda:
- ANIMATION AND ART! I've got to do it this time. No if's, and's, or but's about it.
- Shooting system.
- Enemies.

As an aside, it makes no sense to me why the earlier levels I made no longer work. For whatever reason, the character will just fall through blocks. The solution is as easy as making a new level, but curious none-the-less.

Monday, April 21, 2008

Final Project - Post 1

Heyo!

So here is a demonstration of the work I have done so far.

WORK IN PROGRESS

Good:
- Got scrolling fore/middle/background.
- Easier and more efficient heirarchies (in my opinion...not sure though!)

Bad:
- Maybe it's just Flash, but it's unintuitive to add new backgrounds for each level. Granted, the solution is just creating another AS file, but I've already got quite a few.
- Sloppy collision detection. Is more accurate than last time, but it thinks there are horizontal collisions when it hits the ground hard enough.

For next time:
- Actual art assets: character, landscape, enemies.
- AI for enemies.
- The shooting and jumping mechanics for the main character.
- Ledges you can fall through when holding/pressing down.
- Bigger levels.

There's still wuite a bit more to do obviously. Thank goodness for Mayfest. And next weekend.

Tuesday, April 15, 2008

Final GDD Abstract

The driving idea behind my final game is to have gameplay defined by the use of controls and animation.

In regards to controls, the way that the player presses buttons greatly affects the character. In order to shoot a single arrow, the player has to do more then press "A". Instead, the player first holds down the "Fire" button, waits for the arrow to be strung, and then must press another button (while holding down "Fire") to steady the character's aim, and only then can the player fire the arrow.

As for animation, it will impact the actual gameplay. If the player lets go of the "Fire" button before the arrow is strung, the arrow will launch from the character's hand. In the same way, if the player decides not to balance the character's aim, the arrow will shoot in regards to where the character's bow is pointing at that moment.

Obviously, this will affect gameplay. If an enemy gets too close, press the "Fire" button quickly to throw the arrow instead of stringing it. Or if the player has good timing, they can watch the character and shoot the arrow quickly instead pressing more buttons and wasting time.

More than anything, it would be cool to get this working. Cool in the sense that there's added strategy, pretty graphics, and just fun to play.

Saturday, April 12, 2008

Project 2 Plus

And here is the version I presented in class...sorry if you had ben waiting, and I swear this will be the last one!!

Project 2 Plus

Tuesday, April 8, 2008

Project 2

So here's Project 2

Project 2

I definitely was able to play around and rework a lot of the code I've already written, but the concepts, graphics, and most important fun isn't there yet. I underestimated how long animating would take, especially in regards with getting it into Flash. I spent quite a bit of time figuring out how to move through the MovieClips and how to position all of the frames within the clip.

In terms of animation, so much more could be happening. Having a character that actually responds to the environment, whether it's pushing back against a wall, trying to change their momentum, or bracing/preparing for impact after a fall or jump. All of these things would help lead to a more believable experience. It will be tricky (I think?) to get characters to move realistically, as the one I have now glides instead of steps.

In terms of code, I found out that Flash allows for inheritance. So I used that throughout the code fro Project 2. In the beginning the code was pretty concise, but quickly got out of hand since I started dumping code in from my previous code fro Project 2. The end result works, but could be trimmed down and made more intuitive, especially since with every level change some errors are thrown. Nothing that affects the game, but knowing it's there means something sin;t working right. Knowing that there is inheritance will help dramatically in the next project.

And the concept! The magnets didn't carry over as well as I thought they would. I was hoping that you would see the character move in cool, curved paths, but he just kind of floats away. I couldn't figure out the actual physics as well, so there's just a radius around the magnets where it works.

So yeah. I'm somewhat pleased with what I've learned, but not what I have done so far. I need to be further along!

Wednesday, April 2, 2008

Project 2 Update

So here's a much better version of project 2.

First, the collision is mostly correct now. It pushes the character back down when it's head hits something, and bounces off the extremes of teh screen.

Also new is scrolling, which automatically looks for the leftmost and rightmost platforms, and stops scrolling when they're reached. The code is flexible, so it should work for any level.

Other things that need to be done:
Platforms you can jump through, or duck down through.
An actual level.
An actual concept.
Oh, and fix the friction in the air. (As in get rid of it)

Here's the update!

Same controls.

Tuesday, April 1, 2008

Project 2 So Far

So far, Project 2 has a far way to go.

Originally it was going to be a Contra like game, I think I'm switching to a game where your character is magnetized and he can activate it whenever he wants. When he activates his magnet near another one, he'll launch into the air or attach to it.

The code I have right now is messy. The physics is acting properly (compared to Project 1), but compromises were made. First, everything has to do with teh center of the box. If teh center is off teh edge, teh whole thing will fall.

One problem can be seen when jumping right under the floating block. I'll have to switch it so that that doesn't happen.

Oh, and when the box falls friction applies. Just a remined to fix that.

Here it is.

In this version though:
Double tap left or right to get a quick speed boost (which needs altering)
Press "1" to jump

Friday, March 21, 2008

Virtual Jihadi

People are definitely overreacting. Maybe it's because I'm in art school, or the college environment is very engrossing, but it just doesn't seem like that big of a deal to make this kind of game. Plenty of movies have had the president in trouble from terrorists. Granted, the game is different from that. It just doesn't seem outrageously offensive, at least enough that requires shutting down the exhibit.

It's surprising to see a reaction to a hack of a game (although Hot Coffee garnered the same amount of attention). What's more surprising is the history of the game itself. It was created in response to an American made game! We're not blameless in this. Opponents of the game would have a much better argument if we hadn't started with the Quest for Saddam game. Or at least be an opponent of that game as well.

Tuesday, March 4, 2008

Project 1


And this is it!!

It's not much...actually, I butchered up some of my earlier code pretty badly to get this running. It's shown me a lot of things that need fixed with my base code. Like how each screen commnicates to each other. I didn't give enough information/parameters/flexibility for information to be easliy passed. Another problem is that the physics isn't true. That, and if the character starts falling too fast, it will fall through platform, which is frustrating for those with a high score. The code is also sparsely commented, so I'll need to go back and clean that up.

The game is kind of fun though. I like the bouncing off walls technique. I think it adds something more. One idea I was throwing arond today ws doign "Chef" from Game and Watch. It's a surprisingly fun and addictive game. I'd just have to remember how to actually play it.

The game is still lacking severely though. The difficulty ramps up only by making less platforms. There's no guarentee that you can actually get to the next platform as well. I'd also like to speed up the blocks as time passes, but my physics system wouldn't allow that.

It's also running exceptionally slow in the browser. Streamline! I owuld include a seperate HTML with just the .swf, but the code is poorply managed (it takes diferent screen sizes, so a larger browser window throws it out of wack. Not bad, but the chnages the game and defeats the purpose of the frame included).

Tuesday, February 26, 2008

And Contra

And a Contra like game!  That would be awesome.  ALthough the way I have things currently set-up, it would be possible.  Each action (like a mouse press or key up) cancels whatever was happening before, like the right arrow key held down.  So if you were running and shooting, you'd have to press the run button again, otherwise you would stop. 

Monday, February 25, 2008

Beginning Project 1

Project 1 has been very interesting so far. Much of it is because I can't make up my mind of what I want to do. Part of me really wants to do a cool physics platformer, with grappling hooks and levels and all sorts of cool stuff, while the other half wants to do a strategy game, like Advance Wars. Yet a another half could be up for doing a mini-game compilation; I did one back in high school and it was lots of fun to make.

This is what I have so far though:
This one is pretty basic. The block can jump (on release of the spacebar) onto each of the platforms. Also, it can move left and right with the arrow keys, and it even comes with fancy physics/friction. Working through this gives me great respect for the guys behind Mario Bros. (Especially 3, which had momentum I think). They are able to produce a fun, responsive game. Meanwhile, mine feels a little loose, and doesn't nearly have the perfect controls (especially in the air). The next step for me is to have the character bounce off the walls of the platforms, as now it can go straight through them. Other things that would be good to do as well would be scrolling, having actual graphics, and being able to fall through platforms (with like down and jump).

While playing around with the window size, I thought it might be fun to have a game where dragging the actual window resizer would be the control for the game. But what is a test render in Flash is not an online browser. The browser really chugs.


This second test was trying to get legs act for themselves. It took much longer than I expected it to, and it's still kind of clunky. For whatever reason it doesn't always work (I think it has to do with the speed the character is coming down). All he can do is jump. if you hold down spacebar he prepares, and launches when you let go. Some of the problems are that the legs separate, and it doesn't always register a landing by bending the legs (as described above). Originally I was going to put two feet in (the long, vertical box at the bottom), but it really made flash chug-a-lug. Like really bad. I was surprised...my code must be too clunky! As well, the code isn't too versatile. The legs will only work when the thigh and calf beginning and ends are directly above each other. One of the reasons I wanted to do this was so that my character could animate himself, and be able to stand on sloped ledges, and respond to the environment.


After all of this though, I need to get cracking. This is all cool and whatnot, but how useful to an actual game? I think the latter especially is more for fancy sake rather than solid gameplay. This coming up week I need to pick a project and go with it! Even if it's a bunch of boxes (which would be bad, since I always do that), as long as it's a solid, moderately fun game I'll be happy).

Oh, and I did make a loading screen/intro screen for the first file, but I forgot to publish it that way. Sorry! And both of these files allow double, triple, quadrupile...jumping. Good for getting back to the platforms in the first one and good for breaking the second!

Monday, February 11, 2008

Exercise 3.3

Wow, Flash files done completely in ActionScript (minus the movie clips) are amazingly small!  3.2 was a whopping 107KB, but this file was 2KB.  Holy crap!  (although upon further reflection, the difference is not in using Actionscript, but the fact that this had no image files in it...d'oh!)

Although, it is not quite as intuitive to write everything in ActionScript.  As much as I like to write it all in different files, doing it as a layer in Flash is easy, and convenient since everything is on one page.

This project wasn't too bad.  I just kept forgetting to link the MovieClips with actual code/files, so that was the only problem I had.  One cool thing it does (totally unplanned) is that shooting closer to the blue square makes the particles slow, but far away they move fast.  Pretty nifty.

Single Player Coop

Oh, and single player coop (while probably really difficult to do, and twice the amount of work) is a really cool idea for a game. Like Resident Evil 4 with Ashley, or ICO with the princess. It helps put a different spin on things, being able to always have someone going with the character. Kind of what they do in Half Life 2, where all of the characters with you flesh out the story, and keep you company.

Exercise 3.2


So for the first of three, I did a simple car moving along the screen. It accelerates, and the car even rotates to show the intensity of its speed. Although when the shadow rotates with it it looks kind of silly. Maybe if all of this wasn't so scripted...

The second one is an extension of the first, but this time the ball moves in two directinos, so both X and Y accelerations are being calculated. The car shoves off with predetermined constants, giving it a still scripted feel...

The final of the three, which was the most difficult and time consuming, is definitely my favorite. Even though some of it is still scripted animation, much of it is not. The robot pulls his arm back through constants, but after that the arm is given initial velocity and the rest is math. Probably not the purest of math or physics, but it still looks pretty good. The most difficulty with the swinging arm was getting it to stop. The most effective solution was to cut the velocity in half whenever it was at neutral (straight down) position. The car, however, is completely code. Through trig, the car is attached to the arm, moving and rotating accordingly. This was exceptinoally hard to do, and probably took the longest amount of time. The problem was in the arm's rotations. I thought it had to do something with Flash's rotation scale, but it ended up being that I was thinking in degrees, not radians.  Whoops. Anyways, once the car reaches a certain rotation, it detaches from the robot and then is affected by gravity. The lauch position is completely alterable, so changing the value will change the trajectory. Take a better look at it here:

Dog's Solution

Can you name the game?

The exercise was fun though, and very rewarding. It's a good reminder of how long getting code to work well takes (even for the simpliest of things!)

Monday, February 4, 2008

Exercise 2

Here's some of the new animation I did. They take much longer than I anticipated. Much of it is getting used to drawing backwards. Normally when I draw a still image I just go in and start, but with animation there's a lot more planning. If all of the details aren't sorted out first, it's going to end up crappy and I'll have to start over. The left one is walking and the right is an idle position, although he's moving quite fast in that one.



As for Exercise 2, I had some of it done. It wasn't frustrating work, but it's certainly not as intuitive as I though it was going to be. I ended up only being able to get a blue box to spin left and right, as well as duck. It was strange because I tried to do it with my character and it refused to work.



I also tried to whip out some ActionScript magic, but I've forgotten more than I thought I would in a month or two. That, and the assignment specifically asked for actions in the stage, not as separate ActionScript files.

Monday, January 28, 2008

Chapter 2

Sticking to a plan is the best plan.  I couldn't agree more with the author.  It helps in making deadlines, knowing when to cut features, and gives more structure to the project.  

The only thing worrying me this semester is being too ambitious, either with project goals of with Flash.  I think physics based gameplay (like Half Life 2, but more like Portal) would be really fun to mess with.  Thinking of something to manipulate and then designing tight and interesting levels/principles around it is fascinating.  But I only know so much code, physics, and math.  It'll be challenging to make sure things behave like they should, and not like I think they should.  Like my planet project last year, while it was cool, wasn't how things should orbit.

As for Flash, I think it's going to be tricky to not overwhelm it.  Although it should be fun (and probably frustrating) to fine tune the code and get it running smoothly.  I'll have to wait and see what I can do with it.  It held up pretty well last semester.

1B: Walking and Design

My character needs more work than I though it would. Having to draw animations made me realize how many things aren't finalized in he design, like colors, a face, consistent sizes, etc. Likewise, a convincing animation takes more than six frames a second. If anything is going to look tight/responsive, there needs to be more work in animating and making sure things move realistically and smoothly.


And I think I might be leaning towards vector graphics. I can see why they're are so nice; they immediately spruced up my scanned images and gave them some "oomph". But now it also looks too Flashy, one thing I was trying to avoid.


Below is an animation of getting up and of walking. The standing up one has a vector image on the left and the original scan on the right.












The character needs more weight. If he's super scrawny, that machine needs to be dragging him down more. An exaggerated limp in his walk, or maybe having his arm bounce around or drag more.



Below is the sprite sheet and preliminary character work, since the animations lack the full depth and detail of the character.

Tuesday, January 22, 2008

1A: Bitmaps and Vectors

Here are two images from the web:

A harmless looking office employee and a standard pencil.
These are the same pictures trace bitmapped:

When combined, however, all of the earlier perceptions are gone:

The once innocent employee is actually a harsh pencil master, causing the pencils to revolt with fire and zombies (for added affect).  the zombie picture is also a vector image.

Monday, January 21, 2008

Chapter 1/Flash Research

After doing some research into Flash games, playing some SNES games, and reading the article, I definitely have a clear idea of what I do and don;t want to do this semester with any of the games I make.  Granted, once we actually start developing things will probably change, but the following points are definitely guidelines/goals I want to follow.

One of them is loading times.  I've been playing Chrono Trigger (a SNES game ported to the PlayStation) and the loading times are horrendous.  Especially for a game that is running a full generation above itself!  It's so jarring to be playing and have to wait for five seconds after running into an enemy.  Just as bad is the menu screen, which also takes a good five second to load.

Which is a shame because this game does a lot right.  While nothing it does is revolutionary, the experience is so much better because of them.  Instead of having a separate screen for battles (it's an RPG), the battles are seamlessly integrated with the over world.  Run into a monster, and the menu screens pop up.

I think as long as I can exceed the expectations that go with a Flash game, there will be something special to my game.  Maybe I'm the only one with prejudices against most Flash games, but they all seem overly simple (yet throughly complex) and expected.  None of them blow you away with phenomenal graphics, interesting gameplay, or a cohesive story line.  For whatever reason they don't compete with console efforts.  Granted, consoles have huge teams compared to one or two man efforts in Flash, but I'd rather have a short and awesome experience than a longer one that's dull.  Even if the game I make isn't groundbreaking, putting it in a cohesive package helps.  But we'll see once everything actually gets started.