Not signed in (Sign In)

Discussion Tag Cloud

Categories

Vanilla 1.1.9 is a product of Lussumo. More Information: Documentation, Community Support.

    •  
      CommentAuthorbestdani
    • CommentTimeSep 1st 2014 edited
     
    Latest update:
    Beta-Release: This post
    Preview-Release: This post
    Sound test for the Break Dance 1: This Post
    --------------------------------

    Hello alltogether,
    recently I came up with the idea to calculate physics in real time with the NL2-Scripting engine. After the first successfull test, I began to create this Break Dance construction kit.

    The construction kit principle allows you to assemble the ride in the editor just by naming objects for your park area. As you may know, there are different variants of the Huss Break Dance or different styles of gondola gyros or different gondolas available. So you can for instance choose if you want a break dance 1,2,3 or 4 base and add different gondolas with custom colors or if you want to you can make your own texture or even create your own gondola model, this is also possible with the crosses or the base itself.

    I finished the first gyros and gondola models and a Breakdance 4 / Rodeo base, the work is still in progress, textures and bump maps are still missing, I just used simple blender materials.

    I uploaded a video that shows the actual progress and how to assemble the ride in the editor: Watch it on YouTube

    And here are some pictures:









    •  
      CommentAuthorTDeHart
    • CommentTimeSep 1st 2014
     
    This is INCREDIBLE! I haven't even built my first coaster yet, and you guys are doing THIS kind of stuff?
    •  
      CommentAuthorride_op
    • CommentTimeSep 1st 2014
     
    @bestdani
    Great idea! I love seeing your system is set up for all variants of a Breakdancer. That makes ride nerds like me very happy!

    @TDeHart
    As you can see NoLimits 2 is so MUCH more than insanely awesome coaster simulation!

    -Ride_Op
  1.  
    It just need some material edits and it'll look great! Currently looks very flat. I'd play with the nl2mat editor. Great work though.
    •  
      CommentAuthorKingRCT3
    • CommentTimeSep 3rd 2014
     
    That's incredible! And I love the versatility of it. =)

    Posted By: bestdanirecently I came up with the idea to calculate physics in real time with the NL2-Scripting engine.

    Wait, so you say the rotations of the gondola is generated in real-time? Does that means that would make swinging CTR or other fantasies possible?
    • CommentAuthorole
    • CommentTimeSep 4th 2014 edited
     
    ^Yes, he meant that the rotations are generated in real-time.

    MGrides (freefall) is working on a Break Dance ride as well, and I have tried developing a very similar script that has real-time physics, too. It is definitely possible to script that and works pretty well when implemented correctly.

    @Bestdani: Great work! It is awesome to see so many users making use of the scripting. When adding the scripting engine, I hoped for that maybe 2 or 3 users would ever use it, now it seems that I understimated the community. Unfortunately MGrides and I have developed the same thing at the same time, so you will have some competition soon ;-) Our version does not have any user customizable car configurations, though.
    •  
      CommentAuthorBBSpeed26
    • CommentTimeSep 4th 2014
     

    This rules. Rules rules rules rules.

    •  
      CommentAuthorbestdani
    • CommentTimeSep 4th 2014
     
    @Ole
    I'm very interested in yours and MGRides' Break Dance project. :D

    I found time to create advanced materials with textures and bump maps for to the gondola models and I also added lights to it.

    Watch this short video clip for a night preview.

    And here are some new screenshots.






    Here is an example of a fully textured gondola:
    •  
      CommentAuthoraw555000
    • CommentTimeSep 4th 2014
     
    That is the most awesome thing I've ever seen on this website! So excited!
    •  
      CommentAuthorride_op
    • CommentTimeSep 4th 2014
     
    Beautiful!

    -Ride_Op
    •  
      CommentAuthorTDeHart
    • CommentTimeSep 5th 2014
     
    This is incredibly realistic. It's beautiful. A work of moving art.
    • CommentAuthorole
    • CommentTimeSep 6th 2014 edited
     
    Looking great. I am afraid that you may run into performance problems on slower computers. The models look very very detailed. Also the transparent lights at the rear of the car can slow things down quite badly. Transparent polygons are much slower than normal polygons. If you should run into performance issues, optimizing the transparent lights would be the first place to start.
    •  
      CommentAuthorbestdani
    • CommentTimeSep 11th 2014
     
    Thanks for the hint. I found this out myself as I was sitting on my laptop instead of my Dekstop-PC and currently I have deactivated the backlight alpha blending, however, thanks to reflections it still looks quite good.

    The scripts now make use of the new scripting features: it's possible now to control the ride with the keyboard. :)

    I have also created materials and uv-maps for the asr-base now.

    Here's a new video showing a manually controlled ride with the small materials / models improvements.

    Greetings,
    Daniel
    •  
      CommentAuthorKingRCT3
    • CommentTimeSep 11th 2014
     
    I'm speechless, that's a masterpiece.

    I love that turnstyle, too! Is that any other game in the world where you are actually able to pass a turnstyle?! =D
    •  
      CommentAuthoraw555000
    • CommentTimeSep 11th 2014
     
    This is just incredible!
  2.  
    Wait, how did you walk into and move the turnstile?
    • CommentAuthorole
    • CommentTimeSep 11th 2014 edited
     
    Very cool. Using the keys to control the ride is an excellent idea.

    I hate to hi-jack this thread, but I thought you may want to see some screenshot from your competitors (MGrides, Phyter, and me). We are more going into recreating a fun fair ride. We recently made some good progress in recreating a flecked metal material within the NL2MAT editor to be used for our breaker cars. See here...



    Our breaker car does not have your fancy lights yet. Marco added some ALTPaC animated textures to mimic some light animation, which kinda of works for now. At some point we might add lights similar to yours, but we are working on other things right now, so we won't publish our Breaker too soon.
    • CommentAuthorMGrides
    • CommentTimeSep 11th 2014
     
    Yeah! A small competition is always a good idea ;)

    Maybe another tip, i would recommend to think about the round parts of you breaker, bestdani. Even through the pictures you can see a lot of faces which could be slightly reduced. It will help a lot beside the light optimizing to run it smooth =)
    •  
      CommentAuthorbestdani
    • CommentTimeSep 11th 2014 edited
     
    I really love the flecked metal material, I also thought about trying out something similar, but I wanted to try out other things firstly.
    I also used the ALTPAC editor for the backlights, the images are used as uv-mapped texture for the light geometry so it's possible to create custom patterns very quickly.

    I know my models might be a litte bit high poly and maybe they could be optimized a little bit, especially the gondolas (I'm not much experienced in 3d modelling and learning by doing, I started with the gondolas :P) but even on my laptop with onboard intel graphics the performance is still quite good.

    The turnstile is an object I made earlier for a park I'm working on from time to time. You can download the turnstile here (click on 'turnstile.zip' at the bottom) - it only let you pass in one direction - a video showing that. By default, the mount has to be on the left hand side to pass, but you can inverse this direction by adding ":1" to the object name in the editor, for example give it the name "myturnstile:1".
    • CommentAuthorole
    • CommentTimeSep 11th 2014 edited
     

    I really love the flecked metal material

    It is not that complicated actually. Basically it is a bumpmap with some noise and the Faked Reflections on top. Playing with some custom basic material colors for ambient, diffuse and specular may bring up some nice effects that look similar as if the paint shows different colors depending on the viewing angle. It is a fake effect, but it looks great.

    I also used the ALTPAC editor for the backlights, the images are used as uv-mapped texture for the light geometry so it's possible to create custom patterns very quickly.

    Wow, that is very clever! Great idea to make use of the ALTPAC editor.

    •  
      CommentAuthorPhyter
    • CommentTimeSep 11th 2014
     
    The ALTPAC trick is way too damn clever, bestdani! There's nothing I love more than someone in the community coming up with ways to use these tool that we didn't think of. :D
    •  
      CommentAuthorbestdani
    • CommentTimeSep 16th 2014 edited
     
    So, here is an update again:
    This time there is nothing to show on screenshots, though I began to create a small 3d-control-panel for visual feedback when controlling manually, but the model is nothing special yet. But I wrote many lines of code for the ride logic. A new video shows all the following stuff in action:

    The main actor behind the ride logic is a dummy coaster, whose control panel and station can be used to dispatch (start) the ride and select between the manual and automatic mode or change the desired automatic program.
    Also the turnstiles have a function now, they can be used as gates, so it's not possible to start a ride when you passed the turnstile until you are sitting in a car or left the dangerous area again.
    I tried to abuse scenery objects or dummy coaster parts to program own automatic programs, but because I did not found a comfortable way, I gave my best to create a class for the automatic programs, with which own programs can be written in a very simple way without knowing something about scripting, just by following a simple syntax and last but not least, it is possible to record an automatic program when controlling in manual mode and get the code printed out to the nl2 console, so it can simply be copied and pasted into the file. ;-)

    Here is how the automatic program file could look like, where the second program is the code of the program I recorded in the video:

    public class automatic extends autoPrograms{public automatic(){ //DO NOT DELETE THIS LINE

    newProgram();
    program.at(2).setPlate(90).setCross(90).setBrake(off);
    program.at(12).setPlate(0).setCross(0).setBrake(on);
    program.at(14).setBrake(off);
    program.at(15).setBrake(on);
    program.at(17).setBrake(off);
    program.at(18).setBrake(on);
    program.endAt(19);
    endProgram();

    newProgram();
    program.at(0.0f).setPlate(0.0f).setCross(0.0f).setBrake(true);
    program.at(2.083333f).setPlate(56.66668f).setCross(0.0f).setBrake(true);
    program.at(2.541667f).setPlate(56.66668f).setCross(0.0f).setBrake(false);
    program.at(7.49999f).setPlate(56.66668f).setCross(100.0f).setBrake(false);
    program.at(17.70835f).setPlate(0.0f).setCross(100.0f).setBrake(false);
    program.at(20.58331f).setPlate(0.0f).setCross(100.0f).setBrake(true);
    program.at(22.74994f).setPlate(0.0f).setCross(0.0f).setBrake(true);
    program.at(24.54158f).setPlate(0.0f).setCross(0.0f).setBrake(false);
    program.at(26.79155f).setPlate(0.0f).setCross(0.0f).setBrake(true);
    program.at(29.08318f).setPlate(0.0f).setCross(0.0f).setBrake(false);
    program.at(30.33316f).setPlate(0.0f).setCross(0.0f).setBrake(true);
    program.endAt(33.29151f);
    endProgram();
    }} //DO NOT DELETE THIS LINE


    Is there maybe any idea what could be added to the ride logic?

    Greetings,
    Daniel
    •  
      CommentAuthorPhyter
    • CommentTimeSep 16th 2014 edited
     
    Too cool! Creating new ride programs looks very intuitive.

    Now I have to show you what can be done with your 3D ALTPAC technique. Have a look.






    Video.

    Your discovery of this technique was truly genius and will lead to a lot of amazing lighting in the near future. The only thing that comes close is our Tango tech demo. But Tango's lights are complex and performance hogging with all the sequencing done in code. With your technique the sequencing is done exclusively through textures, so there is no performance loss, only a bit of extra video memory needed. The number of draw calls is reduced substantially and performance is offloaded almost entirely onto the geometry. This means LODs work extremely well to balance performance and we can boost the "A" level an absurd level of detail without sacrificing too much performance close up. The bulbs in this crown are 12 sided at the "A" level and a single triangle at the "D" level. There are approximately 1500 bulbs per crown and 40 crowns in the scene for 60,000+ bulbs. All of the crowns are all running the same sequence but they don't have to be. Updating the sequence is easy in the ALTPAC editor.

    Can't thank you enough for discovering this technique. :)
    •  
      CommentAuthorbestdani
    • CommentTimeSep 19th 2014
     
    Wow, this looks incredibly good! I hope you found a faster way to uv map all these lights instead of placing the uv-islands for each bulb manually onto the right texture position xD
    Is it possible to switch these on and off? You use bump maps as far as I can see, right? I had to use the entity color feature and set it to black to turn them off in the scripts, but because of this "hack" it was not possible in my case to use bump maps.
    •  
      CommentAuthorPhyter
    • CommentTimeSep 20th 2014
     
    There is a method to the madness though it would take some time to explain. Basically everything is handled procedurally and with instanced objects within Max in order to generate the LODs properly.

    The texture mapping itself is very easy to do in Max since the UVW modifiers work over many objects simultaneously. It's a simple matter of placing the instanced bulbs in a grid matching the ALTPAC map then applying the UVW Map modifier to all of the bulbs at the same time. There's a protip for anyone who didn't know that was possible in Max.

    As for on/off states. The only way that I can think of to turn the bulbs off would be to have two copies of the bulb objects in each LOD file, one mapped to the full ALTPAC animation and one mapped to just a single ALTPAC frame with all of the lights turned off. Then use setVisible() in the script to switch between the two objects. Since only one copy is visible at a time it shouldn't impinge on performance.
    •  
      CommentAuthorbestdani
    • CommentTimeSep 22nd 2014
     
    I found time to create the plate and a simple structure model for the break dance type 3, I also made some "nl2-dancer" textures. ;-)

    Now it was also time to test the improved walk mode detection of the 2.5.0.8 beta: watch




    •  
      CommentAuthorTDeHart
    • CommentTimeSep 22nd 2014
     
    I just squeeeeed and peed my pants a little, it's so pretty!
  3.  
    Wow, that's some stunning work.
    •  
      CommentAuthorbestdani
    • CommentTimeNov 18th 2014
     
    Work is still in progress. The base model for a break dance type 1 is almost finished, Textures will follow soon.

    • CommentAuthorTOGO Fan
    • CommentTimeApr 1st 2015
     
    Do you have to enter the coordinates numbers in the scene object instance and use the names you showed to get the ride to work? I tried placing the parts like the ride would go but the ride did not start up. The parts were not automatically attached in the simulator. i really want to use this ride for my takoma view land park.
    • CommentAuthorTOGO Fan
    • CommentTimeApr 1st 2015
     
    I wanted to use this ride since a park by bestdanial came out of steam workshop a while ago.
    •  
      CommentAuthorbestdani
    • CommentTimeApr 1st 2015
     
    I think I will have time during the easter weekend to help you with that (I've added you to my steam firend list but I could not find much time for steam and stuff this week :P)

    Anyway, the version that is included in my "Dreamcoast" park is not fully finished yet (there's also a bug with the gondola swinging) - I wish I could find more time to get a release worthy version for everyone soon - the main problem are the sounds. I've experimented a bit with that but the result sounded horrible in my ears (you may have noticed my butterfly release that was also created to experiment with sound usage on rides :P). I've decided to pause the work on this project in the hope for some scripting API enhancement that allow better sound usage and to wait for a chance to record real break dance sounds on my own during this funfair season.

    Maybe I will carry on and release a "quiet" version first if I can find time for this before trying to improve the sound problem again.
    • CommentAuthorTOGO Fan
    • CommentTimeApr 1st 2015
     
    You mean the loud music that has a live DJ that the they play when the ride is going? Or do you mean the actual ride operating sound?
    •  
      CommentAuthorbestdani
    • CommentTimeApr 1st 2015
     
    The typical gear sound of the huss break dance. Music would be no problem.
    • CommentAuthorTOGO Fan
    • CommentTimeApr 1st 2015
     
    Is it okay if I use this version of the ride for now in my park until you update it in the future?
    •  
      CommentAuthorbestdani
    • CommentTimeApr 4th 2015
     
    I found time to create a preview release package that includes some basic models and a short user manual:

    Steam Workshop Link

    Alternative: Download from Dropbox
    • CommentAuthorole
    • CommentTimeApr 4th 2015
     
    Next update of NL2 will have a new scripting method for setting the pitch of a static sound. This will help to simulate motor sounds for flat rides.
    • CommentAuthorTOGO Fan
    • CommentTimeApr 4th 2015
     
    When will that update come out?
  4.  
    I am SO EXCITED FOR THIS!!!
    • CommentAuthorole
    • CommentTimeApr 4th 2015 edited
     
    It is not too far away, probably 2 weeks or so, but do not nail me down on that estimation. As usual, it will come out when it is done. Do not worry if it should take longer than expected to bring out the update, it won't have any new features that are usefull for jet coasters anyway.
    •  
      CommentAuthorKevan
    • CommentTimeApr 4th 2015
     
    ^Ah.. you never know with togo fan, he's a pretty creative guy
    • CommentAuthorTOGO Fan
    • CommentTimeApr 4th 2015
     
    Yes, just look at my Takoma View Land with the rides where you stand on the spinning mouse cars to ride them on get around the park.
    •  
      CommentAuthorbestdani
    • CommentTimeApr 28th 2015
     
    Posted By: oleNext update of NL2 will have a new scripting method for setting the pitch of a static sound.


    Thank you very much!
    First Sound Test ;-)
    •  
      CommentAuthorJAMMYD778
    • CommentTimeApr 28th 2015
     
    Woah, that is looking great! The physics of that thing are so lifelike. Can't wait to see more, and how the sound and such improves. :-D
  5.  
    I could never get the setPitch() to work.
    • CommentAuthorole
    • CommentTimeApr 28th 2015
     
    If you have problems getting setPitch() to work, please verify that you are using the correct parameters for creating the sounds. I have seen a lot of examples on the website where people used the StaticSound.ENV_ constants for the second parameter of StaticSound.loadFromFile(). The second parameter is a bitwise flags field and only StaticSound.FLAG_ constants are allowed here. Using FLAG_SHARED might interfere with setPitch(). Sharing of sounds is used for simulating multiple speakers. Read the API documentation of StaticSound for more details.
  6.  
    ^Thanks! that helped a lot!
    • CommentAuthorMGrides
    • CommentTimeApr 28th 2015
     
    @bestdani: Great work! Only the material of the "plate" is too much reflecting =)
    •  
      CommentAuthorbestdani
    • CommentTimeMay 28th 2015 edited
     
    ^Textures for the Break Dance 1 model are not final, but I fixed that already. ;-)

    I found time to add more sounds:
    Watch it on YouTube
    •  
      CommentAuthorKevan
    • CommentTimeMay 29th 2015
     
    That sounds realy realistic. Can't wait for a release of this!