Ludum Dare 31
December 5th-8th, 2014

October Challenge 2014
Ending Soon!

ConstructionPlease excuse the site weirdness. Mike is making and fixing things. Clocks are probably wrong. Colors are place-holder.

What is Ludum Dare?
Rules / Guide

HeliChain reborn!

Posted by (twitter: @drZool)
January 5th, 2008 3:16 pm

No xna, only OpenGL

Finally I’ve ported it away from XNA to OpenGL, still got the (almost) same lousy controls, for your pleasure. Still needs .Net 2.0 to be installed though, but should be compatible with Mono, and thus playable on Linux. If someone like to try to compile it on Linux, contact me. Some things have been tweaked and added. But the game play is the same. Added ugly clouds for better sense of height movement. Updated the physics lib to the newest version.

Arrows: (over) steer

Z: Claw claw claw!

X: TURRRRRRBO

Space: Reset heli position

R: Reset level

N: Next level

Download now! 441KB Now with dependencies included!

Tags: , , , , , ,


6 Responses to “HeliChain reborn!”

  1. Wiering says:

    Sorry to disappoint you, but this I get exactly the same error in Vista: “stopped working”. Could it be something with the naming of your dll files?

  2. drZool says:

    Do you have .Net 2.0 installed? Perhaps you’ve got a 64bit cpu?

  3. michael says:

    Apparently it crashes due to a DllNotFoundException, with the missing dll being OpenAL32.dll

    Maybe you didn’t include all the dependencies?

  4. drZool says:

    Ahhh! great! Now those are included aswell! grab the new file here: http://enedahl.com/ld10/HeliChainOpenGL_0.3.rar

  5. D. Moonfire says:

    I messed around a bit, copied the .config files I needed for Linux from the Tao framework SVN, and got it running, but then I got a:

    Unhandled Exception: System.NullReferenceException: A null value was found where an object instance was required.
    at HeliChain.Game1.Initialize () [0x00000]
    at HeliChain.Game1.Run () [0x00000]
    at HeliChain.Program.Main (System.String[] args) [0x00000]

    This is on AMD64 Debian Sid. Using ‘mono –debug’, it looks like you are using Windows-style directory separators in your code.

    ENTER: HeliChain.LevelLoader:Load (string)([STRING:0x2aaaaad78ac0:Content\level_1.lvl], )

    Using MONO_IOMAP=all (a cheat for Linux), I got an out of memory exception:

    Unhandled Exception: System.OutOfMemoryException: Out of memory
    at
    at (wrapper managed-to-native) System.Object:__icall_wrapper_ves_array_new_va_2 (intptr,intptr,intptr)
    at FarseerGames.FarseerPhysics.Collisions.Grid.ComputeGrid (FarseerGames.FarseerPhysics.Collisions.Geom geometry, Single gridCellSize) [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.Geom.ComputeCollisonGrid () [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.Geom.Construct (FarseerGames.FarseerPhysics.Dynamics.Body body, FarseerGames.FarseerPhysics.Collisions.Vertices vertices, Vector2 offset, Single rotationOffset, Single collisionGridCellSize) [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.Geom..ctor (FarseerGames.FarseerPhysics.Dynamics.Body body, FarseerGames.FarseerPhysics.Collisions.Vertices vertices, Vector2 offset, Single rotationOffset, Single collisionGridCellSize) [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.GeomFactory.CreatePolygonGeom (FarseerGames.FarseerPhysics.Dynamics.Body body, FarseerGames.FarseerPhysics.Collisions.Vertices vertices, Vector2 offset, Single rotationOffset, Single collisionGridCellSize) [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.GeomFactory.CreatePolygonGeom (FarseerGames.FarseerPhysics.PhysicsSimulator physicsSimulator, FarseerGames.FarseerPhysics.Dynamics.Body body, FarseerGames.FarseerPhysics.Collisions.Vertices vertices, Vector2 offset, Single rotationOffset, Single collisionGridCellSize) [0x00000]
    at FarseerGames.FarseerPhysics.Collisions.GeomFactory.CreatePolygonGeom (FarseerGames.FarseerPhysics.PhysicsSimulator physicsSimulator, FarseerGames.FarseerPhysics.Dynamics.Body body, FarseerGames.FarseerPhysics.Collisions.Vertices vertices, Single collisionGridCellSize) [0x00000]
    at HeliChain.Helicopter..ctor (Vector2 position, HeliChain.Game1 game) [0x00000]
    at HeliChain.LevelLoader.EntityFactory (Entity entity, HeliChain.Game1 game1, FarseerGames.FarseerPhysics.PhysicsSimulator physicsSimulator) [0x00000]
    at HeliChain.Game1.InitLevel (Int32 lev) [0x00000]
    at HeliChain.Game1.Initialize () [0x00000]
    at HeliChain.Game1.Run () [0x00000]
    at HeliChain.Program.Main (System.String[] args) [0x00000]

    Not sure if that is helpful.

  6. drZool says:

    Thanks for trying! Seems like it busts when trying to create a physical body of the content\heli_body.ai file. Perhaps my parse code cant cope with newlines on linux, thus giving faulty polygon data, likely null or empty array. Making the physics lib’s body generation memory hungry? Id try replacing windows newlines in heli_body.ai to linux newlines.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]