I'm mostly happy with the way it turned out, though like most projects I kind of just wanted to get it done at the end and rushed to finish it. I probably could have polished it up a bit more and added a few more features, but you've got to draw the line and those last few things would have dragged out too long.This is my first flash game and my first submission to Newgrounds, so it was an interesting experience. Newgrounds is a pretty well made site (though their forums kinda suck, no subscriptions or editing posts?), and it was kinda fun watching the votes pile up as soon as it went up there, the site is very heavily trafficked. (Though submitting it right before I went to bed probably wasn't a wise decision, I was kept up all night with thoughts of voting and flash ideas hammering through my head)
So, here's hoping I win some money from this contest, it would be a pretty good achievement to get some cash for my first flash game. I have some ideas for a couple of new games, but before starting on them I'm going to wait for the announcement of the new JayIsGames contest, which has a $2500 cash prize. I'll have 2 months for development, and I'm going to try to blog the steps more thoroughly this time.
I find it interesting the way children's slang has changed due to the influence of technology and the Internet in their lives.
We had my family over for dinner last weekend, and whilst we were eating my 12 year old sister Priscilla decided she wanted some more Coke. By way of asking she poked Dad and spelt it out for him:
"Hey Dad. C-O-K-E."
Dad picked up the bottle from the table, but before handing it to her asked:
The first glimpse of Rock Band in motion was seen this week (though it seems to have since disappeared from the Internet), and holy shit, it looks fantastic. I mean, Guitar Hero III looks cool, but it's just going to be something to fill the time before Rock Band comes out; can't wait to try out those drums. I still haven't decided which peripheral package I'm going to buy: the new guitar looks great but since I can use my X-Plorer I'll probably buy the drums first. If I have the money though, I might just splurge and buy the whole package. I know, I'm a consumer whore, but seriously, Guitar Hero and Guitar Hero II have given me the most gameplay value for my money in a long long time, so I figure it's worth it.
I've made some good progress on the game I'm working on for the WiggiWorldcontest, if I get time to work on it over the weekend I may even get it finished, although finding some non-copyrighted sound effects may take a bit of time. I've been putting up my latest versions, so if you want to check out what I'm doing you might be lucky and find my latest test version there. Keep in mind a lot of the graphics are still place holders and there are still a few bugs to work out.
I'm really enjoying working in Flash and I'm kind of anxious to finish this game so I get working on some other ideas. It's quite possible that Kurodust Fighter may eventually see the light of day in Flash rather than XNA...
function liveJournal()
{
var listeningTo = new Band("killswitch engage");
var mood = "frustrated";
}
Game programming would be so much easier if it weren't for all the damned maths. What frustrates me is I've dealt with this exact same problem before, but my brain's just not in the right place to think about it, no matter how hard I might try.
I've moved away from my Tower Defense style game for the moment to try to put together an entry for a contest I found on the NewGroundsBBS, it's pretty much a derivation of Joust, but with some kiddy graphics and a bit of educational value (which are requirements for the contest). My brain is having difficult working through simple bounding box collisions at the moment though, so I'm not working on it any more tonight.
Sorry, I should say the collisions part isn't what I'm having difficulty with, because MovieClip.hitTest does that for me, it's what to do with each object after a collision is detected. I pretty much just want to do a projection and move the character so it's not overlapping the level object anymore, but that's complicated by the fact that what I'm actually doing the detection against are sub-clips of each object, so the different co-ordinate systems come into play.
It's probably not actually that difficult a problem, but I've been wrestling with it all evening trying to get my head around it, and I'm just not there. (This is why I failed my Maths course at Uni the first time)
I was excited to go to a special Q & A preview session of Knocked Up last night, thanks to Village Movie Club; I loved The 40 Year Old Virgin, and we've just recently watched all of Freaks And Geeks and Undeclared, so I'm throwing around a lot of Judd Apatow love. Unfortunately, the Q & A session turned out to be a nervous cinema employee asking lame generic questions of Judd, Seth Rogen and Paul Rudd with no audience participation. Lame.
The movie, however, was not lame. The opposite of lame. Hilarious. Very much on par with The 40 Year Old Virgin, if not better, so I'm glad we got to see it a couple of weeks early. Seth Rogen seems like the guy I could hang out and play video games with (I wonder what his GamerTag is...)
I'm pretty much back to where I was before I started the upgrade to ActionScript 3.0, with a greater knowledge of Flash in general and ActionScript in particular, which feels good. Now I can really start getting into the meat of the gameplay.
The thread I posted yesterday had quite a few useful tidbits, two of which spring to mind as not being necessarily obvious (at least, they were things I overlooked):
All classes need to go within a package {} block
Don't forget to put 'public' at the start of your classes, or you'll get an error
Event handling functions require an Event object parameter
Just a few things that tripped me up, so hopefully anybody reading this and looking into ActionScript 3 won't spend too long trying to figure out what their problem is.
It would seem that in Flash CS3 I can only bind MovieClips to a separate class file if I'm using ActionScript 3, and that means changing a whole bunch of stuff that I learnt from the inital tutorials I went through. So I've got a bit of reading to do to figure out what needs to be changed and how I should be putting my game together.
So far, this article has been extremely helpful, and I'm going to read through most of the tips on this thread over the next couple of days.
ActionScript 3 seems like it's put together quite well and much less of a hack job than AS1 and AS2, so I'm not unhappy about having to port my code across; I'm also kind of glad I started in AS2 because the syntax and structure is a lot more forgiving, so it was a good way to learn the basics of Flash. Fun and games!
So I finally found a flash tutorial that explained how the object stuff works and how it relates to MovieClips within the interface, so I can step back and design my game a bit better. I'm at that stage in development where it's kind of daunting to have to redo what I've already done though, so I'm going to sleep on it and give it a go in the morning, try to plan it out to some degree. (But not too much, because that's usually where I got bogged down and give up)
A few hours of programming later, and I've solved a few problems and hit a few more.
Firstly, I solved the problem of the ghost turret catching the clicks by doing something similar to what I proposed earlier: I created a blank GameArea symbol, and placed it's depth higher than the ghost turret's depth via Actionscript. I hit a small snag when I did this though, as when I actually placed the turret it was then lower than the GameArea and could not catch it's own clicks, which I wanted it to be able to do. (Otherwise I'd be trying to feed clicks down again, messy) To fix that I just set a minimum depth higher than that of the GameArea AND the ghost turrets, and it's all good.
A small diagram to demonstrate, in case you're confused (wouldn't surprise me, I don't think I explained that very well):
Depth: 100 ------ Turrets get placed above this depth
Depth : 50 ------ GameArea catching clicks
Depth : 49 ------ Ghost turrets to show placement
Depth : 48 ------ Background and other bits below here
I have no idea whether that's how it's usually done, but it feels OK to me and seems to work, so there you go. If you have a better way that I could do it, feel free to comment.
It's been fairly smooth from there, though I'm finding myself creating a bit of redundant code due to not fully understanding how the inheritance and polymorphism works within this language. Can I extend a MovieClip I have created, so that I can have generic functions that act upon the child classes variables? What happens to the timelines and graphics if I can? If anybody can explain this to me, please do so
Anyway, I've had enough for tonight, I'll try to keep this blogging up as I proceed with my development.
Great, my theme has broken because I've got too many items in that sidebar. I'm getting kind of sick of this one anyway, I think I might have a play and come up with something new.
Hrmm, my XNA links are quite outdated too. Revamp time.