Logo
Home Register Members User Control Panel Search Frequently Asked Questions
Penny Arcade Forums > On-Topic Forums > Games and Technology » Let's Make a Game: Platformer Edition [Playable Alpha (Win/Mac)! See page 8]
Reply
 
Thread Tools
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-06-2009, 06:21 PM
darleysam wrote: View Post
My brother sounds interested in doing something for this if you'd like. You can hear our kind of stuff in my sig.
I'm very interested. First of all, your band is really great. All four songs up on the page are superb. If you were to make something for this project on that level, I'd have to work really hard getting the artwork and everything else up to the standards you'd set. That is a good thing. It's exciting and I'm willing to go for it.

Your style fits really well with the initial levels, especially the second and third. Up-beat acoustic guitar and cajon for the grassy, outdoor levels and something with a spindly, mysterious, exploratory for the forest levels.
__________________
Reply With Quote | #101
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-06-2009, 06:50 PM
Visti:
Tema_#1 - I like it, especially the fast break beat. Think you could work it into 3 parts: intro, main loop, outro?
Sometimes - Like you said, it's rough. If you find the finished version, let me know. The minimal sort of vocals should loop well. Doesn't fit anywhere yet but I'm keeping it on file.
Portis - Made me rethink my description for the opener and first stage. The game has a minimal story, so the tone on the music is going to drastically alter the tone of the level. I like this as a direction for the first level rather than popish stuff. It's relaxing, doesn't make the player want to dismiss the tutorial boxes before reading them. I ran a quick test to see how it worked in the game as a second soundtrack with my stand-in ambiance. There was a little clipping (on my stuff) as a result but it worked well. I really like it. Read the first level description and have a listen:
http://dl-client.getdropbox.com/u/10...yer%20Test.mp4
__________________
Reply With Quote | #102
on my way to
darleysam's Avatar
 
Location: Barnes and Noble

darleysam is offline

Old 04-06-2009, 07:01 PM
Cheers man! The songs on myspace were recorded in a studio and so anything new would have to be on our own equipment, but we can absolutely try and do something good for you.
__________________
Reply With Quote | #103
Champion of the sun
Visti's Avatar
 
Location: Aalborg, Denmark

Visti is online now

Old 04-07-2009, 03:56 AM
ZackSchilling wrote: View Post
Visti:
Tema_#1 - I like it, especially the fast break beat. Think you could work it into 3 parts: intro, main loop, outro?
http://dl-client.getdropbox.com/u/10...yer%20Test.mp4
I'll try! I'm not sure I have the original files for that one anymore, but I should be able to at least remake it.

I got tangled up in some other projects, so I didn't get around to making something for the middle levels, as I had planned, but I'm gonna get there!
__________________
Reply With Quote | #104
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-07-2009, 09:29 PM
I just found the project file I was working on with stage 3's music. It's only about a minute long and there's not much to it, but I figured I'd post it anyway since there are musicians who might be able to turn it into something less boring. Or toss it and give me something better. Anyway:

http://dl-client.getdropbox.com/u/10...ew%20World.mp3
http://dl-client.getdropbox.com/u/10...w%20World2.mp3
Progression: F -> Am -> G -> F -> Repeat
__________________

Last edited by ZackSchilling; 04-08-2009 at 01:28 AM.
Reply With Quote | #105
Black gobbler of cocks
MikeMan's Avatar
 
Location: Gobbler of black cocks

MikeMan is online now

Old 04-08-2009, 11:46 PM
Hey Zack.

I figured I'd upload some of my stuff to see if you like it. I picked some of the faster, happy techno-ey stuff as well as some moodier, slower stuff.

This track is called "Europop" and it's upbeat and happy, with a piano outro.

This track is just a little techno ditty that I wrote. Kind of cheesy but if you like the melody I could expand upon it.

This song is a little classical ditty with just orchestra instruments (well, not real ones, sampled ones, but you get the idea.) This might not be your style for the game but I figure I'll give you a range of styles and you can tell me which you like and which you don't.

Here's a moody piece I'm tentatively calling Cavernous. Starts off slow and slightly creepy, then the drums come in to back it up.

Let me know which songs you like best, and I can write more in that particular style as needed. I try to write in a variety of styles so I don't get stale or musician's writer's block. Also, any of these songs can be extended/shortened as needed.

Let me know what you think. Thanks!

edit: Sorry for putting them on zshare. I don't have a myspace (though I should get on that) and I couldn't find a better site.
__________________
Senjutsu wrote: View Post
Yo dawg I heard you like to exist so I put an is in your is so you can be while you're Being

Last edited by MikeMan; 04-09-2009 at 01:22 PM.
Reply With Quote | #106
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-09-2009, 01:13 PM
I can't seem to get the player sprite to appear over the particles, but I haven't been trying very hard. Writing a high-performance OpenGL particle engine in Python is really hard. It's easy with a fixed number of particles all sharing the same attributes, because then you can push all the data into arrays, manipulate it in bulk, and push it out to the GPU, all without having to sort or copy. But once you're adding new particles continuously and throw in randomness and individual life spans, forget it. I figured out a few ways to cheat a little and now I'm in business with just a minor performance hit.



It looks neat in motion, but a little limp and strange. I'll have to keep tweaking the parameters to get it right. I think in the end I'll have to either do some more extensive control of the particle flow go for a hybrid look.

__________________

Last edited by ZackSchilling; 04-09-2009 at 01:24 PM.
Reply With Quote | #107
Black gobbler of cocks
MikeMan's Avatar
 
Location: Gobbler of black cocks

MikeMan is online now

Old 04-09-2009, 01:27 PM
I really, really like the particle look.
__________________
Senjutsu wrote: View Post
Yo dawg I heard you like to exist so I put an is in your is so you can be while you're Being
Reply With Quote | #108
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-09-2009, 01:43 PM
Hey, I didn't see this post until just now...

MikeMan wrote: View Post
This track is called "Europop" and it's upbeat and happy, with a piano outro.
This doesn't fit anywhere now, but it very well may work later in the city levels. The best of the bunch.

MikeMan wrote: View Post
This track is just a little techno ditty that I wrote. Kind of cheesy but if you like the melody I could expand upon it.
A lot like the Europop track, but grittier. It'll probably be one or the other. Far, far too early to plan the stages that come far after those that I've already laid out. The pitchbending midi makes me think of F-Zero.

MikeMan wrote: View Post
This song is a little classical ditty with just orchestra instruments (well, not real ones, sampled ones, but you get the idea.) This might not be your style for the game but I figure I'll give you a range of styles and you can tell me which you like and which you don't.
This makes me think of towns in JRPGs. I don't think it'll fit in an action game, but it's not bad.

MikeMan wrote: View Post
Here's a moody piece I'm tentatively calling Cavernous. Starts off slow and slightly creepy, then the drums come in to back it up.
The ambiance is good, but it's slow paced. The strings playing a scale that kick in sometime in the middle get old. Fast.
__________________
Reply With Quote | #109
Black gobbler of cocks
MikeMan's Avatar
 
Location: Gobbler of black cocks

MikeMan is online now

Old 04-09-2009, 01:48 PM
ZackSchilling wrote: View Post
Hey, I didn't see this post until just now...

MikeMan wrote: View Post
This track is called "Europop" and it's upbeat and happy, with a piano outro.
This doesn't fit anywhere now, but it very well may work later in the city levels. The best of the bunch.

MikeMan wrote: View Post
This track is just a little techno ditty that I wrote. Kind of cheesy but if you like the melody I could expand upon it.
A lot like the Europop track, but grittier. It'll probably be one or the other. Far, far too early to plan the stages that come far after those that I've already laid out. The pitchbending midi makes me think of F-Zero.

MikeMan wrote: View Post
This song is a little classical ditty with just orchestra instruments (well, not real ones, sampled ones, but you get the idea.) This might not be your style for the game but I figure I'll give you a range of styles and you can tell me which you like and which you don't.
This makes me think of towns in JRPGs. I don't think it'll fit in an action game, but it's not bad.

MikeMan wrote: View Post
Here's a moody piece I'm tentatively calling Cavernous. Starts off slow and slightly creepy, then the drums come in to back it up.
The ambiance is good, but it's slow paced. The strings playing a scale that kick in sometime in the middle get old. Fast.
Yeah I just sort of looped the strings because I didn't know what to do with them. Honestly I'm not sure where to go with that last one.

Anyway if you like the first techno one let me know if you want me to modify it.

And thanks for the comments.
__________________
Senjutsu wrote: View Post
Yo dawg I heard you like to exist so I put an is in your is so you can be while you're Being

Last edited by MikeMan; 04-09-2009 at 01:53 PM.
Reply With Quote | #110
Dancing through time
Dratatoo's Avatar
 

Dratatoo is offline

Old 04-09-2009, 01:51 PM
ZackSchilling wrote: View Post
Dratatoo wrote: View Post
quote:
The original concept is that the arms and legs are some sort of musical energy streaming out. Since the guy's a robot, I figured it would make sense for him to sink. That said, any water in the video is strictly cosmetic and there to show off alpha blending. I'm thinking eventually I'll code in water to the physics and have it modify movement somehow. Maybe increasing friction and allowing "air" jumps to let the player swim.
It would be nice if the "music/rythm" streaming out of his body would somehow correspond to the music played - like a live visualization (maybe replace it with some sort of pulsing particle effects?) Another side effect of this would be that you wouldn't need to actually draw all parts of the character sprite - just animate it with the particle/sprite system. This could be also used for enemies or other animated objects in game. The best comparison to this idea would be the look of the Vectorman genesis game and maybe this flash animation:

http://www.newgrounds.com/portal/view/193426
I'm not sure how that flash relates, but once I finish re-implementing the HUD, this is next on my list. I had always planned to animate the character in this way but I never went through with it because I was using software rendering at first.

Can anyone point me in the direction of a GLSL particle system or something I can use for this purpose without putting more stress on my code?
The most basic animation technique in Flash is, to but you desired object into pieces and animate every piece individually by rotating it / changing its position / changing the size - this way you don't have to actually draw anything new. This works very well for mechanical objects and if skillful used can still be impressive. (The flash animation presented uses only this technique )
__________________

MK: DS friends code: 210.526.484.816
Reply With Quote | #111
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 04-09-2009, 09:23 PM
Dratatoo wrote: View Post
ZackSchilling wrote: View Post
Dratatoo wrote: View Post
quote:
The original concept is that the arms and legs are some sort of musical energy streaming out. Since the guy's a robot, I figured it would make sense for him to sink. That said, any water in the video is strictly cosmetic and there to show off alpha blending. I'm thinking eventually I'll code in water to the physics and have it modify movement somehow. Maybe increasing friction and allowing "air" jumps to let the player swim.
It would be nice if the "music/rythm" streaming out of his body would somehow correspond to the music played - like a live visualization (maybe replace it with some sort of pulsing particle effects?) Another side effect of this would be that you wouldn't need to actually draw all parts of the character sprite - just animate it with the particle/sprite system. This could be also used for enemies or other animated objects in game. The best comparison to this idea would be the look of the Vectorman genesis game and maybe this flash animation:

http://www.newgrounds.com/portal/view/193426
I'm not sure how that flash relates, but once I finish re-implementing the HUD, this is next on my list. I had always planned to animate the character in this way but I never went through with it because I was using software rendering at first.

Can anyone point me in the direction of a GLSL particle system or something I can use for this purpose without putting more stress on my code?
The most basic animation technique in Flash is, to but you desired object into pieces and animate every piece individually by rotating it / changing its position / changing the size - this way you don't have to actually draw anything new. This works very well for mechanical objects and if skillful used can still be impressive. (The flash animation presented uses only this technique )
Ok, I thought you meant for me to glean something more complex from the video. I already use that technique for scaling and rotation.

Now that I've implemented the particle limbs, I've reduced my frame count for the player from 22 to 6. Half of those are not-quite-mirror images of each other, generated in Photoshop. I think I've got the particle limbs looking how I want now. Check out these experiments:

Rendering the particles as a triangle strip instead of points gives some very interesting effects. In motion it looks like your typical RPG Cold Fire. I abandoned this idea because even though it looks cool, it's distracting. The movement of the particles is semi-random. When you render it in points, one stray looks like nothing. It actually looks cool. Rendering in triangles, that one stray point turns into this massive shape larger than the player.



Further tweaking of the particle generation renders this effect: distinct limbs while still (with rumbling outlines). Neat sloping curvature on the jets while moving, and a neat cloud that all the limbs morph into while falling at an angle.




Lastly, I altered the particle generation to produce 12 times more particles for a while when starting to jump. I shot these particles downward with much more force (so they wouldn't crowd around the player) and gave them a longer lifespan, so they could leave a trail. Because pushing out so many particles at once fills the buffers for the limbs, the game needs to wait for the trail to clear before drawing the legs again. They always reform before landing. This gives the appearance that the legs have stalled out due to the blastoff. In fluid motion, it's downright impressive.

__________________
Reply With Quote | #112
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-11-2009, 11:16 AM
I can't believe it has been over a month. That's crazy. Anyway, quick update. The engine has been rewritten again. I grossly over-engineered the graphics rendering so I had to rewrite that. Then I realized that I'd been entirely ignoring the fact that I had to manage texture memory on the GPU, so I went back and rewrote every single drawing object to track the textures it loads and delete them when it is garbage collected.

I finished the particle limbs, rewrote the physics again (moving platforms are now working), rewrote the level loading code to use python instead of text files, made the level objects thread safe (so they can be dynamically loaded in the background to move from one level to the next without any lag.

Basically, I've done a lot. This video doesn't show off the half of it.

__________________
Reply With Quote | #113
on my way to
darleysam's Avatar
 
Location: Barnes and Noble

darleysam is offline

Old 05-11-2009, 11:36 AM
Will watch that this evening when I get home. Just wanted to say that I'm still pestering my brother about getting some music together for you.
__________________
Reply With Quote | #114
Cursed One
Tcheldor's Avatar
 

Tcheldor is offline

Old 05-11-2009, 11:56 AM
Looks very nice. I'm eager to see what comes next, and I'll help in anyway I can, though I can't code heh.
  Reply With Quote | #115
Leather and brass goggles
Delzhand's Avatar
 
Location: steampunk standard issue

Delzhand is online now

Old 05-11-2009, 01:51 PM
You mentioned having some problems with generating new particles, and we were talking about this in the XNA thread recently - are you using a pool at all? Basically, instead of garbage collecting an expired particle, you have a "reset" method that randomly generates the variables needed for a "new" particle.
__________________
Reply With Quote | #116
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-11-2009, 04:01 PM
Delzhand wrote: View Post
You mentioned having some problems with generating new particles, and we were talking about this in the XNA thread recently - are you using a pool at all? Basically, instead of garbage collecting an expired particle, you have a "reset" method that randomly generates the variables needed for a "new" particle.
Yeah, pooled and sorted by lifespan, so the ones that expire always expire at the end of the pool. I don't know if its the fastest possible way, but it works well enough. It helps a lot that they're stored in a numpy array and pushed to the GPU in a VBO, all without touching python and incurring its massive array and iteration overhead.

All four limbs use about 2048 particles at any given moment but the game stays under 40% CPU even at pretty busy times.
__________________

Last edited by ZackSchilling; 05-11-2009 at 04:08 PM.
Reply With Quote | #117
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-14-2009, 04:19 PM
My last video demo for a while. Engine is feature complete! Most major bugs have been squashed. Moving platforms! Moving ground! Look at them gears (lord did youtube do a number on the video quality!).

Now it's back to designing graphics and levels. With the engine basically complete, it's time to make the game part. If anyone has cool level ideas and is a huge fan of platformers, let me know. I'd love to have some test levels that aren't my own. Ch-ch-check it out.

__________________
Reply With Quote | #118
Firman
.Tripwire.'s Avatar
 
Location: Canada

.Tripwire. is offline

Old 05-14-2009, 05:58 PM
Zack, this thread is great! I really admire the way you're plugging through this, keep it up.

I was also really glad to hear about your idea to incorporate rhythmic rewards into the combat and movement, that's been something I've always imagined would work great in a game with a strong beat (I'm a rap fiend, personally). I always thought that a visual cue would be unecessary in this context, like the audio of the beat should be enough for the player. But then again the way I considered it was just that the closer you were to "on beat" a different attack animation would play out and with stronger effects. This charging meter idea sounds more complex and requiring more continual, observable input.

Now don't ask me why, but as I watched the videos of your robot character I got a picture in my head of an adorable kid in a giant tomato sauce can who has rigged it with the rhythm boosters you've been experimenting with...



Tomato can!
__________________
Reply With Quote | #119
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-14-2009, 10:28 PM
Hey, Tripwire, that's awesome. I really do need to revise the character sprite eventually. I don't know if I'd quite go in the direction of a short little guy with a soup can for a body but I really like your style.

Tonight's development: repeating backgrounds.

I've got to do what I can to speed up graphics design. The fact that I didn't have a repeating background object until now is pretty funny for a platformer, but hey, I've had other things to do. To christen the new object type, I replaced the hideous low-res orange blob background on the "giant" test level, the one with all the spiky guys on the bridge. I'm no artist, but it looks good technically.

__________________
Reply With Quote | #120
Leather and brass goggles
Delzhand's Avatar
 
Location: steampunk standard issue

Delzhand is online now

Old 05-14-2009, 11:09 PM
I think it's a kid in a giant soup can, and I think it looks amazing - sort of like a mech without anime-baggage.

Also, how do you handle moving platforms? Do they exert a force on the player object, or is the player somehow rooted to the while stationary? In my platformer the player is moved the distance between the platform's last and current position, but that would never work for rotating platforms.
__________________
Reply With Quote | #121
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-14-2009, 11:40 PM
Delzhand wrote: View Post
I think it's a kid in a giant soup can, and I think it looks amazing - sort of like a mech without anime-baggage.

Also, how do you handle moving platforms? Do they exert a force on the player object, or is the player somehow rooted to the while stationary? In my platformer the player is moved the distance between the platform's last and current position, but that would never work for rotating platforms.
In the physics engine, all characters capable of walking run a routine called "seek ground" that looks 10 pixels in each direction from the bottom edge of their hitbox. If it finds ground, it aligns the bottom of the hitbox to the highest point. This allows characters that walk on arbitrary ground shapes. The amount of vertical adjustment is recorded but not factored into real velocities. That way, the player doesn't become unglued from the ground so easily but when another object needs to inherit your velocity, such as a projectile you're throwing, that object can inherit the Y velocity and the ground adjustment for proper behavior.

This means that vertically moving platforms, no code changes are necessary. I just change the collision mask on the ground and the objects notice they've become embedded and shoot to the top. For horizontal movement of platforms, I added a variable to the basic PhysicsObject that allows for an external horizontal velocity.

Moving platforms have attached a hitbox that when entered by any object, set this variable. It's recalculated every frame, so I just read off the velocity of the platform object directly and push it to any objects in the platform's influence.

The rotating platforms are a cheat. I create an object that appears to be a moving platform, but I override the physics methods that would normally add up accelerations into velocities into positions, so they remain stationary. The hitbox that would normally keep the player fixed in place by matching velocities then pushes the player to the left or right, depending on what I set the velocity to. I don't bother calculating the real rotational velocity because I don't have to. The seek ground code keeps the player moving on a circular path and the steady horizontal velocity looks good enough.
__________________
Reply With Quote | #122
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-15-2009, 10:47 PM
I cannot help myself from continuing to tweak the limbs to look better. I made a case for sprites using additive blending (so I could make lights, basically), but then I realized that I could make limbs look a bit more like TripWire's picture and less like a cloud of squares. The latest look:


__________________
Reply With Quote | #123
 
ZackSchilling's Avatar
 

ZackSchilling is offline

Old 05-21-2009, 12:50 AM
I've designed hybrid enemy/platforms and made the second boss into one. Here I am getting totally fucked up by it. Seriously. I'm determined not to make this easier, but I've yet to legitimately beat him once in testing. Not one time. It is possible, if I ramp up my attacks to do quadruple damage or lower his health, but screw that.





This game is going to be hard as shit. Nintendo hard.
__________________
Reply With Quote | #124
Tasering suspects
exoplasm's Avatar
 
Location: and civilians

exoplasm is offline

Old 05-21-2009, 03:20 AM
The camera needs to respect the walls in boss fights. That always bothers me in games where you can't see the boss cause the camera is off somewhere else.
__________________
Reply With Quote | #125
Reply

Penny Arcade Forums > On-Topic Forums > Games and Technology » Let's Make a Game: Platformer Edition [Playable Alpha (Win/Mac)! See page 8]

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -7. The time now is 08:01 AM.



Powered by vBulletin® | Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.