Search Unity

Code name Clockwork

Discussion in 'Made With Unity' started by Morgan, Jun 24, 2006.

  1. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    First public preview - won't be posted permanently, but I'm ready to share a little alpha preview of my first Unity game. Many thanks to everyone here and on IRC who has provided support and testing.

    There is only one level done, and it's a "worst case test" with around 160 physics driven objects interacting. It therefore runs slowly for the first 15 seconds or so. Most actual levels would not be so demanding, but this lets me see the limits on lower-end hardware.

    Also, the "powerup" is something you would have to earn normally. To make testing easier, I've simply enabled it full-time. (And I've also allowed you to keep playing after you lose.)

    Different levels will have different themes--this one is ice. Some sounds are temporary, as is the font (menu/help system is my next task). Camera control is just for fun--you don't need it to play although the left and right arrows to see the level better are nice sometimes.

    Tools: LightWave 3D, Apple Soundtrack, GarageBand, Photoshop, a digital camera.... and Unity. A little over a week's worth of work, based on two previous versions of the game that I built with Director and Flash. Starting over in Unity has been worth it.

    The real thing is a standalone with better quality/speed control, but for testing convenience and Windows delivery, I'm using the Web player:

    http://adamsi.com/clockwork

    Mouse control (full-screen) highly recommended, but keyboard or gamepad control is functional as well.

    All comments, bugs, complaints, criticisms are welcome.
     
  2. forestjohnson

    forestjohnson

    Joined:
    Oct 1, 2005
    Posts:
    1,370
    Awesome! I like the game idea and execution of it a lot. seems like the ice should break when it falls, not just when it gets hit by the ball. It lags on my computer but hey everything does...

    Looking great so far! :)
     
  3. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Thanks! Hopefully it only lags until you have destroyed some ice and cleared the level out a bit--at which point it becomes reasonably fast for me. (It also helps to hit Tab until the bump-mapping goes away.)

    Yeah, it would be neat to see everything just crumble when the central tower falls. But it would be too easy :) (There's a weird mix of "real science" and things that violate physics for gameplay reasons. Another example: a "real" ball would eventually come to rest. This one keeps going, and going, and going...)

    You can however shatter ice with your gear, if any slides your way (only fair or your gear might get trapped by ice). Using the powerup key you can cause quite an avalanche sometimes, and clear away a lot of ice without even using the ball. (Which is why that powerup would normally have to be earned.)
     
  4. Lallander

    Lallander

    Joined:
    Apr 23, 2006
    Posts:
    429
    Very spiffy no lag here ;D.

    I didn't notice the powerup at first and thought it was the least bit dull. I will have to replay it again when im less tired. Clue us in on some of your other ideas for power ups.
     
  5. Samantha

    Samantha

    Joined:
    Aug 31, 2005
    Posts:
    609
    I have some comments and one suggestion. First the comments:

    Very impressive! Solid game idea (360 degree arkanoid) and it's pretty fun. I was especially impressed with the player gear's rotation, and how it matched the outer gear's rotation perfectly, even when moving. I also liked the super-zoomed in, cinematic-ish camera.

    It wasn't immediately clear to me that there were 4 dips in the arena, so I wondered why the ball would swerve unexpectedly at times. You might want to make them a little more prominent somehow.

    Now the suggestion:

    I found that sometimes I would hit the ball at such an angle that it would still head toward the level border, and I would move my gear as quickly as possible to hit it back out into the arena, but no matter how quickly I moved, I would still just hit the ball right into the border and lose a "point". Now it may be that when I initially hit the ball, I just didn't hit it center enough to avoid losing a point. However, it still appeared that I had a fighting chance, so I was often disappointed when I couldn't save myself from this situation.

    For this reason, I would like to suggest that you give the player's gear a flat surface for hitting the ball, like a platform that is closer to the center of the arena than the rest of the gear. That way, if I don't hit the ball with the flat surface, I know I'm screwed.
     
  6. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Thanks for the comments. The gear-meshing math (with both gears moving independently at varying speeds including mouse-driven/keyboard-driven/gamepad-driven) was a HUGE mindbender for me, but one I solved in the previous (non-Unity) version and the code ported over pretty easily.

    The real puzzle I had to solve (aside from having three times as many teeth as LightWave allows):

    * If the little gear holds still and the big wheel turns a full circle, that makes the little gear turn 9.75 rotations (312 teeth divided by 32 teeth). So far so good.

    * So how many turns does the little gear make in the opposite case? If the big wheel is held still, and you move the little gear a full circle around the level? 9.75 as well, I thought. But no--it's 8.75. Exactly one turn less.

    So making the teeth mesh at all times means using ratios of both 9.75 and 8.75. It took a long time for me to arrive there :)

    Each level will have things to discover--including the goal of the level (not always just "smashing stuff"!)--so some exploration of how each level works and what tactics are best for each is intentional. The ice does confuse people though and may need to be re-evaluated. Especially when people think there's a hole in the center (it's a hill) and wonder why the ball won't fall into that hole.

    I have various powerup ideas--and all will have visual effects to go with them. This "tilt" powerup for instance will have a clear mechanical cause when it's complete. And some levels will have no powerups at all. But I'll tell you one more I plan: a "freeze" effect that makes the ball, the little gear, and big wheel freeze to each other. You'd have to see it to understand, but the upshot of it is that you'll be able to aim the ball where you want and release--but only if you correctly judge the spinning of the gears.

    This particular level (if I keep it) will probably get that freeze powerup instead of the tilt. (I wanted to program tilt first, because it would have such global physical effects that would affect even your mouse control. So for testing, it made sense to program the tilt ability early on.)

    All powerups will be controlled by the mouse button, but I can't get the mouse button to work right in the new Web Player, so just for now it's the Z key.

    And I also plan interactive devices that the ball will trigger or be affected by (ramps, fans, more gears, different things that match each level's theme). So some levels will be more Rube Goldberg-like and less Breakout-like. Often you'll only learn what the goal of the level is by "playing around"--and that's OK, because I NEVER intend to make the player start back at the beginning of all the levels. (I hate that!)

    So if you've ever reached a level in the past, you can freely start there again. Or at any other level you feel like playing again. So you're still making progress, unlocking new levels, but you don't have to do it in one sitting. I'm also thinking I will make the game hard by having a lot of levels, rather than by having each one be really tough. I'm going for a little more relaxed play style than most arcade/action-type games have. Maybe picking a little different fun-frustration balance, appealing to my own tastes.

    It's true that if the ball gets past you, you're going to lose a "point." There's some learning curve involved in hitting a ball with a circular paddle when you're used to a flat one. You'll find that you almost always do best to hit with the "tip" of the paddle--but hitting somewhat off-center is safe. And you learn with a little practice when the ball can be saved and when it's a lost cause. (I've also programmed some pseudo-physics that give you just a little help keeping the ball away from the wall: it always bounces far enough away from the wall to let you get under it and prevent a second rim-hit. By normal physics, sometimes you'd get multiple rim-hits in a row with no way to stop it--and that's just frustrating.)

    You may also learn that just waiting a bit lets the ball pull away from the wall enough that you won't be hitting it back to the rim. If you think you have a chance... maybe you do, just don't take it too soon :)

    The super-zoom effect is just "because I can"--not very useful, but fun anyway :) I made it track the ball just a little if you dolly in just a little, and track it more and more tightly the closer you get. I'm especially proud of the fact that the mouse compensates for your view angle at all times: left is ALWAYS left, etc. (And if you're really zoomed in and can't see your gear at all, just think where you want it: in front of you. So push the mouse forwards and there you go.)

    PS, some advice: ADD MUSIC LAST. I will do bodily harm to myself if I hear that song one more time. :eek:
     
  7. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Page was down--DNS fun! It's back now (for the moment).

    P.S. The gear should be horizontal, not standing on edge--does anyone see it flip 90 degrees on its side when you go to fullscreen? (Possible bug? A Windows integrated graphics user reported that this happened consistently.)
     
  8. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    5,203
    Looks really, really great. Really nice idea and very polished.

    Regarding lag on older machines. Older graphics card are not very good with fsaa. By default this is on in the web player, but if you have a larger window size that might not be the wisest idea to keep on.
    You can use the Quality settings to turn it off.
     
  9. podperson

    podperson

    Joined:
    Jun 6, 2006
    Posts:
    1,371
    Nice idea, looks good.

    In Windows at least in fullscreen mode something funky happens with the camera and the game becomes pretty much unplayable (the camera points off in some random direction).

    I've seen similar issues with fullscreen Unity stuff which seems to be something to do with mouse positioning...

    It didn't exactly run fast on the dual 3GHz P4 with a GeForce 6800 I was using but ... it might be that machine is badly configured or the Windows Unity player needs loving.

    I think the presentation needs to simpler and made more cartoonish (I don't mean toon shaders ... gooball is cartoonish but photoreal at the same time) so that the viewer can clearly see what's going on. I'd suggest the smooth indentations be replaced with clear, geometric obstacles (e.g. pyramids, or pyramidal dips).
     
  10. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    That's really odd about the camera--you're not QuickDraw3DL on IRC are you? That's two reports of a 90-degree flip when you go fullscreen on Windows. Bug in the Web player? I'm pretty sure other Windows users have played it without seeing that, so it's a mystery. (I have reported a bug with the mouse button in fullscreen, but I can't see how it could be connected.)

    Re not understanding the "pits" at first--that's great feedback, and I will soon implement a technique to make them clearer without losing the all-ice style :) (But in any case this is just one level style, among others I will create.)

    Thanks for the FSAA tip. I'm proud to say I found that one on my own. Love the new quality controls in 1.5!
     
  11. podperson

    podperson

    Joined:
    Jun 6, 2006
    Posts:
    1,371
    I was using a rather oddly -- but WELL -- configured machine in my wife's VR research lab. DirectX 9.0c etc.
     
  12. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Strange. Other Windows users don't report that. I'll keep track of any future reports, though, in case I ever gather enough of a pattern to submit a useful bug report. Thanks for the details.
     
  13. pete

    pete

    Joined:
    Jul 21, 2005
    Posts:
    1,647
    finally had a chance to check it out. that's pretty cool! well done. tick tock!
     
  14. Samantha

    Samantha

    Joined:
    Aug 31, 2005
    Posts:
    609
    I didn't realize there was an update! I like the tweaks you applied, it seems much more playable somehow. I also found the dips in the level geometry to be more noticeable. I should add that I still had the inescapable lost point scenario happen to me twice in one game, fyi ;)
     
  15. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Thanks!

    I have indeed tweaked gameplay based on everyone's helpful feedback, in a variety of subtle ways that add up to a better experience I think. This is the value of testers who don't have own preconceptions!

    There is indeed a chance that you'll think it's not too late to hit the ball... when it IS too late. But I think that's OK, since you just have get used to the round paddle--it's different from what most of our habits (from flat-paddle games) tell us.

    More tweaks are in the works, and a level-flythrough at the beginning instead of the countdown (which should make the "pits" extra clear to people). Then I'll add a "powerup" in the very center, optimize every script and prefab as much as I can... and THEN, and only then, start making more levels.

    Oh... and I know the font kerning needs more work :?
     
  16. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    I haven't uploaded my latest version (the tweaks are too minor to notice) but I'm wondering, about the version that's already up:

    Does anyone see a bluish tint to the little ice chips (when a cube smashes)? If so, what's your GPU?

    I used a bluish-colored texture for them and that works fine on my old Radeon Mobility... but the chips look plain grayscale on EVERY other computer I try, from an old eMac to a new Mac Pro. ONLY my PowerBook shows the color. I'll submit a bug, but when I do it might be useful if I can name some other config that also has the tint.

    The gray chips coming from bluish ice just look odd.
     
  17. pete

    pete

    Joined:
    Jul 21, 2005
    Posts:
    1,647
    tough to tell for sure but looks bluish to me. 733 mhz quicksilver, 1gb ram, 256mb ati radeon 9800 pro...
     

    Attached Files:

  18. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Hooray! Blue :) That's just what it should look like. Thanks for the snapshot.

    So I'm thinking the color ONLY works on ATI boards, not on nVidia or Intel, and I'll report that. (It's the standard Particles/Alpha Blended shader with a blue-gray for the Tint Color.)

    Nice use of the Powerup key, by the way.
     
  19. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Could be...I get blue here, ATI X800.

    --Eric
     
  20. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Thanks to those who tested on IRC too.

    It seems that Windows has no problem, even with nVidia. It's Mac nVidia (and Intel) GPUs that show the bad gray, apparently.
     
  21. NicholasFrancis

    NicholasFrancis

    Joined:
    Apr 8, 2005
    Posts:
    1,587
    One thing that would get me more pumped would be if I saw bonus points when I hit many bricks at the same time - like UT's "Killing Spree" -> "Compo Kill"->"Super duper ultra mega combo".

    For performance, which shader are you using on the ice cubes? I hope its Alpha/VertexLit

    Otherwise really good work... Now get that PRO version and make the floor slightly reflective ;-)
     
  22. Morgan

    Morgan

    Joined:
    May 21, 2006
    Posts:
    1,223
    Thanks--and good idea--right now it says "Flak Monkey!" in a woman's bad British accent--but "Killing Spree" would be fun too :)

    Pro will come as soon as I get paid for some new Unity work :) Which is bound to happen one of these days. I have at least two freelance educational projects I'm waiting to hear about.

    This may be the only ice-based level in the game, but I do plan a few little enhancements. Reflections would be great--but can you reflect from a non-flat surface? I forget. And I've got two big fused masses of ice in my freezer ready to smash in front of my new Blue Snowball for better sound effects :)

    The cubes are Alpha/VertexLit. Performance on a low-end older machine is poor until you've smashed some blocks, but that's OK since this is a worst-case test level. (It's stacking so many blocks so high that seems to kill an low-end G4.)