Potentially a theme-park tycoon game. I have no media to share though since I just started writing up my plan for it today. However, it’s the most excited I’ve been for a game of my own in a very long time. I was a huge fan of Roller Coaster Tycoon (and anxiously await RTCW), so I’m excited to try to give my own twist to the genre and see how it can be brought into ROBLOX.

I have a working spline implementation as well, so I am able to create a coaster builder with awesome curves just like in Roller Coaster Tycoon World. The hard part will be making a coaster builder system that is easy to use and restricted enough to result in realistic-looking coasters.

And then there’s the guest AI…I’m excited for that part the most.

@Crazyman32 have you ever played with the NoLimits roller coaster simulator? I’ve been tinkering with making a Bézier curve tool that works similarly to it’s track making system. I may do it for an upcoming hack week. A multiplayer RCT where different players can have different “lands” in the park sounds like it could be really cool.

When I wrote my bezier spline tool I just ripped the equation straight from wikipedia and changed the powers to repeated multiplication. The nice thing about Roblox API is that the same equation works for numbers, Vector2, and Vector3 values. I thought long and hard about how I would do away with the number for banking that NL has because it gets gimbal lock and it’s another number to keep track of, and use CFrame as the orientation. The best system I have found is to use AxisAngle’s AxisAngleLook function repeatedly on an arbitrary number of check points from 0 to 1 and find the difference in CFrame of the final check point and the control point, then use AxisAngleInterpolate to lerp the difference in rotation along the curve. It’s not pretty if you study roller coaster design (the physicality or the mathematical), but it’s a quick system to implement that looks reasonable and people who do not study roller coasters will not know the difference.

Simulating 1k guests or just a few rides (animations are all CFramed) on crappy computers requires a lot of tuning, the logic controlling all the guests server-sided is actually fairly lightweight and could be made even less heavy. It’ll probably push the limits, but I’ve got some ideas in mind to make it work out anyway on clients B) .

Coasters and other track-based rides also support custom splines (works differently than in RCTW, but it’s basically freeform too), although it broke as I’ve been adding prebuilt pieces for the “not so advanced” player (PT4 style).
They all support multiple carts, block brakes, multiple stations and I’ll add multi-length trains too. Somewhat happy with the results so far :).

@Spacek531 ah cool, I figured someone must be working on a powerful Bezier tool, it would be pretty useful. I’m not sure what AxisAngleLook does (I can’t find it anywhere) so I’m not sure how what you’re describing will work, but avoiding gimbal lock will definitely help making twisted mag-launch shuttles like Wicked Twister and Possessed. I remember people were having a real hard time with those vertical heart-line rolls in NL.

The AxisAngleLook is a function created by AxisAngle (the person). The normal :Lerp() will suffice for AxisAngleLerp. The AxisAngleLook acts a lot like CFrame.new(a,b) where a and b are Vector3, but AxisAngleLook takes a CFrame instead of Vector3 for a. In general terms, the function returns a CFrame that can be represented as a Y-axis rotation and an X-axis rotation (in that order) off of the CFrame a that faces the point b.