Edit the Ringworld!

I wanted to keep the scenario light, so just a few major scenes from the first book is included in my release - but this is an easy foundation to expand upon.

As i know there is some interest out there, i have decided to provide all my source material here, together with a walkthrough of how it fits together. You are invited to modify or add to it.

Make the Ringworld your own, if you like - make it better, or different, add whatever you think is important... It is only up to you and the supplied Creative Commons licence. Have fun...


1. Introduction

This cookbook is intended as a quick reference to the various elements of the Ringworld scenario and how they fit together - in case anyone wants to edit any of the existing features. It is assumed you have a working knowledge of Celestia´s Solar System Catalog (SSC) format. If not, Ulrich Dickmann and Bob Hegwood´s SSC File Scripting Guide is an exellent resource.

The easiest thing to do is simply to substitute the supplied textures with your own. To do this, read section 3 - Examination of the SSC file - below to see what a particular model does, then open the corresponding CMOD in a text editor to find which texture(s) it uses.

Changing the actual meshes will require the originals, as a CMOD is impossible to import to a modeller. You can download these below.

However, the Ringworld as it is here pretty much stands on it own. I suppose most people will be more interested in just adding more locations or surface features to it, and this will only require edits to the SSC file itself - assuming you have the models ready, of course...



2. The model resources
  • Download ringworld_sourcefiles.zip [16.5 mb]
    This package contains all the model files used to create the Ringworld scenario. Both JAS and 3DS formats are included.

  • Setup your work environment
    Duplicate the medres directory from the Hi-Res Ringworld version, and unzip the sourcefiles download into it. This is only necessary if you want to retain all UV mapping on the various models when opening them in a modeller.


3. Examination of the SSC file

Make a copy of th_ringworld.ssc from the Hi-Res Ringworld version
This document describes the layout of Ringworld. You will need it as a reference for understanding how the many models work together. It is divided into the following sections:
  • The Star
    This is an invisible "placeholder" planet with a radius slightly less than the central star, at rest in the middle of it. It´s purpose is to serve as an anchor for all the following object definitions: the reason for this has to do with how Celestia draws eclipse shadows, and is explained in the Shadow Squares section below.

  • Chromosphere
    A concept developed by Martin Charest (Cham) at shatters: it is a series of six objects that makes the central star look alive close up - they make the surface move in a seemingly random pattern.

  • Star Flares
    A number of cloudmaps attached to invisible spheres orbiting just below the star surface - designed to produce flares jetting up.

  • Surface Strips
    The Ringworld Floor consists of twenty segments, each covering 18 degrees. These are constructed from three separate models:

    1. th_ring - a low-res segment duplicated 18 times (2 x 9)
    2. th_ring_hires - a single high-res segment, holds the Great Oval Ocean and all detail
    3. th_ring_opposite - a low-res segment 180 degrees from the HiRes segment, holds the Star Ocean

    All three models include the Attitude Jets, but in the actual CMODS the inside of the jets is a separate model with the Emissive property set to make them glow in the dark. The models also has a transparent cloudmap fitted, with the normals pointing outward. That means the basic cloudlayer does not move relative to the ring. There are two reasons for this:

    1. It makes it possible to fix a higher resolution cloudmap directly above the Great Oval Ocean.
    2. The ring is cut to an accuracy of 360 degrees - which is not fine enough to avoid a moving cloudmap jumping conspiciously up and down above the Rim Walls.

    All three models are texture-mapped with 5 different surface and cloud textures that tiles seamlessly and is randomly distributed over each strip to make for a varied landscape. The exeption is the absolute center of the HiRes model, where the Ocean is - this is fitted with textures of a much higher resolution, together with more detailed rim walls and a moderately elevated, modelled landscape around the Fist-Of-God mountain. The textures are mirrored on the underside, using a semitransparent tile and differently colored, lower-res versions to make the underside look like inverted scritch.

  • Shadow Squares in orbit
    A model (CMOD / CMS / 3DS) in Celestia won´t cast shadows. And one planet will not cast shadows on another. The only objects that cast eclipse shadows are those that is rendered via Celestia´s internal default sphere objects, and then only if these are satellites of each other. Hence, Shadow Squares will not work!

    To get around this problem, the actual Ring must be interpreted by Celestia as a moon, and a Shadow Square as a second moon of the same planet.

    This is why there is an invisible planet inside the central star: the ring and the Shadow Squares are "sister satellites" orbiting it. But that is not enough, since a CMOD file cannot cast shadows. For this reason, each Shadow Square is defined in the SSC as 6 extremely oblate spheres with their broadsides overlapping each other and oriented towards the ring floor. Each sphere series cast eclipse shadows on the ring that combined looks like a single rectangle, and the Squares are made up of 20 such series.

  • Shadowsquare Mask
    20 simple black rectangles that encloses the series of Shadowsquare spheres, making them look like single objects.

  • Clouds Below
    A model with the same dimensions as th_ring, holding a cloudmap with the normals facing down. This makes clouds appear from below the cloudlayer embedded in th_ring. It is set to emissive to simulate brightness in the daytime.

    However, eclipse shadows will not darken an emissive model, so at regular intervals the cloudmap is substituted with a black, opaque texture. The model is repeated 20 times in the SSC, each covering 18 degrees of ring - set to orbit in sync with the Shadow Squares so as to always keep a black texture directly below a Square. This means wind speed necessarily follows the day/night cycle.

    We do not have the problem with clouds popping up over the Rim Walls with these, since their normals are inverted: they are invisible from above.

  • Atmosphere
    Celestia cannot draw convex atmospheres - any atmosphere will always curve toward the floor of its parent. So a normal atmosphere is not possible for the inside of a ring. To get around this, the Ringworld´s atmosphere is defined as belonging to a string of small, extremely oblate moons hidden inside the ring floor: only their atmospheres sticks out, overlapping each other to simulate an even, narrow band of gas clinging to the surface.

    I decided it was unecessary to draw atmosphere along the entire ring, since all the locations in the book is concentrated around the Great Oval Ocean - so only that area is populated with "atmosphere holders". This saves Celestia from having to calculate several thousand orbits.

  • Clouds Above
    A model with the same dimensions as th_ring, also repeated 20 times. This one faces up, and holds a moving cloudmap that blends with the fixed one of th_ring. It is in place to bring life to the fixed clouds, and the problem of "popping" is avoided by a texture that consists of small bands of cloud that never touches the Rim (the map is 100% transparent towards the edges).

  • Attitude Jets
    The inside of the attitude jets, extracted from th_ring and given an Emissive declaration.

  • Locations on the Surface
    All the asteroid class LongLat declarations in the SSC: they denote various locations relative to The Great Oval Ocean. Of these, two are of special interest:

    1. Realm of Zrillar, used as the barycentre of the Flycycle orbits along the Ringworld floor.
    2. Liar's Bay, used as the barycentre for the orbit of Halroprillalar´s House up along the wall of Fist-Of-God Mountain.

    By changing the properties of one of these you will also change the orbits of all the aircraft!

  • Space / Aircraft and Characters
    There are four flycycles orbiting above the Ringworld floor; Louis Wu, Teela Brown, Speaker-To-Animals and Nessus. Each of these consists of three models connected via identical SSC declarations - the cycle, the Emissive lights on the cycle, and the character.

    Halroprillalar´s House consists of two models - the House and it´s Emissive light effects, configured in the same fashion.

    Finally, the Lying Bastard, five different models: the ship, its wings, the characters, the cargo (all the flycycles) and the Emissive light effects.

    In the models resources package there is no distinction between the model parts if you open the 3DS file, exept that they are listed in order (all Emissive meshes are listed in a row, all Cargo meshes in a row, etc). In the JAS version, the various model parts are separated into distinct folders that each can be exported as a complete model. The characters are supplied as entirely separate model files, to keep it tidy.


4. Obvious questions (not a FAQ)
  • Why isn´t the CityBuilder Auxiliary Spaceport on the map?
    It is commented out in the SSC file since there is nothing to see there. Just remove the # tags to enable it, then go make yourself a spaceport to put there...

  • I want to put objects on the actual surface, but Celestia clips my surroundings
    This is because your environment is too huge for Celestia´s normal FOV. There is only one way to get around it: cut a decent part of the surface where you want to place the object out of the ring model in question, and make the part a separate model. Add it to the main model again via a LongLat declaration in the SSC, and then place your object on the cut-off part. It requires some very exact positioning, but it will work - i have tested it.

  • The Rim Walls are unrealistically high!
    Yes. If they weren´t, Celestia would clip the cloudmaps when the camera is inside the atmosphere. There is no fix for this.

  • I have made a better Ringworld. Can i publish it?
    Yes. As long as you observe the licence.

  • I want to use some resources from the Ringworld for a different project entirely. Is that OK?
    Yes. As long as you observe the licence.

  • What on Earth is a "Ringworld", anyway?
    According to Tuefish on Shatters, it is a Dyson fillet.



Celestial Matters