Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by raigan and mare, posted on December 19, 2004

Image Description, by raigan and mare

"N" is a 2D physics-based puzzle/platformer, and our first released game -- you are a ninja trapped in a world of well-meaning, inadvertantly homicidal robots. get it for free here:

our idea was to combine the physics-based control of games such as soldat or elastomania with the tile-based world and run-and-jump gameplay of platform games like kirby or super mario bros.

since most tile-based games rely on very simplistic collision detection/response, we had to develop our own algorithms for quickly calculating collision response info (contact point, collision normal, penetration depth).

technical features:
  • a robust collision system which supports completely arbitrary placement of tiles (unlike most platformers where, for instance, the location of "sloped" tiles is very constrained)
  • procedural and keyframe-interpolated skeletal animation
  • replay system/online highscore system (clicking on a highscore shows a replay of that player's winning game)
  • physics-based control of the player
  • ragdoll physics
  • built-in level editor (still needs much improvement)
  • ninja-tastic gameplay
  • the current release (v1.3) features 300 levels. along with v1.3 we've been releasing a series of tutorials and source code explaining the more interesting bits of our engine (such as the collision detection/response); while the physics is very straightforward "jakobsen/verlet", we found a few tricks in 2D (for instance a simple and fast method for modeling joints), as well as a few enhancements to the traditional tile-based approach. you can check those out here:

    none of this is exactly cutting edge, however we had a hard time finding good resources on 2D game technology; most of what's online is from an era where collision was done using pixels instead of geometry. so we thought we'd share what we came up with. anyway, please feel free to email us with complaints, suggestions, large sums of money, etc.: n AT harveycartel DOT org

    raigan and mare

    p.s - this game was made in flash/actionscript. yes -- flash. our ancillary motive in making N was to demonstrate that it's possible to make "real" video games using actionscript, and that blame for the glut of terrible "games" made with flash should be attributed to the shortcomings of the developers and not the platform itself.

    p.p.s - we made it into the igf finals! woo!!

    Image of the Day Gallery


    Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
    Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

    December 19, 2004, 12:59 PM

    That is really a very cool game that you've put together!
    Simple and clean graphics and a *very* challanging gameplay. I find it annoying at times, but I guess that's just because I suck at these kinds of games. The physics also work great.

    Sven Herrmann

    December 19, 2004, 01:08 PM

    I love this game...


    December 19, 2004, 03:20 PM

    Woa don't you think it's waaaaaaaaaay to hard?

    John Deer

    December 19, 2004, 03:40 PM

    Amazing game! I've been playing it a lot and it has really good gameplay and it even looks pretty.

    And no, I don't think it's too hard. I don't think it would have been as much fun if it was too easy to beat.

    Brandon Bloom

    December 19, 2004, 04:50 PM

    Great game!

    Has a very good feel and great gameplay.

    On the difficulty: I think the difficulty is right on target for the upper levels. The first few levels I found quite fun and enjoyable. The harder levels were too hard, but I might have been able to beat them with more practice (aka, more easier levels working their way up there).

    You should introduce each of the new enimies one at a time (every few levels introduce something new) and give players a chance to get a feel for their different attacks and behaviors and such. Towards the end of the game you can mix everything together all crazy.

    I don't know if its possible with flash, but gamepad support would make it far less painful to play.

    Keep up the great work!

    Raigan Burns

    December 19, 2004, 04:51 PM

    thanks for the comments!

    to be fair, "it's too hard" is the #1 complaint we hear. we're not sure what it is: some people have no problem with the game, and some people just can't play it at all. unfortunately we're both of the first type, so we don't have a good understanding of what makes it so hard for some.

    certainly it takes a while to get a feel for the controls. however we can't really do anything to make that easier, since the feel of playing is pretty much the focus of the game.

    have to watched the in-game help? there are some "moves" (walljumping, etc) which you need to know how to do. not knowing those will certainly make the game way too hard.

    anyway, thanks again for the feedback.

    Nick Rolfe

    December 19, 2004, 05:03 PM

    I discovered this game earlier this year. I got addicted but had to delete it from my hard drive as it was seriously eating into my revision time :)


    December 19, 2004, 05:34 PM

    yeah great game :)
    I love those kind of games, simple yet addictive and funny.
    Great graphics, great physic and all.

    And NO it's not too hard. Games that are too easy are boring, I mean come on we need some challenges here.

    Raigan Burns

    December 19, 2004, 06:32 PM

    to brandon bloom: you should be able to find some free utilities, such as joy2key, which will let you map joypad input into keyboard input. sadly flash can't directly handle joypads ;(



    December 19, 2004, 08:27 PM

    very cool! good work!



    December 20, 2004, 07:07 PM

    People complain about the difficultly because for some it is too difficult. I feel that one of the biggest problems that many game designers still have is supplying the "right" difficulty for all players. It's obviously something that would be very hard for a programmer to be able to do. I do think, games like this can be better but the first thing that you have to realize is that people play with different abilities AND for different reasons. I myself, an accomplished player for many years found this to be a great game until I started to fail on a couple of levels. I then just became annoyed because I had to start the level over too many times so I just stopped playing and went on to the many other things I could do or play on my computer. Many people like to play not for the challenge but just to relax. I thought the levels were cool and wanted to finish a level not to "finish" the level but to see the next one.

    a simple solution would be not having the level progression be linear. In this game that could mean that some of levels would have multiple exits or optional ends to level. So advance/hardcore players would take the more difficult paths while people like me would take the easier ones. We would still continue play since there would be a whole new level to enjoy. Another solution would be to have the AI or the game physics itself adjust to the player that's playing. I once wrote asteroids game that sped up ever so slightly when the player did better. But when he was killed over and over I slowed the game down and had the aliens shoot less. There are other ways that I would do this now but at the time it worked pretty well.

    Games should be just hard enough to keep you playing but not so hard as to make you annoyed.

    Raigan Burns

    December 20, 2004, 07:56 PM

    thanks for the feedback; we've actually been discussing doing a "Umihara Kawase" type nonlinear platformer, which i think is a great way to incorporate "difficulty" levels without an explicit setting.

    i agree that this game is frustrating, and that it's not very well suited for people who don't like a challenge and who mainly just want to relax and explore/have fun.

    i'm not sure, though, that you could change that without ruining the game -- it seems like much of the fun and excitement/tension stems from the fact that you're almost always brushing very close to death.

    anyway, nice ideas.

    p.s - you should read the cheats.txt for info on how to unlock all the levels ;)

    Brandon Bloom

    December 21, 2004, 12:21 AM

    joy2key appears to be for Linux, joytokey seems to be the Windows version :-)

    In any case, I downloaded his tool (and after a bit of figiting with it) gave you game another try. I discovered that there are A LOT more levels than those 5 I saw there (I am a dope!) Apparently you did what I suggested by gradually increasing the complexity of the levels. I find the game far more enjoyable with my joypad, so you may want to point users towards a similar tool.

    The game is significantly less difficult (for me at least) with my XBOX controller :-)

    Again, this is great work. Keep it up.


    December 21, 2004, 07:12 PM

    great design, great game


    Pete Bassett

    December 22, 2004, 10:19 AM

    First of all, great game. Very playable, very frustrating but also very satisfying when you get through a level.

    Now the moan.

    Why in the name of all that is holy did you write it in such a god forsaken language. Its on 100% processor from the very second it starts till about 10 seconds after I've shut it down.

    If I have any background processes doing anything, god help me because it becomes almost unplayable from the jerkyness. There is a time and a place for physics simulations and actionscript isn't one of those places.

    Once again, fantastic game. Very impressed and I definitly like the game play, level of difficultly, design style.

    I just wish you'd have chosen a language a bit more suited to heavy processing. C++ or even Java would have had an order of magnitude more performance.

    You could have knocked together a renderer for those graphics in no time in OpenGL, SDL or even the Java library or your choice. The rendering would have taken no time at all and you would have had a proper language in which to implement the physics.

    End Of Moan.

    Keep up the good work guys.


    Raigan Burns

    December 22, 2004, 11:51 AM

    thanks -- i think the main thing is, we're lazy.

    halfway through univ i started using actionscript, and was AMAZED because things which took me half a day to do in c suddenly took 30min. everything is dynamic, it's a very flexible and easy to use language. and the built-in graphics and sound systems are WAY easier to use than openGL -- plus it comes with an excellent modelling tool ;)

    i shudder to think about having to write my own keyframe skeletal/hierarchy animation editor.

    so, you could say we traded processor time for dev time.

    however, we _are_ going to try something else, probably d as it seems a lot simpler than java and much easier to use than c/c++.


    Brandon Bloom

    January 12, 2005, 02:55 PM

    Volume setting! PLEASE! :-)
    I got hooked on this game, but I can't play it with my music at the same time!

    Until then, does anyone know of a program that will allow me 2 set application-specific volumes?

    Brandon Bloom

    January 12, 2005, 02:56 PM

    I am really really dumb today...

    My roomate looked over my shoulder and said "I don't believe theres no volume setting" I said "No man, look!" and he goes "its right there"


    My bad :-(


    January 12, 2005, 07:00 PM

    Great name, game and code. And kudos for sharing the knowledge gathered during the making of N.

    This thread contains 19 messages.
    Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.