Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: array_merge(): Argument #1 is not an array in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/topics.php on line 696

Warning: array_values() expects parameter 1 to be array, null given in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: implode(): Invalid arguments passed in /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php on line 454

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php:454) in /usr/home/sirgul/PerfectParallel.com/admin/sources/classes/output/formats/html/htmlOutput.php on line 110

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php:454) in /usr/home/sirgul/PerfectParallel.com/admin/sources/classes/output/formats/html/htmlOutput.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php:454) in /usr/home/sirgul/PerfectParallel.com/admin/sources/classes/output/formats/html/htmlOutput.php on line 136

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php:454) in /usr/home/sirgul/PerfectParallel.com/admin/sources/classes/output/formats/html/htmlOutput.php on line 137

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/sirgul/PerfectParallel.com/admin/applications_addon/ips/ccs/sources/databases/fields.php:454) in /usr/home/sirgul/PerfectParallel.com/admin/sources/classes/output/formats/html/htmlOutput.php on line 141
Reticulating Splines - Course Forge - News - Articles - Perfect Parallel

Jump to content


- - - - -

Reticulating Splines


(Let's see how many of you remember that line from Sim City 2000)

Ok so I wanted my first dev blog post, as lead programmer, to be about one of my favorite things: splines!
(Let's see how many of you remember that line from Sim City 2000)

Ok so I wanted my first dev blog post, as lead programmer, to be about one of my favorite things: splines!

As many of you who have developed virtual courses know, spline tools are essential to the design process. They are often used to define basic shapes for bunkers, fairways, greens, etc. - which further define vertices and polygons that eventually make up a hole.

Well for our course designer tool, we decided to leverage the power of splines as much as possible so that you can spend more time drawing out and designing your course, and less time adding and manipulating individual vertices. The result is a very powerful parametric spline tool that allows for varying degrees of detail and automation for different course components. For instance, say you wanted to create a bunker. Using our spline tool you can outline the shape of the bunker you want, leave the default bunker automation parameters as they are, hit generate, and a bunker equipped with an automated dirt lip, textures, normals and smooth tesselation  is created on-the-fly:

Posted Image
This image is the result of bunker automation with default parameters.

Different bunker parameters will affect the automation process, creating different essential types, while further editing features allow the meticulous to fine tune.

Our goal was to take out a lot of the tedious work involved with designing courses without getting in the way of creativity, and as this tool develops further we will continue to adhere to that goal.

Posted Image


23 Comments

You just had to throw in another teaser of number 16 from the land of Oz, didn't ya?
Really looks easy to use. I started creating a course for Links 2003 with the CD but I never finished it, because of the problems with creating slopes, bunkers etc. I might try to create one with this tool, because it really looks so easy to use. Think I'll take a closer look at the tool soon. Are there any finished courses yet? Would be nice to see some screen shots of a course and all holes created so far. Anyhow the screenshots and videos here give a nice overview on what is possible and how powerful the graphics are. Cant wait to see it in "real" :) Tom
The Scunner Thommo
Oct 03 2012 11:48 AM
Looks very perty! Will this also apply to greens as I found being a novice designer (although veteren player) that the biggest problem was to make a green with realistic slopes: either too flat or far too slopey to be puttable
Looks very easy and time effective. It will certainly help people get courses done quicker. How will seam blending be effected by this mesh?
Looking better and better with each new release of info on the program. I too have a course that I want to design but was never able to work out the very difficult apcd program. Will definitely give it a try with this game. Jerry
Daz Webb (Dazmaniac)
Oct 03 2012 06:53 PM
Dang. This project just gets cooler, better and snazzier (is this a word?) with every dev blog we see. IMO, anything that can simplify the course design process, with the headaches many encountered with the APCD (speaking from a Links 2003 perspective) can only be good and offer up the prospect of many more folks taking up the course design challenge, me included, and end up with something that is worthy for public release, whereas this may not have been the case with the APCD. Keep rocking guys.
Chris Perry
Oct 04 2012 11:56 PM
Wow, sooo many questions to ask... The APCD had a rendering glitch in the terrain that would render creases in areas of really dense mesh information, similar to the bunker edges/lips in your screenshots. I'm hoping those are a thing of the past with this engine. By "fine tuning", does that mean you can do things like undercut the bunker edge below the top of the lip so it angles in over top of the edge of the sand underneath it? Judging by the screenshots we've seen so far I'm assuming all of the textured areas are shape assets that are inserted over (or into) the "base" terrain and have their own XY values and directional orientation? I see no way to do this in the basic Unity editor (though I have only investigated the texture and terrain brushes so far) so I'm assuming we will have to wait until you release the editor you have in-house in order to do this? I'm also still wondering how you measure scale, I guess you have a tool for that too or is it in Unity as well and I just can't find it? Chris
Thanks for the feedback guys, I really appreciate it! Chris: There are no visual seams or creases to speak of on the bunker edges or really any area of high density polys. I can't really speak for why APCD had that bug. Yes, we have a specific tool for shaping the bunker lip so that it can angle over, then cut back in before the sand. We utilize tri-planar texture mapping so that textures do not stretch when doing a lip like this. Our tools create procedural meshes that also store various properties that are used in-game, so our tools are necessary to create the courses. We measure 1 Unity unit equal to 1 meter and make our conversions from there.
Nice work Chris, as always.
Chris Perry
Oct 05 2012 02:49 PM
Man, I feel like a kid waiting for a Christmas present. :o) Any idea what minimum system requirements will be? My rig is pretty old, P4 clocked at 2.0Ghz, 1G DDR2, one of the best Radeon cards that I could put in an AGP slot before everything went to PCI-E. I'm guessing the main framerate killers will be 3D trees and large areas of grasses? The course I am planning first will be pretty open and minimalist as far as using 3D objects is concerned. Ill probably be OK for that one but the next couple will be pretty object heavy.
This is really looking amazing. I remember trying to design my first course, Dwan Golf Club. Think I started over at least 5 times and gave up for almost 2 years. Then took another year or so to learn how to seam blend. I think it was about 6 years before I realeased it, then went onto other projects. Once I started to figure out APCD, I found I enjoyed making 3D objects from terrain, then learned how to make them in 3DsMax and import them. Will this new program and designer allow 3D objects to be made within, or will it be possible to import them? I sure hope it is possible to import courses from APCD or CRZ files. Would love to see some of the courses I have designed brought to this new game. Keep up the great work and if I can be of any help, I would enjoy the chance. Tim
Chris - There will be a minimum spec as well as a recommended spec. Many of the graphical elements in our game can be "turned down" for lower-end PCs, however it is too early to know what that lower-end requirement will be. Time - Course elements such as greens, fairways, bunkers, etc. are made within the editor procedurally. We will also have a library of built-in generic assets such as trees, grasses, benches, tee markers, etc. available from within the editor. It is also possible to import models from popular packages like 3ds Max for use. It is a very big want for us to be able to import as many existing course formats (APCD etc.) as possible in the future, to leverage great work that is already out there. We haven't gone into heavy development on this yet as we have to solidify the full set of requirements of our native format of courses first, but rest assured this is something we've discussed at length about and plan to work on.
Hey chris, just like all others I can't wait to get a timeline, BUT (!) I guess it is way more important to get a product which is as bugfree as possible. So I think you guys should take your time and give us something we never wanna miss again in the future. When I see whats up at the moment (TWO for example), most are full of bugs, or unable to implement the easiest things like move player on the tee, I'm sick of that. The last really playable golf game was Links 2003 and it's more than time to get something new. Keep up what we can see here, which is awesome and take your time for the details and to minimize bugs. I would love to buy this product and I can tell ya, there are alot of people out there waiting for this game :) Tom
Daz Webb (Dazmaniac)
Oct 06 2012 07:57 PM
I can understand that we all want to see this yesterday, but I guess patience is called for. From what I remember, MJ converted his version of Crystal Pines using the Unity Perfect Golf designer. I'm just curious at what sort of file sizes for the courses we can expect in comparison to Links 2003. I think Crystal Pines HD in Links 2003 weighs in around 123MB, so just curious what the updated Perfect Golf version weighs in at. Looking forward to more updates.
Joe Habiger
Oct 07 2012 12:54 AM
Better upgrade Mr. Perry..lol, I think you still had that system when PGA2000 first came out and that was 12 years ago.. I'm surprised you can play anything besides decade old games. :D 1ghz ddr ram and AGP video card ain't gonna get you far.
Chris Perry
Oct 07 2012 02:04 AM
Hey Joe, I'm more concerned if I can run the designer properly than playing since that is what I'd be spending 90% of my time doing. A new rig is not in my budget now hence why I still have the same one I had 10 years ago. The majority of my gaming time is on PS3 as it does not have to be upgraded. ;)
Joe Habiger
Oct 08 2012 06:44 PM
That is a good question then Chris. I would think it would even take quite a bit of ram designing especially if you import LIDAR DATA like we do in our golf game and then populate the course with 3D trees. I wonder if I had seen any questions or answers about Importing Lidar Data in this game as I have 1 meter Lidar data for TPC Twin Cities, Hazeltine, Interlachen and many other top courses in Minnesota. I may have to go read some again.
Did anyone notice in this picture the shadowing was different on the 16th then in the previously posted video and screens? This could mean the possibility of playing at different times of the day. That would be sweet
Really looking forward to trying the course designer out. Now that I finally have a high end machine it should be a real treat. Could hardly run APCD on my old cluncker. This is going to be an awesome game for sure. Keep up the great work all.
Having worked on Hazeltine for Links 2003, and also started to work on Interlachen with a much more basic DEM, these elevations would be very helpful. Even if it was to make a course for Links 2003 first and then convert them to the new format. I go to the 3M every summer as I really enjoy the TPC of the Twin Cities, so you have the holy grail for my interests.
Joe Habiger
Oct 31 2012 04:35 PM
Tim did you know they have 1 meter Lidar Data for all of MN? I already have most of the high rated metro courses for use in the game I design in if I ever wanted to do. If you want to get a hold of me my email is joe.habiger@yahoo.com ftp://lidar.dnr.state.mn.us/data/q250k/ Here is Interlachen's 10th and Hazeltine's 10th with an image overlay applied to it. http://smokinjoe.sim...rlachen10th.jpg http://smokinjoe.sim...zeltine10th.jpg
Joe Habiger
Oct 31 2012 04:59 PM
Oh did you say TPC Twin Cities..lol, yeah I have been there a few times to watch the seniors play. I live in Coon Rapids so it's not far away. Here is the 9th, love the back of the green with all those scary bunkers. http://smokinjoe.sim....com/TPC9th.jpg
FlusFumbGab
Jul 30 2013 05:13 PM
Usually keep in mind that becoming cautious in community locations and tiffany & co jewelry even inside your own house about your personal information Discount Tiffany and co Jewelry is one of bracelet the greatest methods to avoid identity theft from Tiffany taking place.Many accident victims find managing mental health after a physical injury challenging. While their physical injuries may have healed, they continue to struggle with their mental health and emotional well being. They may Tiffany necklace be reluctant Tiffany necklace heart to seek professional medical attention, even if the Tiffany & co compensation they received from their accident provides them with the necessary financial resources. Fortunately, there are some simple solutions for effectively managing mental health after a physical injury. However, in order to apply these solutions, the accident victim must first admit to having difficulty managing mental health after a physical injury.You can have everything in your life, but without spirituality everything can go out the door. God is there to help solve your sale problems and be your Authority in life. Just five Tiffany & co to ten minutes a day meditating and praying in silence can be the difference between a silver serene life Discount Tiffany and co Jewelry and a chaotic Tiffany necklace heart Tiffany necklace life. Being thankful tiffany & co jewelry and grateful for what God has given you can open up more doors, more opportunities, and ultimately, more prosperity in your life.I was stuck there for two tiffany & co jewelry months because I had no money for rushing Tiffany necklace heart home Tiffany & co during the high season or for staying Tiffany necklace in a hotel. Jewelry Discount Tiffany and co Jewelry My family's position is my brother and daughter didn't grow up together. bracelet They ignore the fact a 21-year-old has no business messing with a 13-year-old.It's only when you have finished silver promoting your site that Tiffany necklace you should consider adding prominent advertising to it. If, say, you have in-your-face affiliate links from the Tiffany & co start, directories are more likely Discount Tiffany and co Jewelry to reject Outlet your site. Therefore wait until your site tiffany & co jewelry Tiffany necklace heart has been included in directories, accepted by PPC search engines and banner exchanges, before adding banners and text links to the top of your pages.