Alright, this is pretty much what's already happening so I might as well save myself the trouble and play along with it. I've been using the blog to test out the new game I'm working on, as mentioned in the previous post, and instead of taking it down and re-upping it constantly, I'm just going to leave it up and let all who care to see check out the game in its developing stages. Check back every couple of hours and see if I've accomplished anything, if you like. Maybe I'll even post some updates on how the code is coming. I know, soooo exciting.
Update Log Entry #1, 7/31/2010: OH MY GOD, I HATE TRIG SO HARD RIGHT NOW
Update Log Entry #2, 7/31/2010: Rotational shooting is working. I don't know why, but I'm not gonna touch it.
Update Log Entry #3, 8/1/2010: Well, I basically rewrote the harpoon and little whale classes and all their movement and collision handlers about three times from scratch. I think my current implementation is a keeper, but the whales aren't moving correctly when they get hit. Why do I have the feeling that the solution involves more trig?
Update Log Entry #4, 8/1/2010: Nope! No trig! Turns out I'm just retarded, which is a mixed blessing in this case. Time to graft the Thumb-Man controls onto this game to get the player moving...
Update Log Entry #5, 8/1/2010: Yahoo! WASD controls now functional. Just don't fire a harpoon while you're facing left until I get that ironed out...
Update Log Entry #6, 8/1/2010: Wall collisions, quick-jumps, and level-dropping is all implemented, and I fixed the aiming system! Things are going smooth right now, time to call it a night.
Update Log Entry #7, 8/2/2010: I wasn't looking forward to transferring the game to a 550x530 window (as opposed to 550x1800) but it was surprisingly painless. The only thing that didn't transition so well is -- surprise, surprise -- the rotational aiming. Just need to patch that up, then I'm on to implementing the "bubble" functionality, and then the game is almost done!
nathan
[EDIT: Removed the game. It's now in a later post.]
Friday, July 30, 2010
Intermission
Ugh. Must... program...harder......
For my next programming project I've tackled something way more ambitious than that last "game", and I'm starting to feel like I bit off more than I can chew. I don't want to give away too much, but I'm essentially making a Bust-a-Move (aka Snood) variant. one of the things that is different is that the screen is really tall, to the extent that you'd have to scroll up the page in which the game is embedded while you're playing to keep up with your progression. I thought this would be a funny format for the blog, but some issues are coming up that seem to illustrate why nobody makes games in this way.
Let's just put it this way: your browser's Flash player is not exactly a PS3. There's a limit to the number of sprites that can be moving or even displayed on the screen each frame without massive slow-down. This is a problem because the way I'd designed it, the game started with a 37 by 14 array of bubbles to be busted, which the game has to iterate through and move each individual bubble for every frame of the animation. Right now, I see three possible fixes for this:
And since I feel obligated to post content, here's the first game I designed in my class at Vassar. It makes the last thing I posted look like less of an achievement, but this one was made using a Flash game designing add on rather than from scratch. Some of it won't make sense outside of the context of the class, so sorry about that. The point of the game is that you can't beat it without "cheating." I'm not telling you how, though. That's the game part.
[Sorry! The game has been moved here: Wallhacker]
CONTROLS: Arrow keys to move, space bar to shoot.
Featuring music by artists including Big Black, Microdisney, Thinking Fellers Union Local 282, and Earth Wind and Fire. Enjoy!
nathan
For my next programming project I've tackled something way more ambitious than that last "game", and I'm starting to feel like I bit off more than I can chew. I don't want to give away too much, but I'm essentially making a Bust-a-Move (aka Snood) variant. one of the things that is different is that the screen is really tall, to the extent that you'd have to scroll up the page in which the game is embedded while you're playing to keep up with your progression. I thought this would be a funny format for the blog, but some issues are coming up that seem to illustrate why nobody makes games in this way.
Let's just put it this way: your browser's Flash player is not exactly a PS3. There's a limit to the number of sprites that can be moving or even displayed on the screen each frame without massive slow-down. This is a problem because the way I'd designed it, the game started with a 37 by 14 array of bubbles to be busted, which the game has to iterate through and move each individual bubble for every frame of the animation. Right now, I see three possible fixes for this:
- Instead of moving all the bubbles every frame, I can make a timer and move them down a row every couple of seconds. This is how it works in Bust-a-Move and Snood anyway. I'm afraid that this won't fix the lag problem, though, because the game will still have to display a ton of bubbles.
- I can give up the dream and decrease the height of the game window, so that new content generates and disappears as you scroll up. D'oh.
- I can try to make the cluster of bubbles one glacially moving monolithic sprite, and then use my two-dimensional array to store information about each part of the grid rather than storing an actual Object. This feels like the best solution to me, but also sounds like the hardest to implement.
And since I feel obligated to post content, here's the first game I designed in my class at Vassar. It makes the last thing I posted look like less of an achievement, but this one was made using a Flash game designing add on rather than from scratch. Some of it won't make sense outside of the context of the class, so sorry about that. The point of the game is that you can't beat it without "cheating." I'm not telling you how, though. That's the game part.
[Sorry! The game has been moved here: Wallhacker]
CONTROLS: Arrow keys to move, space bar to shoot.
Featuring music by artists including Big Black, Microdisney, Thinking Fellers Union Local 282, and Earth Wind and Fire. Enjoy!
nathan
Wednesday, July 28, 2010
The Physical Adventures of Thumb-Man In Sunshine Land
Woohoo! Above you will find the first fruits of my attempts at videogaming. Alright, it's modest. And the graphics are pretty rushed. And there isn't really an objective. In fact, it's really just a platformer physics engine, and even then the controls are kinda sluggish. But here's the cool part! You can click those little arrows in the upper-right corner to change the physics constants: gravity, land speed, jump speed, and the coefficients of friction in the air and on land. Just use the arrow keys to move the little dumpy thumb-guy. It's pretty self-explanatory.
AWESOME FEATURES!
- The height of your jump depends on the duration you hold down the "up" button. Whoah, cool!
- Real simulated physics includes a vague semblance of momentum! Ga-roovy!
- Crouching increases your friction with the ground, sacrificing speed but increasing control. Duuuuuude!
Some technical notes of varying nerdliness:
- Sorry about the arrow button controls. It would obviously be easier to just have a text entry field for each variable, but for some reason I didn't realize this until I had written an entire Class for the arrow buttons with a bunch of neat little bells and whistles, and now I'm too attached to it. I guess I can go back and change it if it's that bad... also, if you think one of the variables increments too much or too little with each click, message me and I'll fix the code.
- Just to clarify, the friction values are coefficients for the character's speed, so lower number = more friction. The other values work the opposite. Bigger number = more gravity, etc.
- Okay, this one's really nerdy: ActionScript is weird. For some reason, when I fed a global Number variable of the game's main class to an instance of the Up/Down Button class, it copied the variable's value and left the original unchanged. Okay, normal. But when I did the same with a TextField variable, it actually went and updated the original. So yeah, I'm not really sure how pointers work in this language. There is still much to learn.
nathan
Subscribe to:
Posts (Atom)