Showing posts with label Physics. Show all posts
Showing posts with label Physics. Show all posts

glaze Physics engine code released

Wednesday, 6 February 2008 | Labels: , , | 19 comments |

What had a working title of pEngine is now part of the glaze engine. It now only comprises of the rigid body dynamics engine, I'm going to now slowly port over the other features such as tile support, AI, line of sight etc. I was going to wait with this release until the code was complete and I was happy - which was probably going to be never so I though I'd get it out there a see what people might make with it.

The source is available at http://code.google.com/p/glaze/

The latest demos can now be found at http://home.planet.nl/~borst595/glaze.html

Good luck with it, post any questions, comments of links to anything you make on the group: http://groups.google.com/group/glaze-engine

Broadphase now added...

Wednesday, 23 January 2008 | Labels: , | 2 comments |

I was a little skeptical about broadphase with tightly packed bodies. After some playing around with Sweep&Sort I came up with a very efficient version that Actionscript likes. I also implemented my own inline Insertion Sort on the shape list to take advantage of spacial coherence (anybody know that the built in AS3 Array sort algorithm is?).

Result? A bump to 425 bodies - not all that stable sometimes. The stack just disintegrates at various points sometimes - I'll have to take a look, maybe bump up the iterations of the solver...

Find it here: http://home.planet.nl/~borst595/pEngineStressDemo.swf

or through the link at the bottom of the main page:

http://home.planet.nl/~borst595/pEngine.html

Now I really need to start fixing stuff for a release rather than seeing how fast I can make it....

Showing off...

Wednesday, 16 January 2008 | Labels: , | 5 comments |

Same demos as the other version of pEngine, only this time demo 1 (press 4) is a tower of 246 individual blocks.

Don't forget, you can aim and fire a block by clicking the left mouse button...



Play here:http://home.planet.nl/~borst595/pEngine246.swf

A reasonably decent computer required as well as the latest flash player - get it now!

New Actionsctipt 3 Physics / Game Dynamics Engine - Port of Chipmunk

Tuesday, 15 January 2008 | Labels: , | 1 comments |

After trying to a number of ideas for my tile engine, I decided I really wanted rigid body dynamics - my existing glaze engine is really only a particle dynamics engine. The trick with rigid body dynamics is to get it stable (aka no jitter). Fortunately there is a solution for this (SI) as shown in the Box2D physics engine (also ported to Actionscript 3) and the Motor2 engine. There is also a rather elegant implementation in C called Chipmunk.

After a few marathon coding sessions I ported the bulk of the code to Actionscript 3, and once working rewrote large chunks so that it was more optimized for the AVM.

The initial result can be seen here: Chipmunk Port - pEngine Alpha

I've still got a long way to go - I'm working a very simple API at the moment that allows you to describe a scene using tiles. I'll be updating this blog more frequently as I progress.

ICK

Friday, 30 November 2007 | Labels: , , | 2 comments |

After some playing around with various physics engines I decided to write a Verlet/Particle Physics Construction kit. Let people play around with building things out of not-so-steady materials. Anyway after some experimentation I ended up with something that played not unlike Tower of Goo (http://www.experimentalgameplay.com/game.php?g=17).

For some reason or other I decided to recreate the look and feel of Tower - mainly for the challenge of creating a native game into Flash/Actionscript.

The result is here:

http://www.100percentcode.com/ICK.html

See how high you can get!

If you like it the guys a 2D Boy are making a full games out their original - It also been entered into the IGF 2008 - good luck guys...

Almost there...

Sunday, 2 September 2007 | Labels: , , , , | 0 comments |

I wanted to get a version with source ready this weekend - unfortunately I didn't make that target. I did however fully incorporate the grid object cache (tested with 1000x1000 tiles), a new map definition method and a physics constraints system into the code base.

Demo

Tile Engine Update v0.1

Tuesday, 28 August 2007 | Labels: , , , , | 0 comments |

Big update:

  • Completely new collision resolution code, much more stable.
  • The physics system in much more flexible, it also includes mass in the calculations now.
  • Projectile system improved. Projectiles die out after a certain time (with various effects). The system allows a great variety of weapons to be implemented using one class.
  • Projectile explosions impart force on surrounding object (you can have fun with this and the boxes)
  • First attempt at an Enemy AI gun turret. The turret uses a ballistics solver to calculate the two angles it can hit the player with, and then fires. I'll write an entry on this, I'm going to extend this to take into account relative velocities.
  • The projector (.exe) version now uses the latest beta flash player.

Controls (focus window first):
  • A,W,S,D : Thrust Player
  • Left Click : Fire weapon in direction on mouse cursor
  • CTRL Left CLick : Shoot ray
  • SPACE : Add non-player 'boxes' to interact with
  • ENTER : Add random force to boxes
Available here as:

.SWF
.EXE

Tile Engine Update

Saturday, 25 August 2007 | Labels: , , , , | 0 comments |

Update:

  • Particle system added
  • Projectile system added
The controls have changes a little:
  • A,W,S,D : Thrust Player
  • Left Click : Fire weapon in directon on mouse cursor
  • CTRL Left CLick : Shoot ray
  • SPACE : Add non-player 'boxes' to interact with
  • ENTER : Add random force to boxes
You can download a play the demo with the previous links. I've still not updated the source code, again its still in a bit of the mess.

If you try it out please let me know how it performs (cpu).

Thx

AS3/N Tile Engine Update

Thursday, 23 August 2007 | Labels: , , , , | 2 comments |

Major update:

  • All AABB/Tile collision code done
  • All ray/Tile/AABB code done (see keyboard instructions below)
  • Scrolling! Level can be as big as you like (bound by the length of array). Because each tile in the map is only a reference to a single instance of that type the engine is very memory efficient.
The .SWF can be downloaded here.

The .EXE player version (incorporated the latest beta player) can be downloaded here.

The source can be found in a previous post.

Controls:
  • Cursor: Move Player
  • Space: Add/Reset boxes
  • Enter: Apply random energy to boxes
  • Left click: Shoot ray, intersects with tiles, affects boxes
  • CTRL Left click: Place move player to mouse

To do:
  • Some serious physics engine improvements
  • Projectiles
  • AI (pathfinding, flocking etc)
  • Particle engine

Tile Engine Redesign - N

Tuesday, 14 August 2007 | Labels: , , , | 3 comments |

Having played around with a few of my own ideas, I'm going to pursue a geometry based tile +physics engine initially based on the fabulous N tutorials found here. I'm currently working on porting the tutorials to AS3, and then adding the scrolling engine on top. A zip of the current build will be available here.

http://home.planet.nl/%7Eborst595/SeperationAxis.zip