RCT Discussion / OpenRCT2 Ideas: Expanding On Coaster Building

  • Sephiroth%s's Photo
    As it stands, RCT is fantastic for building roller coasters because Chris Sawyer broke it down to simple basics:

    -Horizontal control (direction)
    -Vertical control (slope)
    -special elements

    This is an easy to learn and intuitive way to build three dimensional tracks, while allowing for creativity and customization. The real genius of this system is when the horizontal and vertical control components can be blended. Example of this being a piece of steep track turning 90°.

    Id love to see a few things happen in open, and basically it boils down to expansion of existing options while maintaining the simplistic framework.

    For example, in the vertical components, there are four available slopes: 0° (flat), 30°, 60°, and 90°. In the same vein, horizontal controls have four options: straight, small curve, medium curve, and large curve (which serves as the transition to diagonal pieces). The most complex options are when combinations of these vertical and horizontal pieces work together.

    Id love to see horizontal and vertical controls expanded in two ways:

    1. Expand the slope and direction options. For vertical it would be fun to see the list like what I have below, with the ends of each piece still changing the elevation of the track in increments of 5ft. For example, the 15° slope would maybe be two tiles long. Heres the list:
    -0° (exists)
    -15°
    -30° (exists)
    -45°
    -60° (exists)
    -75°
    -90° (exists)
    -105°
    And for horizontal I wouldnt think theres need for too much more, maybe something like this:
    -straight (exists)
    -small (exists)
    -between small and medium
    -medium (exists)
    -between medium and large
    -large (exists, this is how to go diagonal)
    -extra large

    2. Expand how the horizontal and vertical pieces work/blend together. Basically, expand the transition piece library. You want to go from 90° to 15°? Theres a piece for that, just like from the existing steep-to-flat/flat-to-steep pieces, and they would be built the same easy way. Except now you want to add some curvature to that? Not a problem, select your curve size just like how its currently allowed for 30° slopes. Again, built in the same way. Except now its for ALL slopes. You want a large curve at 75°? No problem.

    See what Im getting at? With the ability to combine any slope with any curve type, still using Chris Sawyers amazingly intuitive GUI just expanded a little, the sky is the limit.

    Now onto the special pieces.

    1. The first thing I would add is being able to add brakes, block breaks, boosters, and chain lift to a straight section of track at ANY slope. Yes, any slope. Brake runs at 15°? Yep. Boosters at 90°? Why not, Mr. Freeze does it. Again, this would open up so many possibilities.

    2. The next item would be on ride photo on any non-special piece, and maybe have it be able to snap to the start or end of a curved slope piece.

    3. And the one of my personal favorites for special pieces would be the ability to transition from sloped pieces to things like corkscrews, barrel rolls/inline rolls/heart-line rolls, and loops/half loops. Add in being able to build all of these inversions on the diagonal and wow, I would be in heaven.

    4. Maybe an expansion of the selection, which would mostly just be more sizes of corkscrews, rolls, and loops, but still getting the enhancements from point 3.

    And Ill stop there. In closing I think the above would still maintain what makes building in RCT so easy and fun. I have other ideas too but it would significantly ramp up the complexity which Im still not sure how I feel about.

    Honestly Id be down to help make this happen. If I had to guess the biggest challenge in implementing all of this, I would say all of the needed sprites would be a pain to make/render/etc. Also I have no experience in making sprites whatsoever. But I do know some code. I have pretty good understand of the basics of C++ (variables, data types, logic, loops, functions, classes, operator overrides, pointers), Java (same as C++ minus the last two things), Python (same list as Java), and VBA (same list as Java). No experience in working with github yet but would love to pick it up.

    Whats the communitys thoughts on this? Id love to see some discussion as to where Open could head in the future.
  • X7123M3-256%s's Photo

    As it stands, RCT is fantastic for building
    For example, in the vertical components, there are four available slopes: 0° (flat), 30°, 60°, and 90°. In the



    Those are the wrong angles. Gentle slopes are 22.2° and steep slopes are 58.5°. The other angles you suggest aren't possible either; you need to choose angles that will line up with the tile grid. Personally, I'd like to see a medium slope at 39.2°. I would be wary of adding too many slopes, especially if you then want to have every possible transition between them.

     

    2. Expand how the horizontal and vertical pieces work/blend together. Basically, expand the transition piece library. You want to go from 90° to 15°? Theres a piece for that, just like from the existing steep-to-flat/flat-to-steep pieces, and they would be built the same easy way. Except now you want to add some curvature to that? Not a problem, select your curve size just like how its currently allowed for 30° slopes. Again, built in the same way. Except now its for ALL slopes. You want a large curve at 75°? No problem.


    I'm not sure why we need a piece to go from vertical to gentle when you can go from vertical to steep, and then steep to gentle. This avoids the combinatorial explosion that results when you try to have every possible piece. I would recommend working out the number of pieces that you're actually proposing to add. If you want 8 different slopes with a transition between any one of them, and then 7 different choices for the curvature, and you want banked and unbanked versions of each, you're looking at 896 track pieces. If you want to be able to select the start and end bank angle separately, that doubles to 1792 track pieces, and if you want a diagonal version of all of those transitions, it doubles again (but realistically, only the larger curve sizes would have this, so it would be more like 2560).
     

    The first thing I would add is being able to add brakes, block breaks, boosters, and chain lift to a straight section of track at ANY slope.


     Chain lifts can already be added to any track piece, because it's a flag that can be set and not a separate track piece like brakes and boosters are. If you really want to allow boosters and brakes on any track piece then you would want to do the same - and that's something that could potentially be incorporated in the new save format.
     
    But I'm not sure that it's really necessary. The number of track pieces that would reasonably have a brake or a booster is limited enough that I don't think you really need them supported everywhere, except possibly for hacking purposes. My hope is that OpenRCT2 will eventually reduce the need for that sort of thing by providing less hacky ways to accomplish things.
     

     

    And the one of my personal favorites for special pieces would be the ability to transition from sloped pieces to things like corkscrews, barrel rolls/inline rolls/heart-line rolls, and loops/half loops
    Maybe an expansion of the selection, which would mostly just be more sizes of corkscrews, rolls, and loops


    I agree on these. Also, I'd add that we could really do with zero G rolls and immelmann/dive loop pieces. But not too many different sizes, the number of track pieces has to stay manageable.
     

    If I had to guess the biggest challenge in implementing all of this, I would say all of the needed sprites would be a pain to make/render/etc


    If you're looking to extend an existing track style, sprites will definitely be the hard part. I plan to start out experimenting with custom elements using a custom track style, where I already have the means to render sprites easily. Then the programming becomes the dominant task - there's a lot more programming involved in adding a new track element than there is in adding a new track style.

  • Recurious%s's Photo

    X7123M3 hits the nail on the head with there being too many pieces with what you are suggesting. If you have all these different kind of slopes and banks and all that stuff it just will become very tedious to build a coaster (I think). A bigger problem is making all the sprites, you would need such a ridiculous amount of sprites it basically becomes impossible. I think the best thing to be would focus on a couple elements which we really need, and implement those. Another idea could be to implement the elements from RCT3 for example, as building in that game felt very similar to building in RCT2.

  • mintliqueur%s's Photo

    Ability to build special pieces such as loops, corkscrews etc diagonally has been sorely missed since RCT was first released in 1999. Might be tricky to implement, though.

  • Cocoa%s's Photo

    wouldn't mind either larger corks, or corks that end in a downward/upward slope like loops. same with twists that end in banks. those would be easier to implement and so useful

     

    dare I say a twist that ends in a diagonal downhill/ uphill, for dive loops

Tags

  • No Tags

Members Reading