Metanet tutorials
The following are restorations of Metanet's classic tutorials on N's physical collision system (as well as other related topics). The main purposes of this restoration were to re-add now missing material (see below), fix several aspects (notably, the Flash elements), improve the presentation (recovering the original formatting, transparent figure backgrounds...), update deprecated HTML and references, and of course, for preservation and archival. The main additions are:- Fixed all Flash simulations natively, no extension required.
- Recovered third, incomplete tutorial about related topics.
- Added FITC05 talk slides and script (great stuff!)
- Recovered original tutorial presentation page.
- Added supplementary Flash animations not previously present in the tutorials.
- Updated all bibliography links, and locally mirrored many of them.
Tutorial A – Collision Detection and Response Examines the basics of collision detection in games, including some mathematical (geometric notions, set projections, Voronoi regions...) and physical (forces, bounce, friction...) tools. Delves into the Separating Axis Theorem and applies it to multiple shapes. The final goal is to design a fast method to, given two convex shapes, figure out whether they are colliding and, if so, how to depenetrate them. Accompanied by images, 10 Flash simulations, and a full collision demo with original N source code. |
|
Tutorial B – Broad-Phase Collision Deals with the first phase of the collision algorithm, namely, the selection of the tiles/objects for which actual collision tests must be performed (by the method explained in the first tutorial). This problem is solved by dividing the map into a (loose) grid of square cells, thus only requiring to test against objects contained in neighbouring cells. Several improvements to this approach, such as storing explicit edge information, are included. Delves into the notion of raycasting. Accompanied by images, Flash simulations and a very complete N collision demo. |
|
Tutorial C – Other aspects This unfortunately unfinished third tutorial was supposed to explain several additional systems in N, such as: The game's internal logic, enemy AI and movement, drawing and rendering concerns, in-depth details about the ragdolling physics, replay format, pseudo-randomness in the game... |
|
Flash slides – Beyond hitTest(): Proper collision detection in ActionScript Beautiful Flash slides from raigan's talk at FITC '05, almost 100 slides going in-depth into the background and techniques used in N to achieve a robust and fast physics engine in Flash. It focuses on collision detection and response, both the narrow phase and the broad phase (i.e., it covers the contents of Tutorials A and B, but with new explanations and figures). Script and additional figures are included. |