Wednesday, May 11, 2016

Planet View Update

In addition to the changes to the research view and migration to MarkLight, I've been able to improve the Planet View.  The major improvement is the Tech view which shows the building inputs, outputs and construction needs of individual buildings without having to go into R&D to get it:

Research View Update

Most of last week was consumed by a migration from one UX version to another.  When will I ever learn to wait until version x.3 of anything before migrating?  Fortunately, the developer was available on Slack and we were able to have real-time support chat conversations.  Still, ran into far too many bugs.

Anyway, here is the updated Research View.  It now incorporates all of the suggested Play Test changes that were identified about 2 weeks ago.



Major Additions/Changes:
  • CHANGE: The top-right icon is reflective of the view you are going to when clicking it.
  • ADDED: Top-left BACK icon allows you to backup in your view.
  • ADDED: Lower-Left Game Timer
  • ADDED: Lower-Right Tech View

New - Tech View


It was pointed out that it would be really nice to be able to remember/see the formulas for the various factories.  So I have added the tech view.  Which is also available on the Planet and Complex views, shows up to 9 building formulas, showing the Inputs, Outputs and Construction needs for each building type.

Selecting/Unselecting a Building Type is done by right-clicking the building in any research view.

Tech in the Research View allows you to also quickly find the research to show a graphical view or to unselect it.  Whereas, in the Complex and Planet views, there is a "Forget Button" to remove it from the list.


Monday, May 02, 2016

Playtesting Update

Last Friday, I took the game to the Calgary Game Developers work session and got some great feedback from 3 of the developers.  I've incorporated most of the suggests, except one, which I will defer to later on.  That one is related to how to view the tech tree, and I will add it when I revise the tech tree later in development.

Major Changes:
  1. One of the biggest changes that cannot be shown in a blog is the ability to spin the globe with the mouse.  This makes it super easy for the player to look at the planet.  LEFT spins left or right.  MIDDLE spins up and down.  I did incorporate LEFT to do both left/right and up/down but it was very disconcerting which is why there are two buttons.
  2. Hide and prevent hexes from being selected when they cannot be selected, and update this in real-time as buildings are added and removed.
  3. Implemented a shader for text so that at low angles to a complex, the backdrop image for one building hides labels that were behind it.
  4. Distance measuring now shows the transport route in addition to calculating the distance.
  5. It's now possible to migrate between complexes via the HUBs.
  6. Planet Aggregation is now real-time.  Before you had to exit the complex to get the actual aggregation.
  7. Revised the tech tree to make it clearer how the flow worked.
  8. Revised the GIS view to make the buttons narrower so that more filters can be displayed at the same time and changed how the layers are ordered to make it easier to find.
  9. Changed the complex view to make it easier to read things.
  10. Removed the "X" icons from all views and replaced them with icons represent the view you would navigate to.
  11. Plus others.

As a result of the feedback I have revised the planetary view to include labels over the vertices so that at a glance you can see the primary output of the complex.  Zoomed in, it looks like this:


Since each complex typically routes in multiple inputs and, generally, produces a single output, it made sense to identify the material that the complex produced, and this made the view much descriptive.  Later on, I'll replace this text with an icon, but for now, text is good enough.

I went on with the changes and now show only the labels for the inputs and outputs, and revised the colouring on the connector lines on a per complex basis.  The lines show RED (start) to GREEN (end).  These lines are also temporary, I'll replacement with arrows or particles later in the development.  Particles are preferred because then I can use the same icons describing the outputs as particle textures.

In the image below, I show the before and after labels view:


It should be clear that the formula for a Plasma Conduit is Gold, Iron, Copper IN and the output goes to Plasma Injector manufacturing.


Friday, April 29, 2016

Success!


YAY!  Okay, fine, my technology model is a wee bit too complicated ... but my engine successfully created a manufacturing network capable of generating Surface Transports, and it only takes a player 4 game years to do it.  Seems like a long time, but 4 game years, doesn't seem unrealistic, but it's early and the models aren't even tuned.

Once a player can create a Surface Transport, they can travel up to the space station, and begin the next stage.

It proves I can:
  • assemble and construct buildings
  • disassemble and deconstruct buildings
  • make surface transports
This is a major developmental goal.  Largely it means that development on the planet is complete, at least from a major delivery perspective.  There will be other planet related changes, but now I can move on to developing the space station bit. 

Next week!  I need a break.

Tuesday, April 26, 2016

Research View Update


The following view shows the updated Research view including the components needed to build the facility.  Clicking any of the boxes, including the blue ones below takes you to a different view showing how the game material is output and where it is used for input:


Manufacturing vs. Network Modeling

In the game, there are two types of modelling that is performed, Manufacturing and Network. 

Manufacturing is a simulated result that takes the organization of buildings and connection between complexes and calculates how long it will take per hour to deliver components to that planet's space station.  The manufacturing network works with an unlimited supply of materials, so whatever the simulated result is, that's the amount of materials that can be delivered.

Network Modelling is a bit different in which it simulates in real time the movement of collections of materials in ships that are constructed in orbit and move between planets either in the same solar system or between solar systems.  The analogy is a train system with tracks running between two points.

It was pointed out that a player is not limited to exploiting absolutely every resource on every planet to produce a massive amount of material for their space exploration/networking endeavours.  This is correct, however, in doing so, they are sacrificing time to pull this off.

The Lost Tribes is ultimately a racing game; in that you are trying to achieve mission success in the least amount of game time.  Figuring out that balance between the amount of materials that can be produced vs. the amount of time needed to achieve the missions end goals.

Due to raw material distributions, what might be possible with one planet might not be as easily achievable on another, so there is a bit of a balancing act between resource availability and mission goals.

Design Change

I have been thinking about a design change in the game for some time.  In the current mechanism, players configure planets to exploit their resources to construct buildings and transports.  While the transport side has not be implemented, it's largely a queue mechanism that says, make me a transport and the system calculates, "ah, that will take 3 days" ... 3 game days later there is a transport.

Transports can be used to move materials between complexes and into orbit.  One change is that transports will be distance limited in addition to volume limited.  This means a transport can travel a maximum of 500km/hr, which means that a 1700km distance with 640 units/hr means one transport, on average delivers 58 units/hr.  For a player to deliver all 640 units, they'd need 11 transports instead of 4.  Even on a planet with unlimited resources, the result is an increase in time.  [Edit: This feature has been implemented; I realized I could send from the planet editor to the complex editor a list of all distances between every complex that has a transport out and this complex.  Therefore, I would need to do anything special to get those distances.  This took only a few hours to implement.]

The other change is that each planet supports one and only one space station.  We'll provide a variety of stations, and a player will get one chance to pick the right one.  Too small and it takes longer to build ships because of limited resources.  Too large, and it takes forever to build.

The final change is a real time element.  The simulated aggregation of the planet is fine, except that you run into complications as soon as you add free running ships.  Therefore the final change is that once the player reaches the solar system, they go from a simulated environment to a real-time one.  This means that a planet, which is represented by the space station works more like a train system with ships running to/from other stations.  In a solar system with 200 stars and 3-9 planets per star, this creates a maximum of 1200 destinations.  Although realistically, once a player has the basics figured out, it's a race against time rather than an exploration and resource collection process; therefore, I imagine that no more than 10-20 stars will be exploited to the point where the player builds complex infrastructures on planets in order to achieve their goals, therefore, the actual number of destinations will likely be less than 100.

Saturday, April 16, 2016

Preliminary Surface Transports


This shows my latest planet view with preliminary path finding that shows the connection between complexes.  Eventually, this will be replaced by a smooth animation showing a transport flying over the surface, or possibly just some particles.

Each line flows from red to green, identifying which transports are connected.  The info on the left shows 5 major inputs, but each input, referred to as a "Transport In Hub" can have many sources, and those sources is what produces all the lines.  Looks like this:

In this screen, the system shows how much gold ore is available from other sites.  To add sources, you click on the buttons on the right to add them to the right.  Then click +/- to add remove transports.  Surface transports can carry a maximum of 200 units and Launch transports a maximum of 100 units.  Such as this source which produces 375 units/hour, you need to assign 2 transports to send all 375 units to this complex.



Right now the system supports dividing up resources, but does not do load balancing; nor is this planned.  If you have a raw material site that produces 375 units, such as the example above, and elsewhere, need silicon, the system evenly divides the available resources up between users.  So now, this new complex can get a maximum of 187 units:


Until the player actually makes it a source, the number identified is an estimate based on current information.  If they don't select the complex, the other complex still receives 375/hour.  If the new complex starts receiving silicon, then the original complex only gets 175; and are furthermore wasting transports.

Friday, April 08, 2016

Planetary Complex Colors


The above picture shows the 5 raw material complexes on the surface of a planet.  The elongated one is actually two complexes side by side.  The colours are as follows:
  • BLUE - are raw materials with no complexes on them.
  • YELLOW - are complexes with no buildings on them.
  • GREEN - are complexes with a valid building setup.
  • RED - are complexes with an invalid building setup.

Resource Potentials and Transports

In this game, each mineral resource has unlimited resources.  This of course isn't realistic with respect to real life or even other games.  However, in this game the intent is for a player to not play the same scenario indefinitely.

When I worked for railroad company (in my professional career), they had a concept called "rolling stock" ... this where a company would manufacture something and put it on a train car, and get it moving to a city, hoping to have it sold by the time a buyer had been identified; a warehouse on wheels.  I imagine the company doing this would stop when they ran out of train cars until buyers were found.  It's not really any different than the entire wholesale retail chain, where companies make things only based on the potential that a buyer is out there.

The Lost Tribes implements a potential model where the manufacturing stops when there is no demand.  Anything that is extracted from the ground, their units are measured in terms of time.  20 units/hour.  This allows the game to calculate the potential maximum that is available based on any time factor.  20 units/hour or 480 units/day.  The entire industrial complex can then be summarized based on time, rather than on availability of resources.

So let's consider an example.  The Processor Factory makes CPU units, 10 at a time with these inputs:


If the potential for all the other inbound material is greater than or equal to the amount specified, then the maximum potential is 10 units. However, if the input potential of copper is 5, then the maximum potential is 5 CPUs; should make sense.

But now, suppose Copper is 5 and Silcon is 8, what is the maximum?

The smallest ratio of availability is what drives the potential of the plant.  In this case, the plant can produce a maximum of 4 CPUs.  

Now, consider the last scenario of 3 Plastic:

You might think the potential is 0.75CPU, but it's actually 0.  All potential is calculated in whole numbers.  

Therefore, players will need to keep a watchful eye on this potential, because it is possible to reduce the potential by having a two Transport Out buildings split the potential that building provides, they can inadvertently cease production on all complexes because the potential falls below one.

Transports

Now to make it even more interesting, there is the entire concept of a transport.  Since the planet is organized around small complexes (like small towns), players will want as few industrial complexes as they can manage.  The problem is, industrial complexes aren't that big.  Currently 128 points, but I am considering making them 64 or 96 large; just add game difficulty.

Transports can only move one material type and each surface transport can move a maximum of 250 units at a time.  Each launch transport (surface to orbit or orbit to surface) can move 100 units at a time.  A unit is roughly analogous to a kilogram, but not really.  Each material's unit is a unit in size ... how about that for being non-specific!

The player will start with some limited number of surface transports, and will need to build more as the game progresses.  How many they get, I haven't figured out; but probably 15-20.  Probably 1 for each game material needed in the production of additional transports.

Complex Editing Video

Here is my first editing video for the complex.  This is a small complex over raw materials, where you can only extract materials from the ground, do the basic manufacturing on it before shipping it off. 


In other complexes, you get materials by transporting them in and routing them into factories to produce even more complicated materials.

Saturday, April 02, 2016

The Lost Tribe?

I got feedback from from folks on Friday about the current game.

I was criticised by one for introducing procedural generation too early.  I get their point, but disagree.  Another thought that this could be a resource collection game, but the problem I have with this is that once you understand the resource collection aspect of the game; there has to be some other thing to drive the player.  I thought there code be hope for some kind of enemy, but that creates the burden of AI which is hard to crack.

Perhaps the game could be called "The Lost Tribe" that is a race game.  A group of friends/competitors get into a room and decide on the style of the race; the type of galaxy, number of stars, number of stars the players have to travel to, and after that, they are on their own.  Players work independently or in teams and starting with the same resources on a given planet, try to be the first one to get to the last star system.  The race could be a few hours, days or weeks long.  And they simply record their progress through a central database (via NEO).

And this got me thinking ... what if the game materials and building types were procedurally randomized.  One of the problems I have at the moment is how do I build this massive tech tree with lots of resources and combinations.  What if all that was randomized too.  You randomize the materials and create combinations that create new materials that are the foundations for the aspects of your ships.

Make it all about resource gathering and assembly of larger order material types.  So that ships could be crafted.

One of the problems I ran into last time I did this, was the player having no idea what the over arching physics was.  How would you know that combination 1 produced anything useful, and since it was random, how could you know the generator didn't produce something that was basically gibberish and not intelligently assembled.

Good question ... let me think about it.  I do like the idea of PvE but PvP over the network.  Could be fun.

Wednesday, March 30, 2016

UI View Updates

New Menu

I'm only showing the insane level of stars so that you can see the generations more clearly on the galaxy screen.


Galaxy View

This is a temporary view showing the entire galaxy.  In a final game version, the player will be able to see slightly elevated view that is largely edge on.  The final galaxy will also have nebula, which the player will need to avoid when travelling faster than light.


System View

This is another temporary view of a solar system, showing just the star and the planets.  In an completed view, there would be pictures of the planets or at least icons of the different planet types, as well as an asteroid field.  For the purposes of the prototype, this simply provides an interface to the planets that are generated for this star.


Planet View


This is a more complete planet view.  Planets are randomly generated based on a seed, and are rendered in real time before being displayed.  Without the generation, a planet would require 45Kb to store instead of a 4-byte seed.

The view shows a tabbed interface allowing the player to see the GIS view which has an overlay for complexes and mineral deposits.  In the future version, you will also see transports running between complexes.


Complex View


Finally the Complex View, this is on the surface with a complex exposed.  Complexes an have 8 to 128 hexagons, and the layout, like everything else in the game is random.  Randomization allows the complexes to have slightly different shapes, but largely it's to save storage ... a 128 point complex would need 1024 bytes to store, where as a see requires only 4-bytes to store.



Recent changes allow the player to zoom down, and rotate and look at the complex in finer detail.



Thursday, March 24, 2016

Complex View

Here is an early view of a complex.  The prefabs I got out of an asset that cost $5, and they are just the basics for now, I'll replace them later on.


So the change I have decided to make with the game is that I have done away with the idea that resources run out over the course of a game.  Suppose you have an Iron Ore resource that contains 4.2% Iron.  If the Iron Ore Extraction with the Iron Ore Smelter can do 2 tones per day (2000kg), then this complex can produce 84kg of Iron per day.

Suppose you use Iron to make ships.  If a large ship requires 840kg of iron, then with a single complex, it takes 10 days to get enough iron to produce the ship.

If, however, you produce a new complex that produces 400kg of iron per day, the two complexes, combined, produce 484kg per day, which means only 2 days are needed to produce enough iron for one ship.

Therefore, unlimited means you never run out of material.  But you need multiple complexes to extract enough material.

Wednesday, March 23, 2016

Menu and Story Update

Been working on the main menu.  None of this stuff works except for navigation:







Story Update

To me, the story is just as important as the game itself.  It sets the context for how and why the game works.

Your home planet is attacked by the Klunian Empire that needs slaves for its menial work in their society.  The tribes refers to the various groups on your home world that were taken and spread throughout the galaxy.  When you were attacked, you were placed in stasis and when you wake up, the Klunian ship you were in crashed onto a unpopulated planet.

All the Klunians were killed and the rest of the survivors remain in stasis.  An unknown time has passed and how far you are from your home planet is also known.

The story begins when you have gained access to the ship (the game's UI) and have learned the secrets of the Klunian Empire's technology.  They have an extensive amount of technology which makes mining and building cities easy, but what you must do is prepare this planet and solar system so that you can defeat the Klunian Empire and get back your Lost Tribes.

The game will be a unique take on the strategy, as you cannot just blow up the empire, as you have to also save the slaves from each planet.

In the options above, the player can start out with two advantages.
  • SCANNED means that the locations of all the mineral deposits have already been located and are in the ship's computer.  When off, the player must build a scanning vessel and launch it to get the details about the planet they crashed onto.
  • ARTIFACTS are artifacts from a dead alien race that will give the player an advantage when attacking the Klunian Empire.  If OFF, the player must find these artifacts during their game play.

Saturday, March 19, 2016

More Updates

I've gone back to my original planet generator and with the help of $20 asset, come up with the following revised planet.  If you remember planets from last year, no way did they look this good.


In the large part the original generator was unchanged and this planet is just a more colorful version of the original generator.

The Story

I've been thinking a little bit about the story, and have decided that at least conceptually, the player home planet was attacked years ago and it's inhabitants spread throughout the galaxy.  The player wakes up on a planet and is able to access the technology to help the rest of the inhabitants who are here.  How and why I'm not sure yet.

The Game Play

As for the game play, the game contains 4 levels of abstraction, starting with the most drilled in:
  1. Complex
  2. Planet
  3. Solar System
  4. Galaxy
A COMPLEX is the lowest level area and consist of a small town/city of interconnected buildings.  Players simply plop down buildings of various types and the game auto interconnects them.  Player isn't required to build sewers, roads, train lines, etc.  If it's there it's auto-connected.

Buildings that produce things need to be consumed, or if not, they are available as outputs from the complex.  Buildings that input things have to be available on the complex, if they aren't they have to be imported from some place.

Therefore, each complex has an interior working arrangement with complex-level inputs and outputs.

At a PLANET level, the player can now manipulate the inputs and outputs of each complex, and the moment the play zooms out of the complex to see the planet, the aggregation of the inputs and outputs over a given time frame are the ins and outs of the complex.  There is no need to dive into the complex to re-simulate them at a planet level.

Complexes be interconnected, moving materials around, but a planet can also have orbital points, enabling interconnectivity at a solar system level.

The moment the player zooms out to the SOLAR SYSTEM level the game aggregates the planet, and simulation on a planet scale doesn't have to be resimulated within the system.

Same holds true for the GALAXY, and it aggregates detail for the solar system.

Each level, is about tuning a machine for the upper level to manage.

Saturday, March 12, 2016

The Reboot

The Lost Tribes lives again.  The scope and nature of the game is going to change.  Name is subject to change but I don't know right now.

Background


In the previous game there was a focus on ship and engine creation and it relied on the player discovering engines and technology that enabled the player to do things.  However, it became apparent that the player had no real chance of discovering parts of the underlying physics without understanding the grander physical model.  Classic chicken and egg problem.  Every solution I could think of that would help the player; defeated the purpose of the game which was the discovery of the engine and technology.

I set the game aside and then only recently have I decided that there is still something in this game, at least in the premise, even if the technology were known at the start.

The Reboot


This game starts with your civilization devastated by an alien attack.  Your peons live, but your infrastructure is destroyed, and so you must pick up the pieces, repopulate and move on.

In the reboot, the game will have technology, but there is no technology tree; no research A to discover B; kind of mechanic.  All technologies are known at the start, making the game more about strategy.  What technology do you build to defend against an opponent?  Initially there is no opponent.  The game will involve two distinct development phases; Construction and Combat.

Construction is all about the organization of resources to defend the planet against your foe.  Combat is all about the attack and destruction of that foe.

Some Initial Ideas


The game will be a 3D planar game.  This means the player can see 3D objects, but those objects work on a 2D surface, no "digging in the ground", etc.

Planets are back and I'll be doing work on minerals/materials side in generated planets.  Each planet has tectonic plates, referred to as regions which will be similar to continents.  At each point on a planet, the player can put in a complex.  A complex is akin to a city and each complex can have 1 or more buildings.  Buildings are interconnected within the complex, so there is no need to design subways or roads, as they are implied, but between complexes, there are rail lines.  Rail lines aren't fixed to the ground, they are more like air planes that fly along the ground, so no infrastructure needs to be built to connect two complexes.

Buildings can be connected to orbital locations using launch lines.  And planets are connected using sublight orbital lines to connect planets within a system, or fly outside of a system.  Finally solar systems are connected using stellar lines.  However, there is only one kind of transport per type, so to go from one complex on one planet to another complex in a different system means complex -> orbit -> system -> orbit -> complex, with transfer points of material at exchange points.

Since the planet maker has already been developed, I'll simply evolve it for this iteration of the game.

More details later.