Dev Log 10

Hi all.

The first 6 weeks of full dev are gone and I only have 8 weeks left to publish the game on Steam. Plus I will spend the last two weeks only working on the Launch, so basically it leaves me only with 6 weeks of full development.

When I think about that it gives me a mix of emotions. I feel excited and so many different things.

Launch Date:

So Steam does not support weekend sales. So if you planning on doing that, change your mind and find a week day. I decided then the game is coming Thursday Dec 15th.

First findings on the Beta Testing:

I want to thank all the Beta Testers, you guys are helping me a lot finding the issues in the game. I am really grateful for all your invaluable help.

I few things have being detected by the very few first beta players. First thing is that the game need some more documentation and help. I added a mini helper explaining how to assign workers to buildings and many other stuff. I also explained a few concepts of the game.

Size of the project:

I am not proud of it but is growing. Trying to code as lean as possible but at the same time need to get the things done in a day. Today for example I have 15 points to finish. I will say most of them were light that’s why I put so many. In an usual day I find myself doing anywhere between 6-8 points. My pass teacher of project management told me that 6 points a day is a good number. He actually told me too that you could split them in 3 for the morning and 3 for the afternoon. He also mentioned that we need rest, exercise and get some distraction too. This last weekend for the first time I rested for 2 days in a row. I was impressed how quick my mind was working this Monday. Anyways, I will say whenever you can rest more than a day a week, is totally worth it. I am the person that was working 7 days a week but is unproductive.

The project is huge and keeps growing. Actually I will advice keep an eye on your Unity project and don’t let it grow infinitely. Yesterday I added 300MB worth of assets. Unity got so stuck that would not even build the .EXE file. I restarted the computer and tried many different things. The only thing that work was to undo the new things added.

The project is has now 28300 LOC, weights 5.24GB, and has 51,500 files. I could clean up a bit, but that takes time and effort something indie developers don’t have at all.

Discipline:

If you want to be an entrepreneur you need to have some self discipline. You need to have a schedule and go by it. Do not be too hard. Do not be so soft. Be realistic and set your points of the day with the best judgment.

I was naming the folders of every new build ‘10.01’ for Oct 1st for example. However that brought a bug that took me an 1 hour to find. The problem was that I was splitting an absolute path base in dots. So I was making an array based in the dots. Once a new dot was in the path it broke. So in the future either do not talk to absolute path or be very specific for the way you name your files.

Visual Basic Scripts:

I read in a older article things you could do to make your life easier as a indie game developer. One was of automating everything you could around you and that is what I did. I have a few VBs scripts that I run to help me. I soon as I start my PC I run one that open all the softwares I need to work. Have another one that copy the .zip files to my Back Up hard disk. The most important one prepares every new build. That one copies all the files needed so the game runs smoothly every time is open. So I don’t have to copy files manually, the script will never forget one.

Ever since I change the naming convention of my builds I was not able to play the older builds. I needed to run the build from the day before and I could not do it and pissed me off. Then I created a point today to get it done with, because as a developer you want to be able to go back and see how your builds work like in previous versions.

New Logo:

The game is showing a new logotype. I ended up changing it after so much thoughts. In the end I like the new one better. With the new logo there are a few elements in representation of the main aspects of the game.

The diamond shapes on the ‘g’ and ‘a’, and the ones underneath the ‘M’ and the ‘i’ represent sugar crystals. In the last two ‘ll’ also you can see some addition of this in the top. Representing two chimneys that are linked to the Sugar production also. In the middle of the words ‘Sugar’ and ‘Mill’ there is a piece of a dented wheel, representing various things. The first represents how important the dented wheel was at that time, also representing the bridge that the Sugar industry created between the New World(Americas) and the Old World(Europe). The dot with the cross in the ‘i’ is representing the power and presence of the Catholic church on the conquer and colonization of the new world.

The new logo brings a new and renewed image to the game and also is more representative of the game. Is indeed more clean and easy to identify. As consequence I also have updated my Press Release Kit with the new Logo.

Project History:

I want to clarify that I am have been working on the game for nearly two years but it has not been in full time development for two years. I just finished my College degree this past August, a three year program at my community College, and three weeks later resumed working on the game full time again. I started the project somewhere in November 2014 but I have being working full time on the project only for 46 weeks now.

As a piece of advice never start with a big project like this one. If you are starting a new project and it’s your first, make sure that its small, doable and that at the end you can publish it somewhere. I can’t stress that enough. Because a game half done in your computer never exists beyond you, and the people that you showed to. If you are able to publish it, you will feel better about it and also feel accomplished.

New art:

Finally found an awesome 3d artist, and from now on he will be taking care of the game’s art. His name is Ronny Perez and he works in 3dsMax, Maya and other 3d tools. At the time he is only working with Maya. He is incredible efficient when it comes to polygons and vertices. All this models below are well under 5000 polygons.

There is some new art to the game. Here is a peak:

Bricks Factory:

In this building ,with clay, water and combustion element, such as wood or coal you will be able to output: bricks, roof tiles, floor tiles. This is a really important building as you will need a lot of bricks to create many structures.

Carpentry:

Here with wood and iron you will be able to produce: tools, wheelbarrows, crates, buckets and barrels. Extremely important building. When you play the game you will learn why.

Lumber:

Here the Sugarmillers gather and cut wood from the forest.

Church:

Fishing Hut:

Blacksmith:

Lighthouse:

Sounds and Music:

Yesterday and today I have being implementing the Sounds and Music on the game. The sounds have been a bit of a challenge but now they are fine. I certainly can fine tune a few things and will certainly do so. It’s hard to combine all the sounds seamlessly.

The music was added today and is pretty awesome. I have to say that the work of Joshua Snethlage from Mixed Media has been incredible.

Surprise added:

I was really hesitant to add new heavy stuff on the game for many reasons. Number one because it’s a lot of work and deviates me from the main purpose that is polish and finish the game. Number two that new things sometimes get out of control in code and turn out to take a lot of more than expected. Anyways, despite above reasons I decided to add a new building to the game that actually changes the dynamics of the game completely.

The new building is so far a secret one and will only be shown a few weeks prior release. The art is not done but its working like a charm. I wish I could show it but it’s one of the surprises of this game.

Conclusion

Once again thanks to all of you for showing support and enthusiasm with SugarMill. The game is going to be as solid as possible to release, and I will make sure it’s fun enough too.

Eight weeks is less than two month. So it’s unbelievable to me but the game will be out then.

I will keep working on the game, making it awesome for the Launch date: Dec 15th

Thanks all for your time!

Cheers!!

Advertisements

Working on New Logo

Hi

Sharing the new logo of the game! Almost final!

l b.png

I called Logo 17 because is actually the 17th I made so far!.

portada5 copy.jpg

Still on track to release!

 

Cheers !

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.

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