Daft Logic

I’m playing around with the idea of starting on a new map. As with Nagce Valley it will be a fictitious map catering to large equipment, though this one will be set in North Carolina / West Virginia rather than the Midwest. The idea at the moment is to start with a 4x base map and utilize about 70% of the available area for my map with the remainder being left over for possible expansion.

One of the key features that I’m interested in pursuing, and which certainly fits with the NC/WV theme, is the use of complex field shapes. If you are at all familiar with No Creek or Tazwell County you will have a good idea of where I’m headed, though this map will be much hillier than either those excellent maps.

I used Google Earth quite a lot when I was conceptualizing Nagce Valley to get a feel for field and yard layouts and have started doing the same with the new map. The one shortcoming of Google Earth in this regard is that judging field size was largely guess work. This time around I’ve found an online tool that takes the guess work pot of the process.

The Google Maps Area Calculator Tool from Daft Logic allows you to plot points on a map and then calculates the area enclosed by those points.

Here are some fields that caught my attention

Here are some fields that caught my attention

By clicking along the edge of the field I can define the shape of the area that I'm interested in.

By clicking along the edge of the field I can define the shape of the area that I'm interested in.

The field edge is now fully defined

The field edge is now fully defined

The tool calculates the enclosed area as well as the length of the perimeter

The tool calculates the enclosed area as well as the length of the perimeter

Post 1.5.1 CompostMaster Error and Straw AddOn

Looks like there's an error cropping up on maps that incorporate the CompostMaster since the 1.5.1 update. This includes Nagce Valley.

Error: i3d 'H:/FS17Mods/CDF/NagceValley/maps/imports/compostMaster/fillPlanes/materialHolder.i3d' could not be found. MaterialHolder for CompostMaster placeable loaded successful!

I wasn't aware of the error until Tyson R on Iain Robson's Discord contacted me and let me know that Nagce Valley crashed to desktop on him after he installed the Straw Add-on the only error he could find was the one related to the CompostMaster MaterialHolder. If he deactivated the add-on the map would load without issue though the error would still appear in the log. Odd thing is that I'm running the Straw AddOn on Nagce without issue though when I checked my error log I was seeing the error as well.

I quick Google check showed that the error started occurring on maps incorporating the compost master after the 1.5.1 update. Fortunately, Maverick74 posted a fix to the error over on the official Giants forum https://forum.giants-software.com/viewtopic.php?f=940&t=119237

According to Mavericks post the error can be ignored, which was true in my case, but can easily be eliminated by commenting out the newMaterialHolder.Lua reference in the maps modDesc as described in the link above. I did a very brief test after commenting out the line and the CompostMaster was still operational and the error no longer appeared in my log so it appears that Maverick74 is correct that the CM does not require the script to run.

I suggested the fix to Tyson R and after commenting out the line the error cleared and the game would load correctly with the Straw Add-On activated. I have no idea why this would have affected his game and not my own, but if your running into a similar issue or just want the error cleared from the log follow Maverick74’s work around. I’ll try to release an updated version of the map on PS-SG latter this week as well.

Day 01

Spent most of the day in the JD 6210. First up was filling the water troughs for the pigs and sheep, before I could feed the pigs though I needed to move some crops I had stored over at Nagce Grain Store to the bunkers on the farm. I set the Farmking auger up at one of the bins and jumped in the JD 8530 leaving the 6210 connected to the Farmking for power. I then spent the next hour or so moving my corn, barley. sunflower and soybeans from NV Grain store down to my bins. With a bit of practice I'm getting more proficient at moving the auger between the bins. The final run to NV Grain was to bring some sugarbeets to one of the root crop sheds.

After feeding the pigs I'm back in the JD 6210 to head up to PC-SG Tactor and Grain to buy some hay and straw bales. I'll be the fist to admit I'm a bit out of practice when it comes to stacking bales but in the end I got them loaded up and back down to the animal farm. After that it was a simple matter of feeding the sheep their hay and running a load of straw over to the pigs.

bales.jpg

The rest of the day was spent mucking fileds 4 and 5 and getting about a third of field 3 done before the sun fell for the day. There's not much solid manure at the pig yard yet so I had to make repeated runs to the manure sell point at PC-SG to get these fields mucked.

manure.jpg

On my last run up to PC-Sg the owner let me know that my new JD R4050 sprayer was fully preped and ready for pick up. Left the JD 6210 and manure spreader up at PC-SG and drove the new sprayer back to the farm. Fortunately there was no late night traffic to deal with, that 4050 really eats up a lot of the road.

spayer.jpg

Nagce Valley 24 Day Season Edition – The Challenge Reloaded

My first go at the 24 Day Seasons Challenge got a bit side tracked. You see there is a peculiarity of the map maker psyche that compels us to rip our maps apart after a few hours of game play because we just thought of a better way to bring our farms to life. Sometimes we spot something in our own maps that drives us back into GE other times we something in another map makers work that pushes us over the edge. I used to think that the Giants Editor was a way to make Farming Simulator more enjoyable but I’ve come to the realization that for myself, and I’m guessing for other map makers as well, Farming Simulator is merely a justification for all the time we spend in GE. While I’ve spent well over 500 hours building Nagce Valley it’s likely that I’ve spent less than a tenth of that actually playing the map, and I’ve heard enough other map builders make similar comments to come to believe that the modders fate may well be cast in stone.

The UMRV map has been gaining a lot of attention as of late. While officially still in beta the map is very well polished and the team has done an outstanding job brining the community a map that really pulls off the look and feel of the Upper Mississippi River Valley. The maps creator has committed to being a positive influence in the mod community and I wish him and his team the best with the maps release. Needless to say UMRV derailed any aspirations I had of focusing on my play through and pushed me right back into the waiting arms of GE. What impressed me most was that the map takes something that I implemented on Nagce Valley and takes it to the next level.

One of the early features of Nagce that drove the feel for the map throughout its development was the grain bin auger layout on the main farm. It was one of the first features I incorporated and the one that once it was laid down I knew without a doubt would make it to the final cut. While it delivered the look I wanted functionally it was no different than the farm silo that exists on most FS17 maps, a tip point to dump into, a global store for the crops, and a fill trigger to get your grain back out. UMRV takes this to the next level by utilizing functional augers for adding and removing grain from bins that are unconnected to each other. To fill a bin you first need to maneuver the auger into place, set it up, and connect a tractor to power it. To fill a different bin you need to retract the auger, move it to the next bin and repeat the set up process. There is a second auger for transferring grain from the bin into the tipper which has its own set up process. While it’s still possible to put more than one grain type in a bin a bit of self-control makes it possible to realize a one bin one crop playstyle.

The static augers and bins from the release version of Nagce Valley

The static augers and bins from the release version of Nagce Valley

The functional augers and bins that I have in the dev version of Nagce Valley. While they may look the same they are a whole new ball game in game play. If you want to see the augers in action watch the video below from the UMRV team DR Modding

The functional augers and bins that I have in the dev version of Nagce Valley. While they may look the same they are a whole new ball game in game play. If you want to see the augers in action watch the video below from the UMRV team DR Modding

DR Modding

The augers and bins have been available for some time on American Eagles Modding; in fact the augers already on Nagce Valley use the same visual model but lack the functionality of the AEM mods. While I knew of their existence it wasn’t until I saw a video on the UMRV YouTube channel demonstrating their use that I knew what I was missing. There’s a bit of a learning curve on the augers, they’re not overly complicated but they’re not terribly intuitive either, and the casual player may not find them very engaging, but if you’re looking to run a realistic American farm they are hard to beat.

There’s a second change that I’ve been meaning to incorporate on Nagce Valley but held off as it was not seasons ready Seasons. Thanks to some hard work by Darrin Casesell the Apple Orchard is now, at least visually, Seasons ready. Darrin added the necessary textures and xml to allow the Apple tree’s to change appearance with the seasons and was kind enough to allow me to include these changes on Nagce Valley. Unfortunately we were not able to find a way to control apple growth to coincide with the seasons. We both played around with the ProduktPerHour and factor settings but it didn’t lead to the results we were hoping for. It’s not an insurmountable problem though. Apples will only be produced after water and compost or manure have been added to the trees. By using some self-imposed rules about when these inputs can be added, such as July through November, we can keep are apple harvests in season. Neither of us has given up on finding the magic Seasons settings but for now controlling the inputs seems like a viable solution.

Nagce Valley apples

Nagce Valley apples

There were a few more changes, multi angle terrain has been added, I removed the seed and fert fill triggers from the farm, so buying and transporting pallets is somewhat more essential though the fill triggers are still in place at PC-SG Tractor and Seed.

Day 0

Day 0 the problem with piggy’s

Disclaimer – torn between the ideal that piggy’s get sold to the Petting Zoo and my love of bacon (#baconForTheWin, #lovesBacon, #baconUberAlles) The seasons devs simplified animal feed requirement by aggregating feed over the course of a year rather than making it dependent on season length. So end of the day it doesn’t matter if you are playing 6, 12 or 24 day seasons the piggy’s are going to woof down 2160 liters per piggy per year. Feeding the pigs over the course of the year can be broken down as follows.

NCV24graph.png

I padded the numbers a bit to ensure that I didn’t come up short but the idea is that if I’ve got this in my coffers it should get the piggy’s through the year. So, 54k liters of corn, 27k liters of barley, 7200 liters each of canola, sunflower, and soybean and another 5400 liters of sugar beets should see the piggy’s through the year. Just to keep things interesting these crops will be located at the Nagce Valley Coop rather than at the farm silo, which means resources will need to be moved to ensure that the piggies don’t go hungry. Day 0 I’ll stack he larders to ensure no piggy’s goes unfed.

I Replaced most of the starting equipment with John Deere, with the exception of the big dog tractor which will be Class Xerion 5000. John Deere brings up the rest of the tractor line with a 8030, a 6210 and a 5150. New Holland convers the harvesting side of things with a CR 10.90 and a FR 850, though the 10.90 will be using a MacDon 45’ header and a Capello corn header rather than the NH kit. Some support equipment such as a milk truck, a diesel tanker and a digestate tanker have also been added.

Mods of note include Seasons 1.1.0, a tweaked version of the MidWest Geo that re-enables sugar beats, the manure mod, the solid manure placeable and the chopped straw mod.

24 day challenge

So, I’m sitting here drinking a Stone Ruination double IPA, I’ve just finished tweaking Nagce Valley in preparation for the 24-day Season challenge, perfect time to blog a bit before firing up FS17 and giving this challenge a go. The prevailing line of reasoning in the 24 days Seasons club that Farm Klein Kicked off on PC-SG is that the 24-hour challenge should be played at 15x speed. I’ve never played FS at anything other than 1X and while the guys in the club offer some compelling reasons of going 15x I’m going to stick with 1x at least off the bat.

A 24-day season works out to a 96-day year, so to avoid immeasurable spans of boredom I’ve tweaked things a bit to ensure that I’ll keep busy.

  • All fields will be player owned with the intent is that I plant and harvest all 225ha of arable field in addition to working all 44ha to grass pasture land.
  • Sugar beets and poplar suck up a bit of time so I’ll be throwing them into the year one mix.
  • Animals, the conventional wisdom is to hold off in year one, start with sheep and avoid pigs at all possible costs. So, we will start with pigs.
  • Minimal use of Course Play or the helper AI. My play styles always tended towards do the work yourself which should help to fill out a 1x day.
  • Removed the seed and fert triggers from the farm. Both will now need to be supplied through the use of pallets or by hitting the triggers at the PC-SG sell point

I’m guessing that this should keep me busy at 1x but I guess time will tell.

Week 1

Nagce Valley was released just over a week ago and I'm feeling pretty good about how things have gone so far. The maps been well received on PC-SG and to date there have only been two support issues to deal with neither of which was game breaking and both of which have already been addressed through updates.

The first issue was brought to my attention by Shakey on the PC-SG support forum. Shakey let me know that he was unable to feed sheep hay bales. Loose hay and grass worked but the sheep feed trough would not accept bales. Farmer Klein confirmed the issues, poked around a bit in GE and let me know that the sheepBaleTrigger was missing from the sheep feed trough. A simple enough fix, but why didn't this get caught prior to release. We had been running sheep for a week or two on the private MP server, we were obviously feeding sheep so how did we miss it? Quite simply we were feeding the sheep loose grass and hay and it never occurred to me to test for bales as well. Bales take on a more significant roll with the Seasons mod particularly when used with the buy bales mod to get an early start on animals, so while the omission of the bale trigger was not game breaking it was problematic. The map was updated to ver. 1.0.1 resolving the issues with the bales, there were no other changes.

The second issue was brought to my attention a few days latter when I received an e-mail from Maestro Maestro letting me know that the addChoppedStraw.xml was missing from the map. Implementing Chopped Straw into a map is pretty straightforward, edit a few lines in the map01.i3d, add some texture, and include the addChoppedStraw.xml. I'd done all this prior to release and confirmed that chopped straw functioned as expected if the chopped straw for harvesters mod was in the mod folder. Here's why the addChoppedStraw.xml essentially, if unintentionally got chopped from the initial release. One of the last steps prior to releasing a mod is to export it from GE and zip it up in an archive. The export process can greatly reduce file size by eliminating duplicate or unneeded files. Unfortunately it often strips out some needed files as well that have to be added back in after the export, and I missed doing so with the addChoppedStraw.xml. Another easy fix and the map now stands at ver 1.0.2 with the addChoppedStraw.xml intact and chopped straw functioning as expected provided you have the mod in your mods folder.

The maps been picked up by a few Twitch streamers, namely wheels247 and chrisKimballGaming, and as I've mentioned before it's pretty exciting to see others enjoying your creation. Perhaps the greatest compliment though came from the Seasons devs when they used a screen shot of Nagce Valley for the Seasons GEO: U.S. Midwest addon. Speaking of Seasons I have to say that I'm really enjoying this mod but restarted my save with the release of v 1.1.0 and the Mid West GEO.

That's all for now, thank you to everyone who has downloaded the map.

Cry havoc, and let slip...

Nagce Valley version 1.0 is set for release tomorrow on PC-SG.UK. For those of you wanting a sneak peak Farmer Klein has a First Impressions sneak peak and if you haven’t been following the series already Iain Robson has been streaming our MP testing sessions on his YouTube channel.

I’ve written a detailed description of the map and a listing of credits for the assets that I used, which you will be able to find on the maps download page once its posted, but I wanted to post a piece of it here and go into a bit more in-depth discussion about my intent.

Usage

PC-SG is the only official host of the mod as well as the only site from which I will provide support for the map. Edits for personal use are permitted and highly encouraged. Distribution of the map to other sites without my permission is right out poor form; though most likely inevitable despite my wishes. If you are one of the parasites that >upload other people’s works without their permission please have some shred of decency and include my full list of credits

My desire is that PC-SG.UK is where you will choose to download the map from. If you haven’t been there already I highly encourage you to take a look even if you have no intention of downloading the map. PC-SG is an exceedingly helpful and friendly community focused on PC based simulation games. The site is still somewhat in its infancy but continuing to grow in membership and content and I hope you’ll take a chance to check it out for yourself. Aside from my fondness of the site one of the reasons I’m sticking to a single host is that it makes my life much easier in terms of uploading new releases and providing support. There is a possibility that I may release some version of the map on another site a bit further down the road but for now PC-SG is the place to go.

Before I discuss personal edits let’s get the elephant in the room, unauthorized hosting out of the way. I made a decision early on not to get butt hurt when the map shows up on the mod scraping sites that offer mods without the authors consent. While I understand why some fellow modders take mod theft to heart, pissing in the wind is not worth my time. I’m not saying that I don’t value my work, I most certainly do, as well as the work of all the other modders whose assets are used in my map, but it’s just not worth investing my time in a largely futile effort when I could be playing the game, working in GE, or hanging out with the community. My one hope, misguided as that may be, is that the FULL list of CREDITS will be uploaded as well.

Having swept that bit of unpleasantness out the door I’d like to talk about something that I feel is far more important to the future of our community, … Edits for personal use are permitted and highly encouraged.. Early on in this blog I spoke about Chris7710’s FS15 Drayton Farm map and how tweaking that map for my personal use built the foundation upon which this map is built. As much as I’ve gone on about how I first and for most made this map for myself I do hope that others will find it and enjoying playing Nagce Valley for a while. There is most definitely a high degree of satisfaction from seeing your map on YouTube, playing it with other in MP, or reading the comments of those who have given your creation a go. I’ll be honest tough, end of the day my greatest hope is that a few of you will like the map well enough but want something more, and that some of these individuals might just be inspired enough to fire up the Giants Editor and tweak Nagce Valley to better suit their play style. If you turn out to be one of these individuals please send me some screen shots or a YouTube video of what you’ve done, I’d love to see your interpretation of the map. I’ve already said that this is for personal use only but I understand how once you start adding your own personal vision you may want to share it with others. So here’s my proposal, if you make some substantial changes to the map, enough so that it has a different look in feel, drop me a line, I’ll look at what you have done and we will see how we come to an agreement wherein you have my blessing to share your version with others.

Where to from here…

It may be surprising to some of you but in the 33 or so weeks that I’ve been working on this map I’ve spent very little time actually playing this map. I’ve done a fair amount of in game testing but to date have not progressed beyond the first few days of game play in my SP game. Though I’ve started toying with some ideas for Nagce Valley v2 I wouldn’t expect to another release, other than point updates to fix issues, till towards the end of the year. Between now and then I plan on progressing my 12 day 1x speed Seasons play through to at least year 3 or 4. There are also games like Factorio, Rim World, and Assetto Corsa that I enjoy immensely but which have been sidelined during the maps development. I plan on getting some play time in on thee as well. There’s also a few new games to my library such as Cold Waters and The Sexy Brutale that will be queuing up for some play time.

RC1

RC1 – Release Candidate 1, going silver, a final beta with the potential to be the final product provided no significant bugs emerge.

After 29 weeks and somewhere between 500 and 700 hours of build Nagce Valley is nearing release. It’s been an incredible journey, one in which I severely underestimated the time and commitment that would be involved. Fortunately I did not make that journey alone and I like to personally thank everyone who played a part in the maps development. Without doubt the FSUK mod community played a huge part in getting me through the rocky parts of the trek, in particular akuenzi, bulletBill, and ccs101 all came to bat for me on more than one occasion and consistently proved they are indeed FSUK MVP’s. The feedback and insight that I’ve received from the beta testers, SpudBoi, Lewie, Countrygaming “Liz”, ipjrobson, MadAlex, and MitchyMitch12 has been invaluable and their commitment to testing out the map kept me motivated throughout the maps development. I would also like to thank Iain for hosting the map on his private server and for the live streams of the map that’s he’s done on his YouTube channel. There’s something very surreal and rewarding about seeing your map played out on YouTube as well as seeing your online friends enjoying your creation. Wonko and BigMatt from the PC-SG mod test team provided much needed feedback on the map that helped shap its development.

Next I’d like to thank all of the modders who created assets that have been used on my map. Map making is truly an endeavor that’s built on the shoulders of others; I’ve tried to make this list complete but if I’ve missed anyone please let me know so that I can update the maps credits.


Giants, NLD Farmers, Dorset, , Kevink98, Al_Bundy , Blacksheep/RC_Devil, Niko1410, teccer, MJD, Itisntworking modding, Justin, Killerrf, Luzog, Titoine76, Farmer Andy, , Niggels - Vertex Dezign, Stevie, easyhalls.com, Dajnet, Dogface, kingkalle - Team LTW, DocElyoc1, Robbie/rwm, Team Wild, Realistic Farmers, Desperados93, BulletBill, CSC101, mrbear, reallogger, Rahkiin, Realismus Modding, VASILISVASILIS31, JDFarms, Vanquish081


Some additional insight into Seasons optimizations I discussed in the last post is in order. In my last post I said that BulletBill had agreed to let me use some of his Seasons optimizations from CPFv3 on Nagce Valley. Well that wasn’t quite true, at least not when I wrote it. The reality was that ccs101 had agreed to let me use Seasons optimizations from the latest version of his Churn farm map. Somewhere between the time that ccs101 gave me his blessing and the release of both maps I had managed to confuse CPF and Churn and implemented the CPF optimizations. Once Churn Farm for Seasons released I realized my mistake and approached Bill for permission to use the CPF optimizations for which he has given me his approval. It occured to me that there were elements from both optimizations that would work well on Nagce Valley, so the Seasons optimizations that I’ve used takes from both BulletBill and ccs101’s work. Thank you again to both of you and to the authors of the respective Seasons-Textures.xml’s mrbear, reallogger, and Rahkiin.

Finally I’d like to thank YouTubers bdbssb and ShyWizad both of whom regularly post videos that will be of great interest to anyone building or modifying a map.


Over the months I’ve shared a number of gaffes I’ve made along the way and the solutions to getting them sorted, or at least mostly sorted, and it’s only fitting that I’ve one more to share before the maps release. While adding some additional detail to the map I exported some road signs from GCV to place alongside the roads on Nagce Valley. It’s a simple enough thing to do, I’d done it before, but this time around ran into an amusing predicament. The signs would look like one would expect them to in GE but once I popped in game the sign would be lying on its back as if someone had run it over.

After several unsuccessful tires at getting the signs to buck up and stand tall I turned to the FSUK modding help forum for an assist. Neurotek came through with the solution. Due to the signs dynamic properties, i.e. they fall over when you run them down, they are very particular to how they are placed in GE. Neurotek’s advise was

When you place a sign with (ctrl B) try not to adjust the height of its position after placement, don’t adjust the x,y, or z values after placing, you can rotate it slightly though

I’d been moving the signs around quite a bit after importing them but once I followed Neurotek’s advice the prob lem was solved.


My current plan is to release within the next two weeks, so let’s say sometime between July 14th to the 21st. As I’ve mentioned previously the mod will be released on PC-SG.uk and this will be the only site on which I’ll be providing support.

In the weeds and inelegant solutions to problems

Try as I might I did not find a solution for the Helper AI mucking about on field 10. My original plan was to release as is and find a way to let the player know that they would need to clean up after the helper on F10 but seemed like a cop out and I don’t think it would have sat well with me so I hammered out a different solution, it’s not very elegant but it works.

This is the shoddy level of commitment you would have come to see from the AI

This is the shoddy level of commitment you would have come to see from the AI

The AI No Work Zone circled in red. What to do?

The AI No Work Zone circled in red. What to do?

Rezone! (Simcity flash back). Field 10 and 11 are down on size a bit, but field 12 grew by a like amount so end of the day its all good.

Rezone! (Simcity flash back). Field 10 and 11 are down on size a bit, but field 12 grew by a like amount so end of the day its all good.

Nagce Valley after the rezoning 

Nagce Valley after the rezoning 

Now we can move on to the PDA problem that I couldn't solve and the sketchy work around I came up with. Looking at the PDA below should inform you where the woodchip sell point and Nagce Grain, one of the crop sell points can be found. The Map01.xml clearly says that it should, but look at the PDA and nada on finding either of those locations. Not to mention the markers at the vehicle sales and the stock yard are a jumbled mess.

map01.xml telling the PDA to display the wood chip sellpoint

map01.xml telling the PDA to display the wood chip sellpoint

1 wood chip sell point  2 vehicle sales  4 Nagce Valley Grain  5 stockyard

1 wood chip sell point

2 vehicle sales

4 Nagce Valley Grain

5 stockyard

pda_map_H.jpg

Version 3 of BulletBills Coldborough Park Farm hit the modhub today. Bill wasn't content with simply adding a snow mask to optimize CPF for Seasons. Bill went a step beyond changing tree and bush textures with the seasons and found a way to change the texture of the weeds as well. OK, weeds may be a stretch, I believe the editor refers to them as Eisenhut. In true American fashion I'll just assume that’s German for weeds without actually bothering to verify it’s so. The weeds do add to the realism of the map but that realism has fallen of a bit with the release of Seasons as summer weeds tend to look a bit out of place in the winter. Bill’s fixed all that and graciously allowed me to use his textures on Nagce Valley.

Incorporating the textures however did turn out to be a bit more of a challenge than I had originally thought it would be. The problem is that CPF used a single additional foliage layer called Eisenhut while the starter map that Nagce Valley was based on used six or seven additional foliage layers with enchanting names lie bush1, bush3 and grass2. Actually, it was a pretty simple fix, add the Eisenhut foliage layers and textures and get rid of the other stuff. I soon found that there was another advantage to making the change. With the multiple weed foliage layers that I had previously the only way to get some variety was to paint a bit of bush1, and bit of grass2, a bit of bush4. It was time consuming, The Eisenhut has a variety of textures built in so painting the one foliage layer creates a few different weeds, not the variety I had with the old weeds but pretty good and much less time consuming. The move to Eisenhut also cleared up another minor issue. Overlapping bush2 and bush3 could cause a black flickering effect. Since I’m no longer overlapping the textures the issue is no more. It may take me the better part of the night to paint in all of the Eisenhut textures but I think the results will be worth it.

Spring weeds

Spring weeds

Sumer weeds

Sumer weeds

Autumn weeds

Autumn weeds

Winter weeds

Winter weeds

Previous low tech winter weeds

Previous low tech winter weeds

State of the mod

State of the mod

Version 0.9.4.0 has been rolled out to my beta testers. The revisions for this version, some of which I’ve posted about previously include

  • Overhauled the BGA bunkers once again. I’m now using the default GCV bunkers, collisions, interaction triggers and bunkerSiloArea triggers, though I’ve spaced the bunker walls out a bit to create wider bunker areas thereby increasing the total silage each bunker can hold. Testing so far has been positive with no bleed through between the bunkers. Chaff and grass can now be leveled relatively flat, the expected behavior, and no longer exhibits the pyramiding effect I had with the previous set of bunkers.
  • Replaced the default liquid slurry pit from GCV with a truly impressive model from Robbie. The detail on this slurry pit is top notch and the animations are very well done. I have not seen this model implemented on another map yet and its rewarding to add something that is for the moment at least somewhat unique. The prefab is available on the Giants ModHub so I don’t expect any exclusivity for long.
  • Added snow mask for Seasons mod
  • Replaced FS15 trees with FS17 trees to support Seasons mod.

I’d had hoped to have released the map by now or in the worst case have release it by months end but the issues with the BGA bunkers and RL have derailed that plan. I’ll be taking some time off from work next week and hope to devote an ample chunk of that time to testing the map with the Seasons mod, addressing a few remaining issues, and possibly adding an enhancement or two. While the BGA issues seem to be in the past a new issue has popped up. One of the fields, field 10 to be specific, has become a point of confusion for the Helper AI. Helpers will run down the length of the field, turn around and head back up field as expected until they’ve covered about three quarters of the field. They will then hit a spot, always the same spot, where they turn mid-field and head back to way they came leaving part of the field unfinished. Initially I had though it to be an issue with the growth management mod but disabling the mod did not solve the issue. In fact the Helper AI still performed the same mid-field turn even with all of the mods disabled. My next thought was that there may be an invisible collision that was causing the confusion but running the field with collisions highlighted using F5 did not reveal anything. Giants had place several restricted zones on GCV which had lead to issues with starter maps based on GCV if the restricted zones were not removed. A search of the scenegraph did not reveal any of these zones nor could I find them by opening the map01.i3d as a text file and searching in Notepad++. If this was one of my non-rectangular fields I would have suspected that the problem might be caused by overlapping field dimensions, but F10 is a rectangular field with a single set of dimensions so there is nothing to overlap. None the less I deleted the dimensions and remade them but that unfortunately did not solve the issue. The next step will be to erase the terrain detail for the field and redo the field from scratch. Fortunately I do not consider this to be a mod breaking problem. The section not completed by the Helper can be done manually, and the Course Play AI has not suffered the same confusion and seems quite capable of working the field as expected. In other words, while I would not have released the map with the BGA issues we found earlier I’m not going to hold the map back if this one remains unsolved.

Helper AI turning mid-field

Helper AI turning mid-field

The Helper AI doesn't much care for this section of Field 10

The Helper AI doesn't much care for this section of Field 10

===

By design

From the start the guiding design approach behind Nagce Valley has been to build a map for myself that aligns with my playstyle, and while I’ve always intended to share the map, Nagce Valley is most likely not going to be a map the main stream players are going to take to. One of my design criteria is that realism will almost always trump convenience. To this point solid objects such as trees, fences, signs, and power poles will have collisions regardless of their proximity to a field. Grass run off areas between fields are relatively small and in most cases will not be deep enough to turn equipment around making the use of headlands more or less mandatory. I have not included any open lots for dropping placeables, you may still find areas with sufficient room for a placeable should you choose but you’re going to need to get creative. Production facilities have been kept to a minimum.

So what are the play style elements that drove the maps design. The first was that the map would have large irregularly shaped fields and would be big equipment friendly while still offering something of a challenge. I prefer to do the majority of the work myself rather than relying on the AI and this is reflected in the maps design. The proximity of field to each other and to fences should not be an issue when the equipment is driven by the player but may be more of an issue if you rely too much on the Helper AI though Course Play should be able to handle most of what I’ve thrown at it. The key will be the use of headlands, both at the ends of the fields to provide enough room to turn equipment around as well as along the fields edge to prevent the AI from working the adjacent field as well as the one you’ve set them to run. While fields surrounded by big grass runoff areas may be convenient I don’t find them terribly realistic and generally somewhat boring. I’ve never bothered with gold so it will not be making an appearance on the map. The rail system was fun for a bit on GCV but quickly lost its appeal and was never seriously considered for inclusion on the map.

I’m still undecided on the fate of missions and AI traffic. I’ve heard the argument that without traffic a map doesn’t feel real and while I agree with the argument at a base level I find the AI traffic to be so poorly implemented that the case for realism falls flat on its face. In other words I find the empty back roads of Nagce Valley to be far less immersion breaking than if they were filled with cars that drive in the on rails manner of FS’s traffic system. The lack of a town, and detour that closes the east west road to local traffic only make the lonely road theme somewhat more believable than running traffic-less on a map such as GCV might be.

As much as I liked the idea of how missions would be implemented in FS17 the reality of the implementation fell short of my expectations. First, I’ve always felt that even on hard difficulty missions were too profitable . Second missions lack any real challenge, they may become long in duration but I don’t find that tedium equates well with challenge. Almost all of the fields on Nagce Valley are over 10ha and thus likely to be too monotonous to be appealing. Another argument against missions on Nagce Valley is the bug that allows the NPC to plant poplar, grass or oilseed radish on maps that incorporate the addtionalMapTypes script. I believe I have a work around for the bug, however while the fix will keep the NPC from planting crops that it should not be planting it will also means that the NPC will no longer be able to plant the additionalMapTypes crops such as Oats or Rye. Missions will however most likely make the final cut.

===

Game Changer

The Seasons mod has been called a game changer in much the same way that the Soil Mod transformed FS15 and from what I’ve seen so far I would have to agree. I’ve just started a Seasons play through in SP running a 12 day season at 1x speed. As of this morning I’m about half way through the first day and just finished up the plowing on field 1 (43ha), with three more fields, field 5 (18ha), field 6 (7ha) and field 7 (11ha) to go. I’d like to have all four fields plowed, the first round of fertilizer down and the fields sown by the time I hit mid spring at day 5, so the 12/1 option seems appropriate. I’ve stacked the deck a bit by placing two of Stevie’s Hay Loft placeables near the BGA and then edited the defaultVehicles.xml to fill the haylofts with grass and chaff. This will allow me to test out the BGA bunkers without having to wait for grass to become harvestable, so any extra time I have after planting will likely be focused on the BGA. The haylofts are solely for testing and will not be included in the release of the map. We’re also running this version of the map with Seasons enabled on Iain’s server, IIRC at the 9 day/5x settings. So far the testing’s going well in both SP and MP, no issues have been noted with the Seasons mod other than learning the ins and outs of the mod.

===

Release date?

As I mentioned previously, PS-SG.uk will be the only official site from which the map may be downloaded and it will be the sole forum from which I’ll provide support for the map. PC-SG will be migrating the site to new software on July 8th, there’s no word yet on how long the site may be down for but if all goes well I’m planning on uploading the release version shortly after the site comes back on line. That being said the release date is still subject to the usual it will be released when it’s done clause.

A Season of Trees and Milk

The other day I more or less committed myself to a tutorial on tree replacement in a thread on PC-SG where we were talking about map customization for the Seasons mod. So here it is. There may be better ways of doing this, but this is the one I know.

Just a reminder, do yourself a favor and back up your work before giving this ago

The Seasons mod texture replacement system can change certain textures, trees for example, to match which ever season you’re in be it spring, summer, winter or autumn. To make things a bit easier on map makers there are console commands that can be used to force a given seasons textures to be loaded. After using the ssSetVisualSeason winter command from the console to load the winter textures I noticed that only one of the trees, the one to the right next to the barn, had lost its leaves. Not what I was hoping for but not completely unexpected either. The Seasons mod, you see, can only change the textures on the default FS17 trees, which means I’ve got a number of FS15 trees on my map (the ones that didn’t lose their leaves). This leaves me with two options, replace the FS15 trees with FS17 trees, or find alternate textures for the FS15 trees. Replacing the trees is the easier path and what I’ll be showing here though the Seasons mod Info for Map Makers documentation does cover how to add textures to the mod if you are so inclined.

The first step is to determine which trees on the map are FS17 trees and which are FS15 trees. If only I had a map on which I could be assured all of the trees where of the FS17 standard. Luckily Giants has provided us with two such maps Goldcrest Valley and the other one. Load up GCV in the Giants Editor and you will see the tree’s all have names like birch_stage2, birch_stage4, oak_stage4, maple_stage5, etc.

In the image above you can see that the scenegraph for Nagce Valley also contains tree names that end in LODs rather than a stage number. A quick check in GE confirmed that the trees that were not changing with the season all had the LOD names.

A quick note of caution, keep in mind that this is how the naming contention happened to work out on my map. If you are checking your own map you should to use the ssSetVisualSeason winter command to force the winter texture and then check your map for trees that did not change. Take screen shots to help you remember which trees are not playing well with the Season’s mod and then use the screen shots to help you find the trees in GE. You may find that the FS15 trees use the same naming convention in the FS17 trees. The following will still work in these cases but you may end up replacing FS17 trees as well as FS15 trees, but since there both getting replaced with known FS17 trees it should not be an issue.

You could replace trees one at a time but there is an easier way. First ensure that at least one of each type of tree on your map is the FS17 version of that tree, for example at least one of your maple trees is a maple_stage4 rather than a mapleTreeLOD’s, if not import a FS17 version of that tree. Next you want to select the tree that will be replaced from the scenegraph. In this example I’ve selected the birchTreeLOD’s.

Now select the replace tool from the edit menu.

The replace dialog will pop up with birchTreeLOD listed as the target

Now select the FS17 tree that you will be replacing the FS 15 trees with from the scenegraph

Click the load button, the FS17 tree should now show as the Replace With object.

There are some options to consider. If you want to replace your FS15 trees with an exact copy of your FS17 tree leave these options unchecked. I’d made some changes to the attributes of the trees on my map, namely scale and clip distances that I wanted to maintain. By checking the options as I have above my FS15 trees would be replaced with the FS17 i3d.s but would maintain their attributes. If I had checked the Keep Names option the trees would keep their LOD names as well. In this case I want the names to be changed to the FS17 names but there may be cases where you’d prefer to keep the existing name.

Now hit replace all and all of the FS15 birch become FS17 birch. repeat for the other trees on your map.

Birch, maple, and oak have all been replaced with their FS17 counterpart and are now seasons compatible. The sole hold out in the center is an elm for which unfortunately I have been unable to find a FS17 version.   

Birch, maple, and oak have all been replaced with their FS17 counterpart and are now seasons compatible. The sole hold out in the center is an elm for which unfortunately I have been unable to find a FS17 version.

 


Bonus Content - One of the features of Nagce Valley that I really like is the milk fill and sell points, even if their proximity to the slurry pit is most likely a health code violation. The one aspect of using the milk sell points that I didn't particularly care fore is their dependence on the stopMilkSale placeable. Functionally the placeable does what its meant to, stop the automatic sale of milk. What I didn't care for though was that this functionality could only be achieved if the player downloaded the mod, purchased it from the vehicle shop and then placed it on the map. Finding an unobtrusive location for a sign printed in German where I could actually place the sign was getting to be bothersome so I began looking for ways to incorporate the mod through GE so that the placeable would no longer be necessary. I tried a few things that didn't quite pan out until realisticpunk on FSUK pointed me to a thread on Marhu.net that showed a simpler solution. Turns out the ability to turn off automatic milk sales is accessible directly through the game engine. All that is needed is the addition of a boolean variable to the cowHusbandry transform group. It's quite simple

  • Select the cowsHusbandry transform
  • create a new boolean named automaticallySellMilk
  • leave the check box unticked
  • save and exit out of GE

BGA revisited, tip collisions and slury

I was hopeful that the changes I made to the BGA last week, namely switching out BGA bunkers, would be the end of the BGA blues. While I did manage to clear up bleed through issue a new problem reared its ugly head. Rather than flatten out against the bunker walls chaff would pyramid inwards towards the centerline of the bunker. The bunker was still fully functional, I could tip chaff and grass, ferment it into silage, clear the silage from the bunker, and there was no bleed though into the adjacent bunkers. Though functional the way that the chaff filled out the bunker was making it an absolute pain in the ass to fill the bunker beyond a certain level.

Chaff could not be pushed down to meet the bunker walls

Chaff could not be pushed down to meet the bunker walls

Getting creative didnt solve any problems either

Getting creative didnt solve any problems either

I decided to roll this release out to our closed beta MP server to see how the others felt about the set up. The general consensus was that while the bunkers were workable filling them beyond a certain level wasn’t much fun. The prefab for the open-ended bunker did not come with interaction / bunkerSiloArea triggers so I used the ones from GCV. By tweaking the scale of the triggers some I was able to get them to match up fairly well with the prefab. I suspect that there is enough of a difference between the shape of the collisions on the prefab and the shape of the collisions from the GCV bunkers (the prefab has a much more pronounced slope) to produce these unexpected results. I tried widening the interaction / bunkerSiloArea triggers some thinking it would pull the chaff out towards the walls but there’s not much room to expand without encroaching into the adjacent bunker.

You can see that widening the interaction trigger (the box outlined in white) isn't going to happen without creeping into the other bunker

You can see that widening the interaction trigger (the box outlined in white) isn't going to happen without creeping into the other bunker

Before adding this prefab I had done a bit of testing using the GCV bunkers in their entirety as opposed to just the triggers as I had above and believed that the GCV bunkers may be the way to go. The reason I didn’t go with these bunkers in the first place is that I was trying to minimize the use of Giants assets. Now I think Giants did a bang up job with GCV but use too many GCV assets and the map starts looking like GCV. Not a good thing when you’re billing your map as Not Another Gold Crest Edit. My next though was maybe I could tweak the bunkers a bit to give them a slightly different look and found that adding some space between the bunker walls did in fact bring a subtle change to the look of the bunkers. A nice side effect is that it also increases the amount of silage a bunker can produce.

The new design easily accommodated 1.2 million liters of chaff. With a bit of effort 1.5 million might be possible.

The new design easily accommodated 1.2 million liters of chaff. With a bit of effort 1.5 million might be possible.

Another issue that cropped up was a tipping mishap at the Compost Master. Backing up the ramp will bring the tipper into the tip trigger allowing material to be dumped into the Compost Master. If you back up too far though the menu changes from Unload to Unload Here. The end result of tipping at this point is that the material spills rather than being accepted by the Compost Mater as an input. The solution is to paint a no tip collision mask under the Compost Master and the surrounding area, this prevents the Unload Here menu option from appearing.

Spilled staw mishap. This is why we have tip collisions folks.

Spilled staw mishap. This is why we have tip collisions folks.

So, while the balance I was trying to achieve in forgoing Giants assets had taken a blow at least everything was now in working order. And what does a fledgling map maker do when earthing is working just right? He finds something new to add to the map. A quick review of the mod hub led to a very welcome surprise. Robbie had released his Slurry Pit Replacement. The detail on the slurry pit is top notch and as soon as I was done with the BGA fix I jumped on (thankfully not jumped in) getting the slurry tank into the map. Robbie includes a very detailed how to read me with the prefab that covers installation. Its fortunate that he did as I blew the instructions off up until I hit the point that I was getting an error about the straw trigger not being a physical object. A quick read through Robbie’s instructions sorted it all out.

Bang up job Robbie!

Bang up job Robbie!

BGA blues

Applogies I meant to post this last week.

The trouble all started last Thursday when SpudBoi, whose helping beta test the map on the MP sever let me know they were having issues emptying one of the bunkers at the BGA. The left bunker appeared empty but the menu showed that there was still 20K liters of silage in that bunker. The guys tried dumping some fresh chaff in the left bunker but were prohibited from doing so, confirming that the game believed there was still silage in the bunker despite the bunker being empty visually. My first though was that silage was stuck in the wall but Spud let me know that he and Lewie had tried using the roller to clear the in wall silage with only limited success. The bunker immediately to the right of this bunker was full and I suspected that the silage from the right bunker might be bleeding into the left bunker even though the left bunker looked empty. To test this out the guys emptied out the right bunker and where able to get the right bunker down to 2300 liters which brought the left bunker down to just over 500 liters of silage. So while this remaining 2800 liters or so was indeed stuck in the wall the majority of the phantom silage in the left bunker had indeed bled through from the right bunker.

The menu is showing that a bit over 59K liters of chaff has been added to the right bunker

The menu is showing that a bit over 59K liters of chaff has been added to the right bunker

The left bunker is clearly empty yet the menu is showing 1875 liters of chaff

The left bunker is clearly empty yet the menu is showing 1875 liters of chaff

Back on the dev map I started looking for a fix and any indication of what may be going wrong. My first thought was that I may not have rerun the ground tip collision script prior to uploading the map to the server. While ‘tip anywhere’ sounds great in theory in truth what we are looking for is ‘tip anywhere except the places I don’t want you to tip’. The Giants Editor provides two means of designating no tip zones. The first of these is through the use of collisions built into the walls of objects. By applying the correct mask to the collision you can designate what can or cannot move through the wall. For example you could, if so inclined, create a collision that would stop a tractor in its tracks but would allow your freshly tipped grass to flow through to the other side of the shed. For the most part any decent silo or shed i3d will already have the mask set to the correct bit combination to produce the behavior we are expecting to see, if not the map maker will need to edit the mask to get the desired results. The second type of no tip zone comes in the form of a mask that is painted on to the maps surface in the same manner that nav-meshes are laid down to designate where animals can and cannot wander. This tip collision mask is the reason you cannot tip in certain areas such as the mall parking lot on GCV. To ensure that both of these methods are updated you need to run the Create Ground Collision Map script to generate a new map.i3d.colMap.grle file which is the engines means of knowing where it can and cannot dump. When you create a new save game a tipColMap.grle is created for that save based on the maps map.i3d.colMap.grle.

I fired up FS and created a new save after running Create Ground Collision Map script in GE. This created a new tipColMap.grle meaning that my map should now recognize that silage should not flow through walls or become stuck within said wall. I dumped a bit of chaff in the left bunker and a bit more in the right bunker. I then blanketed both heaps and advanced time to create silage. I was able to clear both bunkers with no silage stuck in the walls, though there was a bit that took a bit of coaxing to clear. Problem solved, right? Well, no, not quite. For the next step I dumped a bit of chaff in the left bunker against the wall shared with the right bunker. The menu while I was in the left bunker showed that 56K liters of chaff had been dumped and were at 0% compaction. I moved over to the right bunker and the menu showed that the right bunker contained 0 liters of chaff at zero percent compaction. So far all is well in the land of chaff and silage. Next, I restarted the save to clear both bunkers. This timed I dumped the chaff in the right bunker, noted that menu did indeed show that the bunker was 56K/0%, and proceeded to move over to the left bunker. The menu informed me that the left bunker, which had been 0/0 before I dumped chaff in the right bunker now contained 1100 liters of chaff though not a strand of chaff (is a piece of chaff still a strand) could be seen. To push the oddity a bit further down the rabbit hole as I drove deeper into the bunker the phantom chaff began to compact. This is not at all what I wanted to see. I reran the experiment several times, always with the same results. Dump in the left bunker no bleed though, dump in the right and bleed though to the left. It seems the worm hole we ripped in the space time fabric of Nagce Valley was a one way street. There were a few times that it seemed like the ghost silage had been exorcised, I’d dump some chaff in the right bunker and the left bunker would be clean, but as soon as I started compacting the chaff in the right bunker the ghost silage would spring forth in the left.

There’s too much confusion, I can’t get no relief…

In times like these, when the Giants Editors stops making sense I often ask myself ”What would Stevie do?” No seriously, when I can’t figure something out I’ll open one of his maps in GE and peek under the covers to see how he did it. I’ll peek under the covers of other maps as well but Stevie’s usually my go to. Fortunately Pine Cove used the same BGA bunkers as I was using on Nagce Valley. I looked at Stevie’s implementation and could not spot a single difference between the collision settings on his bunkers and those on mine. Next I fired up Pine Cove and ran the same test on Stevie’s map that I’d run on mine. His bunkers worked flawlessly, no bleed through at all. Another map that uses these bunkers is NLD Farmers Green River map. So I gave that map a try, the collision setting were the same and the bunkers on that map worked flawlessly as well, no phantom silage haunting the bunker. CCS101, a FSUK MVP who has helped me in the past, suggested lowering the collisionHeight value from 4 to 3 as well as deleting the tipColMap.grle to ensure that the game generated a new one based on the latest map.i3d.colMap.grle. Unfortunately neither suggestion solved my problem.

In the end nuke and pave looked to be my final option so I deleted my bunkers, downloaded them afresh to ensure I had the latest version and reimported them into my map. Short story, …same results. Taking the nuke and pave option a bit further down the road on bunker Armageddon I deleted the bunker system I had been using on Nagce Valley and imported the default bunkers from GCV. Initial testing has been positive, with no bleed through. Not wanting to leave well enough alone I found another set of open ended bunkers that to my eyes had a better look than the GCV bunkers and proceeded to shoe horn the GCV collisions into said better looking open ended bunkers. So far the initial testing has been going well though I suspect that there’s still some tweaking to be done. As much as I like the closed ended bunkers I’d originally been using the manner in which I’d placed them on the map created a large open area in the middle of the BGA yard that never felt right, and I think that the open ended bunkers I’m now using improve the look and flow of the yard. So despite a good deal of futile effort I’m happy with the way things turned out.

Just to be clear I do not think bunker prefab was in any way responsible for the phantom silage. Those bunkers worked flawlessly on the tow maps I inspected and I had several other modders let me know that they were using them without any issues as well. Clearly there was some flaw in my map, or my implementation of the bunkers, that led to these strange occurrences. I still have no idea what those flaws may have been, but I’ve put all that behind me now and rarely wake up screaming in the middle of the night

Export gremlins and shader.xml’s on the lamb

In my last post I touched on some of the potential pitfalls when it comes to exporting a map from GE in order to reduce file size. As I now understand it the process strips out any files not being used by the map01.i3d. In most cases this is what we want and divesting the map of unused assets, duplicate textures and other debris can lead to some very significant savings in file size. I understood that there were files that sit in the directory above the maps directory that needed to be added back in for the map to function. If these files are not present the map won’t even load. Since my map loaded and everything seemed to work I concluded that I’d done a good job and promptly moved on, no need to check the log file here. If I’d bothered to check the log file I’d surely have seen that my skills as an exported of maps were not quite as robust as I thought.

I believe I mentioned in an earlier post that ShyWizard has an excellent YouTube tutorial on reducing map file size. What I didn’t mention is that last time is that I only watched enough of that tutorial to be dangerous. The first part of the vid covers exporting your map and adding the files you need to get in running back in. The second part of the video, which I had neglected to watch earlier, does a very though job of showing the viewer how to run through the error log and correct all the issues that had been uncovered. With this new found knowledge in hand I quickly set about restoring wayward shader.xmls and corralling in all those dds files that had mysteriously wandered off to parts on known. For every 4 errors I squashed (there were 87 at one point) another one or two new ones would pop up but I was quickly machining my way down the list and an error free mod was just around the corner, until…the last two frakin errors!

As the log would have it, something, and the log was a bit vauge on exactly which something it was referring to, was looking for a pair of shader.xml files, not in the maps directory or the directory above where all good decent, God fearing, law abiding shader.xml files can be found, but in my mods folder! A quick text search of the map folder showed that the shaders were in fact safely within the confines of the map folder where they should be but had for some strange reason given the unnamed customer of these shader.xml files the wrong forwarding address.

I moved though the first 85 errors in about 20 minutes or so. These last two delinquents defied me for another 4 hours! I found several references to these shader.xmls in my map01.i3d but these all pointed to copies of the shader.xml’s that were just were they should be. Eventually, and it seemed like more than 4 hours, it dawned on me that there were other i3d files in addition to the map01.i3d, and that I had manually added these .i3d’s back in after the exporter has stripped them away.

There was one for the compost master and there were several for particle effects associated with said master of compost. The CompostMaster.i3d was clean but all of the effects .i3d’s contained file paths to the shader.xls that were pointing at a directory one level high than the one in which the shaders could actually be found. You see when I added these .i3d’s back in I added them to /NagceValley rather than /NagceValley/maps because /NagceValley is so much easier to find in the folder structure than /NagceValley/maps.

Now this is a perfectly legitimate move, or would have been if the .i3d’s formerly sitting in /NagceValley/maps which had previously been looking for their shaders in NagceValley/shaders weren’t now looking for their shaders in /oneFlightUpFromNagceValley/shader a location that didn’t exist and couldn’t have been reached even if it had. Once I figured out this little tid bit it was quite easy to point .i3d’s back in the right direction.

In the end though we were victorious the map size for Nagce Valley has been reduced to fewer than 800MB and the log is now error and warning free.

Burn out, Factorio, and multi player

It’s been nearly a month since the last time I posted on this blog and as much as I’d like to tell you it’s because I’ve been hard at work on the map that’s simply not the case. The truth is I got a bit burned out on the map and the blog and needed a break. Coincidentally this burn out coincided with the release of ver. 0.15 of Factorio. For those of you unfamiliar with the Factorio it’s a game about building factories, mining resources, researching new technologies and continually expanding and upgrading your assembly lines. The game is still in early access but exceeding well-polished and the devs are spot on when it comes to keeping the community informed about the games development. Other devs of games headed for early access would do well to look to the team at Factorio for a lesson in how it should be done (that’s right, looking at you CnC). Version 0.15 was a fairly major update so it seemed only fitting to jump in for a few weeks while I regrouped myself on building Nagce Valley.

The release of the Big Bud DLC turned my attention back towards Nagce Valley and I’ve made some good progress on the map since the DLC was released. For the most part this has centered around adding additional details to the map as well as testing, and I’m happy to report that so far the test team has found that the Big Bud equipment works very well on Nagce Valley. I did make a change to the layout of the storePoint trigger (where vehicles initially spawn after you buy them) based on feedback from the team as the original spawn area was a bit tight if you happened to buy the Bug Bud 747 and Seedhawk seeder at the same time.

Testing hit another milestone last weekend when we tested the map on an mp server for the first time. To help support the production of his videos on YouTube Iain Robson has a Patreon campaign of which I’m a patron. One of the rewards for patrons is accesses to Iain FS server as well as a patron only Discord channel. I’ve been chatting with Iain about the maps development on Discord and he offered the use of the sever for some mp testing with the patrons. Several of the patrons have been testing the map for me in SP and getting them to help with the mp testing was a win/win idea. As it’s a closed server and I’ve already developed friendships with the other patrons I’m not faced with some of the issues that might arise if I tried to test on a public server.

Though mp testing went pretty well it was not without incident. Incidents that could well have been avoided if I had not broken my own rule of always having the console open in GE. As Iain was uploading the map to the server he was barraged with warnings about invalid case on file names as well as a few Lua stack errors. I should have caught these before sending the beta to Iain and would have done so if I hadn’t closed out the console window in GE to make more room for moving around the map. Fortunately the map still loaded and were are all able to log on and play and we managed to get in an hour or two of play time before we hit the next problem. I was running a Big Bud 747 and Seedhawk air seeder on field 1 while a Iain and Spud were working at the BGA. Iain fed a load of straw into the Compost Master and got hit with some Lua call stack errors. The Compost Master functioned and produced compost but some of the particle animations were missing. In my post game analysis of the map I discovered that the folder containing the particle system for the compost master was missing.

While a map is actively in development its file size can grow quite large, Nagce Valley currently weighs in at 6GB. To get the map down to a manageable size the map needs to be exported from GE and the new files need to be zipped into an archive. Doing so reduces the file size from the afore mentioned 6GB down to a much more manageable 700MB. The got ya with the exporting process is that some of the files need to be moved manually and I apparently missed moving the particle system folder. Again something I should have caught before uploading the beta.

The home stretch?

When you’ve made it 90% down the path, you’re halfway to your destination – old Chinese saying

If you’d asked me a month ago I’d have told you that I was fairly confident that I’d have the map wrapped up by the end of April, first week in May by the latest. To be honest I might not have actually told you that but that’s what I was telling myself. Now I’m not so sure. I’m certainly in the home stretch, the map is functionally complete, and the to do list is down to four or five items, but I’m struggling to find the same drive to push though these last few steps that I had up though the last test release earlier in the month.

It’s not that uncommon for big projects to start derailing somewhat in the final stretch, we get distracted from the task at hand, we start second guessing work that’s already been completed, and we begin inventing reasons for not moving forward. I’ve seen it happen with work projects and it shouldn’t come as a surprise that that my for fun project of the last few months is suffering the same fate. In part there’s the ‘I’ve been at this for nearly 6 months now and I’m getting burnt out’ aspect of it all, but it’s not quite that simple. The nature of the work yet to be done is a factor. Planting virtual grass, weeds, and bushes is not the most exciting part of map making and if I didn’t feel that doing it well completes the immersiveness of the map it would be easy to shrug off what I already have as good enough. Oddly enough I don’t find other forms of detailing, adding trash cans, boxes, old equipment, etc. to be as monotonous. I think the reason is that this latter form of detailing is more localized. I’m detailing an equipment shed or I’m detailing a sell point while the grass and weeds tend to feel more like I’m detailing the entire map.

Another barrier to driving the map to completion, one which is likely tied to the fact that I’m not always engaged in the detailing mentioned above, is the temptation to rip up work previously done. In the last week I’ve completely redone the vehicle sales point as well as some major changes to the cow / sheep yard. While I do feel that these changes make for a better map they are yet another reason why my end date seems to be slipping away


Big Bud DLC

I’m not particularly excited about the tractors themselves; however I think the equipment that’s been promised with the DLC will be very well suited to this map. I’d hoped to have Nagce Valley released by the time that the Big Bud DLC drops on May 9th, but that’s probably not feasible given the work and testing yet to be done. My release woes aside there is an interesting thread that’s been started on the PC-SG forum that gives me some additional perspective of where Nagce Valley might rank comparison to other maps when it comes to supporting the upcoming DLC. Farmer Klein is planning a project for his YouTube channel in which he will be reviewing a number of maps that are Big Bud ready. To narrow the selection of maps down to a manageable number he’s created a spreadsheet that ranks the maps according to average field size, size of the largest field, size of the smallest field, and number of fields over 15ha, which is about the minimum size for running the largest equipment in the DLC. As Nagce Valley has yet to be released I did not submit it to Farmer Klein for consideration as part of his project but I did download his spreadsheet and informally added Nagce Valley to the mix. I was pleasantly surprised to see that Nagce Valley would fall mid pack in the ten maps Farmer Klein will be looking at particularly when you consider that most of these other maps are 4X while Nagce Valley is a standard sized map.

Farmer Klein’s YouTube channel

Cold case

It looks like the Curious Case of the Unruly NPC Farmer’s destined for the cold case files. As a quick recap the mystery to be solved was discovering why the NPC farmers on my map had begun planting oilseed radish and poplar which are crops that they should not be planting. The initial investigation looked promising but at this point I’m not convinced it’s fixable, nor is it a game breaking issue, so I decided to set this aside and move on. I’ve been in touch with several map makers and the general consensus was “yeah, we’ve seen it too, but its only missions, not a big deal”.

While the new mission system seemed like a promising idea I soon found missions to be an overly simplistic and typically boring element of game play. This seems to be borne out by a poll I did on PS-SG and some discussions I had with fellow FS17 gamers on a Discord that I’m a member of. Generally the gamers in both groups reported they either didn’t bother with missions any more or just ran a few early game to build up some capital. So this basically left me with two options, release the map with missions enabled but flawed, or release the map with missions disabled.

There are pro’s and con’s to each option. Disabling the mission system would certainly nullify the NPC’s ability to plant crops they shouldn’t be planting and it could be done in such a way that the field would still be owned by the NPC, meaning that the player would still need to purchase the field before it could be worked. Another pro to not enabling missions is that it allows for the creation of more organically shaped (read not square) fields. Though Nagce Valley has its fair share of non-square fields the constraints of the field dimensioning system required for mission’s means you can only get just so creative before you hit the engines limits. Dispensing with missions altogether allows for an unconstrained hand in laying down field shapes, an example of which is Stevie’s Cherry Hills for Alan. It’s somewhat late in the game to be redesigning fields on Nagce Valley though if I do another map I may consider dispensing with missions for just this reason.

The first con to disabling missions that comes to mind is that many players expect them to be there, at least, as previously mentioned, as an early game source of revenue. Keeping missions in game also provide the player a means of reducing the cost of the field prior to purchase. Another pro for keeping missions that’s applicable even for players who choose not to run missions is that they give the map a more dynamic field. Neighboring NPC fields that cycle though the growth stages eventually being replaced by another crop adds a life to the map that empty fields do not. The only negative I can see to keeping the missions enabled is finding a way to communicate to the player the nature of the flaw on this map and how to work around it.

Unless something changes over the next few weeks Nagce Valley will be released with missions enabled if sometimes unplayable. The player will own at least one of the maps three grass fields and the starting equipment will be sufficient to get a nice grass/silage operation up and running to generate cash for those who chose to forgo contract work. For those who chose to run missions they will do so with the knowledge that given average field size on this map missions may prove to be quite lengthy in scope and that on occasion missions on some fields will not be available.

For those who are still interested in the investigation feel free to read on.


The why is most likely connected to the implementation of additional crops through the additionalMapTypes.lua. Initially I believed the errant behavior of the NPC farmers and their complete disregard for the useForFieldJob attribute was unique to may map but after conversing with several other map modders on FSUK and AEM I now believe that this behavior can affect any map in which more than two additional crop types have been added using the addtionalMapTypes.lua.

With the why likely answered it was time to dig into the how to fix part of the problem. The simple solution would be to either pull out the additional crops I added to the map or to reduce the number of additional crops from 5 to 2 (neither of which is going to happen). By default there are enough empty slots in the foliage SubLayers index system to add 2 additional crops. Adding more than two crops requires modifying the densityMapChannelOffset and the numDensityMapChannels attributes of the foliageSubLayer. I’m guessing that modifying these attributes somehow throws off the indexing system the game uses to identify which crops the NPC can plant and which crops it should not plant.

I’m guessing as the mission system is not particularly well documented by Giants and the FruitUtil table that I believe is associated with missions is not visible without using the debug utility to recursively print tables that reside within g_currentMissions. Though Giants has made recursively printing tables a bit easier than it was in the past I was unable to find any documentation on g_currentMissions and how to view any information that is contained within that table. Fortunately akuenzi over on the FSUK forum provided me with a very helpful tutorial on how to access these tables. Rather than post the how to here within the blog I’ll create a tutorial page on this site and add the information there. I’ll try to get that page up in the next week or two  

The results of dumping that FruitUtil table were encouraging and I thought we were on the right track.

The table is a summarization of information pulled from several sources. The Fruit Type, FruitUtilIndex, and useForFieldJob fields were pulled from the FruitUtil table after I had dumped it to the console. The densityMapTypeIndex was pulled from the foiliageSublayer section of the map01.i3d. The last two fields, NPC should be able to plant and NPC can plant on Nagce Valley are the observable data of what should be happening on my map and what was actually happening.

The first item of interest is the useForFieldJob attribute which I believe tells the game which crops the NPC can plant and which ones it cannot pant. The same attribute is used to determine which NPC owned fields the NPC can run missions on and which ones it cannot so I makes sense that it would be used to determine crop type availability as well. The problem with this line of reasoning is that the table clearly shows the attribute is marked as false for oilseed radish, poplar, grass, and dry grass meaning that the NPC should not be able to plant the crops, which is not what I’m actually seeing in game.  

The second item of interest is the mismatch in index numbers between the FruitTypeIndex and densityMapTypeIndex. I reasoned that if the game matches the useForFieldJob to an index rather than the fruit type by name (which is quite likely) than a mismatch between the two indices could result in the NPC planting crops that is should not be planting and not planting crops that it should. Disregarding the fruit type name for a moment we can see that the NPC should not be planting index 9, 10, 11, or 12.

If we add in the densityMapTypeIndex we can see that 9 and 10 now assume a useForFieldJob value of TRUE. If the index values from the densityMapTypeIndex rather than the FruitUtil index this would allow the NPC to plant oilseed radish and poplar (Grass would still be prohibited but there’s been some discrepancy between sources as to whether or not grass was part of the problem).

It seemed like I was on to a good lead. To validate the assumption I compared my table to the same data fields pulled from Stevie’s Pine Cove. I chose Pine Cove because that map implements the same additional crops as Nagce Valley and as far as I knew the NPC issue was not affecting Pine Cove. This only led to more confusion as Pine Cove had nearly the same index mismatches as Nagce Valley. Through additional testing and some communication with Stevie I discovered that the issue does in fact affect Pine Cove as well.

I thought that reordering the densityMapTypeIndex so that the indices for oilseed radish and poplar matched the FruitUtil index for those crop might be a possible solution (I was unwilling to mess with grass as that would have impacted quite a lot of work that had already been done on the map). Unfortunately this was not the case and the NPC continued to plant oilseed radish and poplar.

And that’s as far as the investigation went.

An update at last!

My apologies for not having updates the blog in awhile but as you all know real life can sometimes get in the way and the free time I’ve had has been spent working on the map. The map is mostly feature complete and the last week or so has been focused on adding detail to the map and chasing down bugs, neither of which makes for an exciting blog, but at this point it's what I’ve got to work with so let's see how it goes.

Adding detail, grasses, weeds, signage, used equipment, and decorations such as mailboxes, trash cans, and cardboard boxes, is tedious work but brings a level of immersiveness to the map that I feel is well worth the time and effort involved. It's not a step all map makers take but it's one that I feel separates maps such as Coldborough Park, Rattlesnake Valley and Sandy Bay from the ones which are quickly forgotten. Fortunately as I just mentioned there are modders such as BulletBill83, Somethingonmyshoe, and Oxygendavid whose work I can look too as a standard to strive for even if I fear in the end I may fall short of their mark. If you’d like to see the detailing process in action than i recommend checking out the OldGuy Farmer YouTube channel. Jerry’s done few map making vids and its his attention to detail that keeps me coming back to see what he’s working on. His latest project, Mountain Valley Farm may be small but it's packed with detail.

A barn on the Nagce Valley before detail was added

A barn on the Nagce Valley before detail was added

The same barn after adding some detail

The same barn after adding some detail

Detail added to the farms workshop. As a nod to Jerry I got the idea to use this building as a workshop from one of his videos. I already had the asset on my map but had been using another building as the workshop. When I saw Jerry's video I thought 'damn, that's how you do it'. While I've strived to create a different look and feel the idea came from seeing him do it first.

Detail added to the farms workshop. As a nod to Jerry I got the idea to use this building as a workshop from one of his videos. I already had the asset on my map but had been using another building as the workshop. When I saw Jerry's video I thought 'damn, that's how you do it'. While I've strived to create a different look and feel the idea came from seeing him do it first.

As I mentioned in my last post the mod testing team over at PC-SG has been helping me test the map and I got my first feedback report last week. Most of it was stuff I expected, ground in need of smoothing, particle animations where they don’t belong and building textures going black when viewed from a certain angle. Thankfully this is all stuff that easily fixable. There was one bug on the list that took us all by surprise and which none of us have seen happen on another map.

When we run a mission on an NPC field we expect to see wheat, canola, and barley, and if the map is so enabled crops such as oats or millet as well. We do not expect to see that the NPC farmer decided to plant grass, poplar or oilseed radish, but this is exactly what we found happening on Nagce Valley. Big Matt, one of the PC-SG test team reported that he had run a harvest mission only to have the NPC farmer replant the field with grass. After running a harvest mission on another field the NPC farmer planted poplar. The true slap in the face about the NPC’s crop choice is that you will never be able to harvest either crop. In Big Matt's words

"...fields 2 and 7 grew grass and poplar after initial harvest but after trying to get a mission from both of those fields several times with nothing offered the fields reset to an empty field and the crop/grass vanished and offered a seeding mission. New occurrence for me."

I was able to duplicate Big Matt’s observations by using the fastForward mod to advance time far enough ahead that the NPC started replanting their fields, sure enough poplar, grass, and oilseed radish soon appeared along with the other crops the NPC should be planting

Poplar on field 2. WTF?

Poplar on field 2. WTF?

I was able to run a fert mission

I was able to run a fert mission

But once it came to to harvest, no deal!

But once it came to to harvest, no deal!

More on The Curious Case of the Unruly NPC Farmer to follow.