# RollerSimmer

Member

6

105 Neutral

• Rank
Newbie
1. ## Collisions: should I use triangles, cubes or spheres?

[quote name='Stroppy Katamari' timestamp='1352803366' post='5000515'] Frankly, I don't understand why you'd need accurate clash checking for a theme park sim. What are the objects whose clashes you need to prevent? [/quote] Maybe "collision" is the wrong word. I meant overlap avoidance of objects. Although there may be mini games involving free bodies that need physics and collisions. All I need is a simple boolean function that tells me if there is something where I want to place an object. Location of contact and force are irrelevant.
2. ## Collisions: should I use triangles, cubes or spheres?

I'm going to try Bullet. I didn't really want a full physics simulator, just something for space occupancy to prevent overlapping items. I'll see if Bullet has something to that effect.
3. ## Collisions: should I use triangles, cubes or spheres?

I was thinking about that. Each occupancy in the tree could have a tag giving it's shape type. I think vertical cylinders may be easy to include as well. Any shape with simple bound checking would work.
4. ## Collisions: should I use triangles, cubes or spheres?

I am involved in the development of an open source game featuring theme park construction and operation. For this game I want to make a quadtree map for collisions to prevent two solid objects from going in the same space. ( I have considered octrees, but they don't seem useful in relatively flat space. Quadtrees would be sufficient.) That part is mostly figured out, except for the core collision testing for each object in the tree. Triangles are very precise, and would correspond to the object's graphics almost exactly. The problem is that the algorithm is a little "involved" - both for me and the processor. For spheres I easily do a single-line function based off of distance-squared. Boxes, as long as they are axis-aligned, would be a simple case of comparing bounds. I've looked over a few texts explaining triangle intersection, and they involve multiple steps and a lot of linear algebra. I generally understand the math and geometry behind it, but it seems too complex for my needs. I would like a certain degree of precision (perhaps within a third of a meter or so), but with small radii and more points in the "cloud", I could make collisions somewhat accurate with variable-radius spheres. Axis-aligned boxes would require more comparisons, but not as many as triangles would. Plus I would still need a lot of "grains" to make the map accurate. Should I go for simple computations and high memory usage, or multiple step matrix and vector processing with lower memory usage? I would like graphical collision to be close to physical collision, but not exact. The polygon counts for large roller coaster track go into the 100K+ range. The number of objects on a map will be huge. Think along the lines of RollerCoaster Tycoon or SimCity. This game aspires to something of that scale, if not bigger. I am using Irrlicht game library for this game. I know there are some collision checks in that engine, but they seem tied to graphics scenes. I may want to make the collision geometry for certain objects (like ride track) simpler than their graphical mesh geometry. I figured a custom tree would be needed for this task. With STL dynamic structures, that should be a piece of cake. But if someone can point me to a better way, I would be glad. I don't like reinventing the wheel if I don't need to. Any general advice on collisions in 3D would be appreciated.
5. ## Meshing a roller coaster from a spline

I'm working on an open source theme park game, and need to know this. I have the bezier point function worked out: [code] for(t=0;t<1;t+=tstep) P(t)=pow(1-t,3)*P1 + 3*pow(1-t,2)*t*P2 + 3*(1-t)*pow(t,2)*P3 + pow(t,3)*P4; [/code] (I will put this into a matrix form, but used a polynomial statement for clarity.) This gives me the center point for each progression along the spline, but does not give me orientation. I was thinking of stepping the roll, pitch and yaw angles evenly from start to finish, but I still need to rotate the track vertices somehow. Eulers seem to work for most types of track elements, if I go in the progression of roll -> pitch -> yaw, but quaternions would probably be better if I had any skill using them. Another problem is overall track orientation. Since Tracks will be rotated on the y axis (yaw), I need to add a yaw value to the base yaw. My plan was to center a cross section of track at a certain center of gravity, like the rider's heart (if there was a middle seat). I would then rotate the cross-section by the <pitch,yaw,roll> angle triple, in the order I mentioned. I would start with the first cross section and extrude to the second, and then 3rd, 4th, ... all the way up to the last for the track segment specified by the 4 Bezier control points. is this a good way, or is there a better, streamlined version out there? I know of the heading concept < right vector, up vector, forward vector > , but am unsure how to implement it in this algorithm. BTW, we're planning to use Irrlicht engine for this game, so I have to do it in terms of its API.
6. ## What's the best Linux library for 2d games?

First off, the project I'm trying to get off the ground is a turned-based state simulator in the mold of SimCity or Civ. I have Allegro installed, plus a whole how-to book just for that library (even though it's the Windows version), but I want to make sure there isn't something else out there that makes development easier. I'm using Ubuntu but have Debian on the drive as well. I'm a C++ programmer and do most of my own graphics with GIMP and/or Inkscape. I'm hoping to import png files for all the graphics. Compiled graphics files don't interest me at all. I want this game to be easily modded, with graphics in folders on the drive. Also, anyone familiar with window or button-based GUI libraries, what are some recommendations? Here is a mockup of the UI that I just finished today (The layout is heavily inspired by SimCity games): [URL=http://s1223.photobucket.com/albums/dd515/Parkitect/DreamState/?action=view&current=gameui.jpg][IMG]http://i1223.photobucket.com/albums/dd515/Parkitect/DreamState/th_gameui.jpg[/IMG][/URL] [url="http://i1223.photobucket.com/albums/dd515/Parkitect/DreamState/gameui.jpg"]http://i1223.photobu...tate/gameui.jpg[/url] As far as actual representation on the screen, I think I'm going to go for a system where the player can switch between satellite to map representation, kind of like Google Maps. Either way, the function of plopping tiles will be the same.