Kubifaktorium Feature 01: The first two Biomes.

Kubifaktorium will feature four different biomes / terrains. Each biome will provide different resources, enemies and overall challenges. In addition to the biomes provided in the base game, players will be able to build their own biome mods. These mods could add additional real-world terrains, fantasy worlds or even alien planets. 🙂

The first biome, which was shown in the announcement trailer, is the grassland biome. The grassland provides a friendly and hospitable environment with plenty of trees, edible plants and fertile soil. All of these resources make it easy to build and support your first colonies.

The second biome is the desert terrain. The desert is hostile to all life and requires careful planning and support from previous islands (more on that later). On the plus side, the desert mountains are rich in mineral ores which are required to build more advanced weapons, tools and machinery.


Every weekend I will post more information on Kubifaktorium. If you are interested, follow me and help me spread the word. Thanks! 🙂
Blog: http://www.kubifaktorium.com
Facebook: www.facebook.com/Kubifaktorium
Twitter: twitter.com/bossconstructor

 

5 Comments Add yours

  1. Scildfreja Unnyðnes says:

    Really looking forward to see what you do with this, Mirko!

    It’s spooky; I’ve just started working more seriously on a project that’s similar to this – there are some major differences, but it’s a “multi-pawn base-builder with automation” in a similar vein to this. I even do all my coding in Java! Really interested in what you do with Kubifactorium.

    Would also be interested in how you code your job queue / pawn task management system. That’s what I’m working on at the moment, and have built several systems. They all work, but I haven’t been very pleased with any of them. Is your task management system just a stub in the current build or have you fleshed it out into a full system now?

    Looking forward to seeing your game development continue!

    1. Nice, thank you!

      I agree, the job generation system is the core of such a game and implementing it (and getting it to be serializable) is tricky. I’m sort of happy with the approach I’m currently going for. Basically I have a bunch of generator functions which are executed in subsequent frames (for performance reasons) when the actor is idle until one function returns a non-null task. A task is a set of actions which have to be executed in one block. The generator functions look like this:

      [Inject] DiContainer diContainer;
      [Inject] ReactiveCollection houseCollection;

      public Task MoveIntoHouse(ActorCC actor, bool critical)
      {
      if (actor.house == null)
      {
      foreach (var house in houseCollection
      .AvailableElements()
      .Where(actor.CanAccess)
      .Where(HouseCC.Free))
      return new Actions.Task(
      diContainer.Instantiate().Init(tileManager.Get(house)),
      diContainer.Instantiate().Init(house));
      }
      return null;
      }

      Here Goto and MoveIntoHouse are the actions to perform. Idk, maybe this helps. 🙂

      1. Well, the blog software purged the generics from the reply… e.g. it is Instantiate () and so on…

      2. Instantiate lt Goto gt ()

  2. Scildfreja Unnyðnes says:

    It does help quite a bit, thank you! It looks like I’m on a decent track with what I’m building. And yeah, WordPress is a pain when it comes to pasting code.

    Looking very good! I’ll keep watching for any coding livestreams if you do any, always liked those. Thank you!

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 )

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.