Tuesday, September 30, 2008

Ghost Hunt: Near Completion



Done, but i screwed it up somehow.

Almost completely revamped. Increased difficulty level, and added a second level that mirrors the trend in classic games of presenting a huge challenge to the gamer. I also added a background as well. Everything is a go, except that i have somehow produced a logic error that prevents users from advancing to level 2. I think it is just something i am over-looking, but at the moment after countless rereads and revisions, i am stumped. Any ideas?

Here is my code for advancing to level 2.

var score = 0; scorebox.text = score; function scoreIncrease() { scorebox.text = ++score; }

var scoreb = 0;
scorebox.text = scoreb;
function scoreIncrease() {
scorebox.text = ++scoreb;
}
/* This creates a variable called "score". It sets it's default value to 0 when the game
starts. The dynamic text box "scorebox" gets assigned the value, "score".
NOTE: this means that variables when asked to show up as text (.text) appears as such.

A function, "scoreIncrease()" has been created. When called, it will take the score, and
add 1 to its value. (++score.))
*/

var miss = 0;
missCount.text = miss;
function missPlus() {
missCount.text = ++miss;
scorebox.text = scoreb + 0;
}

bkg.onDragOver = function() {
msgbox.text = "(c) 2008, Napalm Justice Productions"
}

onEnterFrame = function(){ if (score >= 2){ gotoAndStop(4); } }
bkg.onRelease = function() {
missCount.text = ++miss;
}

onEnterFrame = function(){
if (miss >= 3){
gotoAndStop(5);
}
}

/* Advances game to next level, or game over screen. Here,
the game over screen is set to frame 2 of the main timeline,
and set only to show if the score is higher than 20.*/

It is set up exactly like my miss variable, but it still will not work, although you can die without problem. Any ideas on what i am doing wrong?

Thursday, September 25, 2008

Actionscript Demo; Tweaked



Round 2.

I have done a bit of tinkering to my demo from before. All bugs fixed. It has virtually the same look, but elements have been added to the interface. First of all, now there's a HUD showing your score via a dynamic text box. (1 point per kill.) I also have it set to show a tiny bit of copyright info when you click and drag from the background to a ghost. I also have implemented a slash feature. (Left click, hold, and drag.) Currently, you do not get any points for slashing, but the game does give you props via an animated message.

Tuesday, September 23, 2008

Quiz 2; 9/23/2008

What is the difference between an event handler and a frame event?

Frame events are events that occur within frames on the timeline.  They are written in the actions panel and are set to occur once that particular frame is reached in the timeline.
Example: symbol.gotoAndPlay(12);

Event handlers are events that are triggered upon user interaction.  Usually written in the first frame in a timeline they apply to every frame of the animation unless otherwise noted.
Example: symbol.onRollOver = *action*

Revamped Digiscape and Actionscript Demo

With the 4th week of school comes the ever shortening deadlines in each class. Especially when you're taking two animation classes and a flash class such as myself. Oh well, better finishing late than finishing too late...

....Anyways, here is my remixed digiscape, and actionscript demo.

I took in all the considerations of my classmates and professor and made my digiscape more chaotic. Initially, it was a bit difficult, turning my intricately choreographed ballet into an exhibition of freestyle b-boy battling, but i ended up manipulating and adding animations that aided in my former idea, while expanding even further. This iteration of the digiscape has added the idea of "internet imperfection" into my work. The files act at different speeds, some zipping along with into and out of the background while others crawl forward, sometimes dismantling into their basic file format for easy transferring. Data stalls, shifts, and can get sent to the wrong address. Some reach their destination in parts, waiting to be fully compiled at the end, and others stay in one spot; bad files that are damaged in one way or another.


The Digiscape, now with 50% more action!

My demo on the other hand, is an entirely different story. I got the idea for what i wanted to do over the weekend, and have been working on it since. Long story short, i'm a big fan of old-school light gun shooters like Time Crisis and Duck Hunt, so i wanted to make a tech demo of sorts in the style of those old games.


The ghosts fly into the view with ever-changing patterns. There is no end to them, or is there?

Shoot with the left mouse button. There are no bullets shown on screen or sound heard due to my current skills in flash, but you are treated to a quick death animation while your cross hair rotates as if it was reloading itself. Did i mention that the ghosts try to hide by turning slightly translucent when you mouse over them? Click away. Fight for everlasting peace!

In all seriousness, i have come to remember the kicker that is a logic error. You spend hours reworking your code, writing it, rewriting it, printing, making check marks, and retyping it, wanting to quit bur refusing so because you love what you are making. You want it to be perfect so you search and search for that1 little mistake undetectable by your compiler. When you find it, it is always the simplest fix ever. 4 seconds at the most.

But oh well. I had fun making them.

Monday, September 15, 2008

Final Digiscape



Click the picture to play.

It is done! It is finally done!

Here is my final digiscape. Changes include adding shape tweening elements, tightening the animations of the rows of data, a massive increase in the amount of objects moving from plane to plane (from zero to many) fbf tightening of previous movements, and a bit of finetuning everything else. Nested animations are becoming my best friend, and they are becoming very easy to use.

I will say, however, that much of my success with them are because of the notes i took while animating. It is a big help to plan out what I want to do first, while leaving enough room for experimentation. Thinking about timing and spacing of objects helped as well.

In regards to the data that transfers in between planes, I found my original idea of the squares transferring into shapes to appear more forced than the rest of my work. (too much of the trick showed, not enough magic... if that makes any sense.) So instead of doing that, i went an entirely different route and shape tweened masks for the changed shapes, putting webbed patterns that changed color at different times into my animation. These i think would be a nice contrast to the square data clusters. They represent the inner framework that is used for each piece of data. The programming and coding that goes into digital information. It is, however, not one solid line. The little splits on the sides represent fragmented, imperfect data. The internet is man made, and from time to time, traces of humane programming can be found upon examination.

Thursday, September 11, 2008

(Assignment Write Up:) Animated Digiscape; Iteration 1.



The Digiscape:  A work in progress.

In the first iteration of my digiscape I have animated each row of "land and air locations" on the screen. Each row is animated to scroll at different speeds, simulating the constant movement of information across an infinite sea of data.  To animate the data, I have incorporated different techniques , including motion tweens, nested animations, easing in and out, timing, and motion tracking. Scale, color, and rotation tweens were used when working on the grid.

I had a moment where i was wondering how i wanted the rows of information to spawn.  I played with masks, scale and constrain tweens, but none gave the effect of the creation of information across both planes as well as nested alpha tweens.  I saved a copy of my animation "labeled: backup" just in case i had such a moment of indecisiveness so i could go back, and work a different method out.  This weekend, i will need to animate the red data that moves between each plane.  It will move vertically, tweening from green to red to blue.  I will use alpha blending so the shapes spawn out of the rows of data, fading in and out.

Quiz 1: 9/11/2008

1: What is difference between a symbol and a instance?
A symbol is a vector shape that is stored in your library.  It is editable by double clicking it on your stage or in your library.  They are small in file size and stored as part of your movie.  An instance is a symbol, customized in the properties menu with a distinct "instance name." Editing it will only affect that instance.  In any other scenario, editing any other instance of the symbol (with the same name) will affect all other instances of that symbol, making it easy to make big changes (like color, size, etc) to every iteration of your symbol in you flash movie.

2: What is difference between a frame that has an empty circle and a frame with filled in black circle?
A frame with an empty circle is an empty keyframe.  A frame with a filled in black circle is a keyframe.

3: What are 2 of the main reasons people use flash?
a: Vector-based images do not get damaged in flash when magnified or reduced.  They do not have pixels that show up when zoomed in.
b: File sizes can be optimized due to the low file size of vector graphics, speeding up the process of rendering.  Flash can also import from a wide range of media sources.

4: You can only motion tween a _________?
Symbol

5: How can you tell if an object is a shape or a symbol?
A shape, when clicked has a dotted overlay over it.  A symbol, when clicked, has a blue outline over it, and its registration point in the upper left corner (unless otherwise denoted by the user.)