SugarMill : Release Date : Dec 17th 2016

Hi folks

First of all I want to say thank you to all the fan base of SugarMill. The only purpose of a creator is to delight and please its public. About a month ago I finished my college education and now I am going to focus full time in SugarMill development again. I have 14 weeks to work full time and I have used up the first one already. Regardless I am really pumped and excited about it, especially seeing the way players are expecting the game and asking about it.

Also want to thank all the players that have volunteered or somehow accepted to participate on the Beta test on Steam. Thanks all.

Steam Release:

Finally guys we got a date down. Mark it on you Calendar : Saturday December 17th 2016 is the date the game will be available on Steam. Really excited about it. The game at the moment is really solid and works well. Certainly the input of many users around the world, will help to make it better. I started working on this project Nov 2nd 2014, so at publishing date it will have surpass the 2 years mark of development.

Youtubers and Game press:

I have had a few Youtubers and review websites that have reached out to me, and the list will be too long to mention all of them. But I want to say thanks to all of you.

Incorporate or not?

For the longest time I was undecided on whether to go ahead and do this or not. Steam does not really care if you are incorporated or not but other companies do. So after some paperwork and few fees, the company is now incorporated, the name of the corporation is Aatlantis Code Inc.

What is coming to SugarMill:

A few new important features are coming into the game. They will be available on the final release only. I am not able to disclose them because they will be a surprise.

Music:

I’m delighted to announce that finally, closed a contract with Joshua Snethlage. The best and most talented musician I have encountered in this 5 years of making indie games. By chance I was in a park near my place and met him. Then fell in love with his music. His is going to be producing 60 minutes of music, exclusively tailored for SugarMill. He also will take care of all sound effects as well.

Other platform:

SugarMill is coming to PC, Linux and OS on Steam. We are also evaluating the idea of publishing in other platforms.

The Visual Studio Project:

By surprise I found that we are now sitting at 26,500 lines of code. It’s unbelievable to me. Can’t believe how this project has grown over time. At this pace I have written more than 2,000 lines of code monthly but again, I had times in where the activity on the project was minimum or none.

Schedule:

The things I will cover in this 14 weeks are:

  • Art (Animations, 3d Models)
  • Terrain
  • GUI
  • Game Services (Logs, Feedback, Bug report)
  • Kill minor bugs
  • Performance
  • Languages
  • Steam Integration (Achievements, Cards)
  • Launch

So I have scheduled this way:

Seven weeks of programming, five weeks of art and the final two weeks will be only dedicated to the launch of the game.

Wrap up:

To conclude, now I am into polishing the game overall, and making a few additions to the current content so the SugarMillers around the planet enjoy the experience throughout.

The most important thing is that SugarMill is coming to Steam Saturday December 17th 2016.

Advertisements

SugarMill : Dev Log 8 : 20 weeks

Hi everyone

Roughly 20 weeks ago I announced I began working on SugarMill full time. Here I am 20 weeks later with the game pretty much done. Have been working with a lot of stuff and this is a short summary of the things I addressed:

  • Performance
  • Bug Correction
  • New Art
  • Greenlight Campaing
  • New Routing System
  • Trading System
  • Ships

Past Fears

The things I feared the most was the performance of the game. I initially wanted to put 10 000 citizens in the game, each with their daily routines, works, schedules, church time, relax time etc. But I ended up making a test with 1000 that was inconclusive and then 500. The game can accommodate 500 citizens at 60FPS HD no problem in my PC. My PC is 3 years old, hopefully majority of people can play it at 60FPS.

I could certainly keep working on performance and stretch it to 1000 and maybe into 1500. However time is something we don’t control, and its gone now. I spent 3 weeks improving performance of the game and learned alot.

Slowly understood that I only had 16.66 ms for each frame to target the 60 FPS, it was a learning curve that I am more than happy to explain. Understanding the Unity Profiler completely took me for a ride also. I have to say that is awesome and does help a lot. Thanks to the Unity Team one more time for their awesome job.

Professions:

At the moment the game has 9 different professions. They all inherit from a base class that is Profession.cs and they all work alike.

Builder:

The builders ask to BuilderManager.cs if there is something to build. BuilderManager will give something that already has been greenlit by the game. This means that all the resources are available and all citizens check their routes and updated them consequently if needed. This is to avoid citizens walking inside buildings and so on. Once BuilderManager give a string:MyId they will look up the building in Registro.cs and will route there. They work in a building called Masonry.

WheelBarrower:

They are really like the Builders, the only difference is that they ask class Dispatch.cs what is up so they can work. Dispatch will return to them an object of the type Order, and Order is composed of an OriginKey and DestinyKey, an amount and a product. Then they can route there, pick the object go back and drop it at the Destiny. I must say that wheelbarrowers can carry up to 4 times what a normal worker does and they do use their wheelbarrows. Once you run out of them you need to produce more wheelbarrows at the Carpentry, otherwise they will not carry as much.

Farmer:

This class is really simple as it doesn’t need to do any routing since the farming work is done within the boundaries of the farm. Once they are in there they create a random route inside the farm. Once they are in the last point they play the ‘isHoe’ animation and spawn a hoe too.

FisherMan, SaltMiner:

This class is really the same as a farmer. They work exactly in the same way.

Forester:

By far the profession I have spent more time in. As each tree is in a different place and they have to replant the trees, its quite fun being the forester. At the moment it’s working perfectly. Foresters in SugarMill are really important as the wood is a basic need for everything in the game.

Homer:

Really complicated class. As all classes drop their produced items in the storage what brings they back to Home is the Homer.cs object. Every call from the profession objects is done in a different way.

Insider:

The easiest class by far. This class is for all the professions that work inside a building such as an Foundry worker, Teacher, Carpenter, etc. It is as simple as let the time run a bit while the citizen is inside the building and before leaving produce the good based in various factors.

Routes Cache

Really important caching expensive computed objects. TheRoute.cs is the object I finalize each route and they do have a few properties but the more important are the CheckPoints. Each CheckPoint has a few attributes:

public class CheckPoint
{
    private Vector3 _point;
    private Quaternion _quaterniRotation;//this is the rotation needed to be in the exact good position
    private Quaternion _quaterniRotationInv;
    private bool _inverseWasSet;
    private float _speed = 1f;

    public Vector3 Point
    {
        get { return _point; }
        set { _point = value; }
    }

    public Quaternion QuaterniRotation
    {
        get { return _quaterniRotation; }
        set { _quaterniRotation = value; }
    }

    public Quaternion QuaterniRotationInv
    {
        get { return _quaterniRotationInv; }
        set { _quaterniRotationInv = value; }
    }

    public bool InverseWasSet
    {
        get { return _inverseWasSet; }
        set { _inverseWasSet = value; }
    }

The position is the world-position of the Point, the QuaternionRotation is the rotation of the person and the QuaternionRotationInv is for the return trip through the same route. InverseWasSet marks if the inverse rotation is being defined or not.

At the moment the Project is scoring 24 000 LOC. I have being working on this for so long that I can’t remember how I started.

The progress of the game through the last 1.5 Years

Date: April ‎14, ‎2015

Date: ‎October ‎5, ‎2015

Date: Mar 12, 2016

What I wanted to get done and couldn’t

I did want to have it on Early Access on May 5th. However I want to make sure the game is playable and as bug free as possible for the that. I prefer to have it completely bug free when release on Early Access and that’s my personal goal.

The art might still need a lot of work, most likely the game will be missing a lot a features but I want to make sure that all bugs I know off or can detect will be corrected.

The good

I have learned a lot about Unity and C# I could say I know more now that when I started and I still have so much to learn. However if you are reading this and think you want to become an indie developer go for it. I would recommend to start with a simple project so you can learn the basics of the Engine and some programming as well, the most important thing is that at the end you publish your game somewhere.

Once more thanks all. I was astonished when saw it took less than 2 weeks to pass Greenlight. Thanks seriously all.

SugarMill is heading to Early Access sooner than later. Keep the tune.

Thanks for reading and have an awesome week!

Happy mothers day!

Sugarmill : Dev Log 7

Hi everyone

First thing: SUGARMILL IS GREENLIT!!! I’m really pumped, excited and happy about it. I’m overwhelmed with the worldwide support and enthusiasm about the game. The trailer and gameplay of the game has been featured or published in over 10 different Youtubers and more are coming.

In the near future I will announce the date that SugarMill will become available on Steam Early Access.

This week on Thursday while I was working, checked my email during my lunch break and found the email I was hoping for! The email from Valve saying the game was Greenlit!

I want to take the opportunity to express my thanks to all the people that helped me. All around the world. I got a chance to talk to people from all over and actually made some friends during these past two weeks.

In the future, look for a post that I am planning on publishing about ‘How to get Greenlit in less than 2 weeks!’.

This week I worked on quite a few things for the game. Basically polishing bugs, also created a tool that helps align the buildings and the road system is now perfect. Each different tile is a ‘SmartTile’ and its looks for changes around him. If something changes the tile will change also!

Code Snip of the SmartTile:

    private bool beAlert;
    private void CheckIfNewRoadIsBuilt()
    {
        if (BuildingPot.Control.CurrentSpawnBuild != null && BuildingPot.Control.CurrentSpawnBuild.HType==H.Road)
        {
            beAlert = true;
        }

        if (beAlert && BuildingPot.Control.CurrentSpawnBuild == null)
        {
            beAlert=false;
            //so updates material    
            DetermineTileImAndAssignSharedMat();
            SaveTile();
        }
    }

Also want to mention that SugarMill made it into the IndieDB Steam Collection of games.

I can’t imagine make a game like this without Unity! Below you can see how the main animator looks like now. Each person has one of this attached.

Thanks for reading

Sugarmill – City builder – Dev Log 6: What is unique about SugarMill?

First thing I would like to announce SugarMill is now on Greenlight so you can cast your vote!

What is unique about SugarMill?

Real Life Measurements:

All measurements in the game are as real as possible. All KG or Lbs occupies a volume. A 100Kg of gold will occupy less volume that a 100KG of wood as the gold is more dense than wood. Formula: Volume = Mass / Density.

Storages:

All buildings that have and use storage will measure how full they are as the volume in the storages fills up. In 1cubic meter you can fit 1000Kg of gunpowder but only 100Kg of wood.

Housing:

There are 3 different types of houses in SugarMill, bohios(shacks), wooden houses and brick houses. The houses will affect the happiness and the amount of kids a couple will have. In a bohio a couple will always be unhappy and will have a small chance of having a maximum of 1-2 kids as this places are really damp and cold at night. In the Caribbean latitude, it rains a lot and at night time gets very cold. Bohios will be easy to build, you roughly will need 100Kg of palm leaf and 200Kg of wood to build it, on the other hand building a brick house will be much more difficult, roughly you will need 5000Kg of brick, 500Kg of wood, clay, roof tiles, and some stone. However, on a brick house families will be happy, and will have a good chance on having a maximum of 1-3 kids.

Units:

A unit in game will be real. Unit used to each product is weight. For example if you want to build a fort to decrease the ‘Pirate Threat’ you will need a roughly 20,000Kg of Stone. Also in game you could change from Metric to Imperial units.

Pirate Threat:

It was hard to be away in the Caribbean and have a thriving village at the same time those days. Therefore as you village gains name with the ‘Port Reputation’ and as your gold, silver and diamond reserves increase the pirates will pay closer attention to your town. If the ‘Pirate Threat’ indicator goes over a certain score depending on game difficulty you will die and therefore lose the game.

Port Reputation:

As your settlement is fairly new and no one knows about it, you get little to no attention from the ships and convoys that pass around you. With a Port Reputation of zero roughly your port will get a new ship every 10 years. Increasing the port reputation is going to be one of the challenges of the game as you keep your people happy and economy stable.

You can increase the port reputation in many ways: Emigrants, Lighthouses, Book Routes, Maps, Dock, Supplier and in the Shipyard.

Emigrants:

People whom are not happy in your town for a certain amount of time will emigrate from your town. The bad thing, they won’t work in your town anymore, they won’t have kids and so on. But the one good thing about it is each year they live overseas, they will increase just a bit the ‘Port Reputation’ as long they are alive they will always do so.

Supplier:

There are 3 buildings that interact with ships. As ships pass by your port they may need supplies for their trip, regardless if they are going into deeper into America or going back to Europe. They will always will need things like, fresh fruits, meats, water, and always needed Caribbean rum. As ships dock in at these buildings they will give good feedback or bad as a consequence of what they traded at this building.

Shipyard:

Piracy was really big those days, hurricanes, tropical storms and strong winds could happen at any time. Hence it is logical to stop by and get parts of their ships repaired, replacing a mastil or repairing it. Getting new sails, strings and even ammunitions, gunpowder, cannon parts, weapons and many others. As the village governor you must manage to produce or import these goods so ships are able to get a decent repair done in your shipyard.

Dock:

Here you will be able to import and export any good. Ships that are coming by could be able to take or not your whole orders, smaller ships will have smaller storage rooms and bigger ships might take it all.

Money:

All trading in the game will be paid in the crown currency. Silver, and gold coins. You will need have a positive balance to keep the game going. As you need to pay your workers. If the money balance of the game goes below zero over certain amount of time you will lose the game. You can make money exporting goods that you produce or you might find trade loops, where you can import some goods and resell them. In the ‘Supplier’ and ‘Shipyard’ you will get paid for all goods and workmanship taken by the ships. Furthermore you can build a ‘Coinstamp’ building.

Coinstamp:

I won’t recommend importing silver and gold, as it is expensive and calls the attention the Pirates attention to your town. However if you have enough mines and have already some gold and silver in storage you could make coins, the game currency which will be added directly to your account. A ‘Coinstamp’ building will increase the pirates attention to your town.

Military:

You can build military buildings to diminish the ‘Pirates Threat’. Post Guard, Fort and Morro. They all have the same functionality in some way. However, if you can build a Morro you will most likely banish the Pirate Threat. In the process you could lose the game as ‘Pirates Threat’ increase dramatically when you start the building of one. Building a Morro takes a long time and a lot of resources as well. You need to have a really strong economy and military support to do so.

Products and Items:

At the moment there is more than 40 different products in the game. Each one has its own specifications: density, price, productivity and pirate attention factor. As the amount of silver or diamonds in your storages increases this will dramatically increase the ‘Pirate Threat’.

Food and Nutrition:

There is over 20 different product classified as food. Each ones have its own nutrition value.

People:

Each person has their own schedule, home, work, church, etc. They will work and produce depending on their age, years of school and happiness at work time. Each person will have a different speed in the game, a small variance that makes the game more realistic. This will change eventually and randomly. People that are well fed tend to walk faster. People will wait until majority of age to move out of their home, if they can’t that will add unhappiness.

GUI:

GUI design is minimalistic and still a work in progress. On the left side of the screen it displays the resources you have in storage obviously at the volume higher than zero. If it does not show then you do not have any # of units for that type of product.

Wheelbarrows:

Wheel Barrowers will need wheelbarrows to allow them carry the products. If wheel barrowers don’t have the wheelbarrows then they will carry 3 times less. You can produce wheelbarrows at the Carpentry.

Each house will be slightly different as there are many models and each can have different combinations of materials, the decorations around each building are completely random and unique.

I would like to conclude by saying that mainly all the things that are in game now will stay for the final release, some may be removed and other things may be added as the development process sometimes is a bit hard and unpredictable. The challenge I’m facing now is mainly with the performance of the game. I have to change drastically many things regarding that. I have only 7 weeks to do so and many other things LOL.

Want to give my infinite thanks to the GameDev Show and Test Facebook group (https://www.facebook.com/groups/1062299557132732/1210893115606708/?notif_t=like) as they helped me so much in the polishing of the game to get ready for Greenlight.

Thanks for reading