Sugarmill – City builder – Dev Log 3: Mar 10th: Steam Greenlight!

Hi!

My last dev log was post Jan 8. So it’s been a month or so. I would like to start by saying I’m finishing week 8 now. With 12 more weeks to go and the schedule has suffered a few changes. Like always added more programming time, despite the protest of my wife. She insists I spend more time doing art/graphics. It’s hard to balance where I want to spend my time as in order to achieve the best result for my game!Initially I only had 6 weeks for programming only and I extended to 8 weeks.

The most challenging thing I have encountered in the last month for sure has been the performance in the game. Can’t seem to get it over 300 people without suffering the FPS. I’m trying to generate the least amount of garbage as possible and been working on that a lot. Thanks to the creator of Manor Lord he has answered many of my questions in regards with Unity Skinned Meshes that are a challenge on their own. In this kind of game you will have many of them at the same time on screen. Rerouting if new buildings are added or removed. Having kids, eating, being happy or depressed. Anyways, they do have a lot going on. The Person class has over 600 LOC and contains many classes itself. The Body and Brain classes are contained in Person. Brain alone has over 1000 LOC it’s by far the most complex piece of code I have ever written. In Unity you only have one threat to deal with which is the void Update() so you cannot do to many things on it otherwise will kill you FPS.

For example if you run on every frame a for loop with 1000 elements in 100 objects that will destroy your FPS therefore you have to start to do things more asynchronous. I start a loop and I expect it finishes a few seconds later. So I have to catch it on time and in the proper way. It’s being a rocky journey this with asynchronous calls.

Announcement:

The most important thing I want to mention today is that the Steam Greenlight Date is set to Mar 10th 2016. Really thrilled and happy to announce this, as this game has been in development since Summer 2014. (Mark it in your calendar)

The Greenlight concept page has been active, it was in the first 6 positions for the first week. So I’m really happy and please about that.

Check out this video that shows the Ships routing towards a new Dock:

New game features in the last four weeks:

Port Reputation: I worked on this for over 4 hours. Basically if you have business in your port more ships will come to it. You have 4 different structures that will affect that, Lighthouse, Dock, DryDock, Supplier.

The Lighthouse gives reputation to your port by shining the light to ships as they go by, should a ship be depleted of resources they will change course and go to your port to replenish supplies. In order for your light house to work effectively, it must have wood and coal to burn and at least one worker.

In the Dock you can add both Import and Export orders. If a ships comes and is able to do both imports and export orders it will add points, if the ship is only able to take one (either import or export ) it will not add anything, if its not able to take neither then it will remove port reputation.

The structures DryDock and Supplier affect the port reputation in the same manner. If there are items to sell it will increase the port reputation, otherwise it decreses it.

    /// <summary>
    /// What will be added to Port reputation for each ship 
    /// </summary>
    /// <returns></returns>
    float Survey()
    {
        float impo = -0.1f;
        float expo = -0.1f;

        if (_didDockImport)
        {
            impo *= -1;
        }
        if (_didDockExport)
        {
            expo *= -1;
        }

        if (Building().HType == H.DryDock || Building().HType == H.Supplier)
        {
            return expo*2;
        }
        if (Building().HType == H.Dock)
        {
            return expo + impo;
        }
        return 0f;
    }

Pirates Threat: If goes above 90 you lose the game. To keep it down you have 4 military buildings that must have soldiers to be effective. The buildings are: GuardPost, Tower, Fort, Morro. Once you build a Morro you will keep pirates out of your mind, however building a Morro is not an easy task.

The Visual Studio Project is still growing so far 21397 LOC. The project weight in the hard disk is 1.8GB and the Standalone windows built 32 bit of the game with only couple of maps is 560MB I have not worried much about disk space since PC and Consoles this days have plenty of it. Instead I have focused on the game performance and functionalities of it.

Here are wireframe of how a person model has suffered to until it came down to 120 polygons 100 vertexes and only 24 bones, at expense of visual quality has come but I always want it the game to fill as smooth as possible.

1st model

2nd model

3rd model

4th and last model so far

Must say the Unity Profiler at times is really slow and frustrating but overall it’s really good showing where the pikes on CPU usage or Garbage Collection generation is. Want to say thanks to the Unity team on that one.

Definitely want to mention that there were two articles that were recently written about the game. Pirates Ahoy did an amazing article on the game and Simcitycoon as well.

This week I started testing the game overnight. So I have reached over 650 years with 200 people without a bug. Yesterday was not the case. Got a silly bug in where people where running out of Dummy objects. And got a Unity Output log of 4GB

Considering all the above, please if you like the game and you support it please (mark it in your calendar) and help spread the word. SugarMill is coming to Greenlight Mar 10th 2016 so during your busy day you can remember to find a spot in and vote the game on Greenlight. Thanks for reading indie mates. Have an awesome weekend and for those who believe in it, Happy Valentine day too! Cheers!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s