• About
  • Gallery of Images
  • Archives
  • Categories
  • Archive for the ‘SpaceOreMiner’ Category

    The Great Ore Storage Unit in the Sky


    2010 - 12.07

    As you are no doubt aware, I am logging pretty much everything – every bit of ore you collect :) but where does all this ore go? See below :)

    Lots of Ore

    As you can see, that is a helluva lot of ore :) That is every bit of ore which has been collected since the start of version 2.0. Working on getting something like this in-game, in ore hangers/storage units. From these hangers you will be able to sell and ( jomg! ) refine ore into some base elements. The big problem I have at the moment are upgrades – if you need to return to the ore hanger to sell stuff, it makes the first game you play a bit lame. Mine some stuff, then not be able to purchase anything to help you. Though I personally don’t think its that game breaking, it might cause some frustrations down the line. Hopefully I can think of something else :)

    lamentconfig  
    Share

    Procedurally Generated Asteroids – part 2


    2010 - 12.06

    Time for some hard numbers :) All asteroids have a certain number of spawns, and these spawns vary by the type of asteroid it is. I thought it would be cool to post the current information, these are the values that are actually in game right now – I will be using it as a basis for the future asteroid generation :)

    Just to explain this first table – First is ore name, next is if it is a real material – or made up by me :), followed by its price in solaris, followed by which roid it spawns in ( a 1 indicates the ore spawns on that ), rarity is something which isn’t used yet, but gives you an idea of how rare I want the ore to be.

    Ore Data
    Ore name Real? Worth Metal Crystal Active Rarity
    Copper y 250 1 0 1 Common
    Tyronic Crystal n 350 0 1 1 Common
    Silver y 550 1 0 1 Common
    Kor n 600 0 1 1 Common
    Titanium y 800 1 0 1 Common
    Lavatile n 1200 0 1 1 Common
    Gold y 1500 1 0 1 Common
    Lavatile Crystal n 2300 0 1 1 Common
    Dense Yeanite n 3500 1 1 1 Common
    Omnicronite n 4800 0 1 1 Common
    Diamond y 10000 0 1 1 Rare
    Trivonic Crystal n 12500 0 1 0 Common
    Platinum y 14500 1 0 0 Common
    Mythite n 18000 0 0 1 Rare
    Talpanite n 25000 1 1 1 UltraRare
    Ionic Kor n 25500 0 1 1 Common
    Impeganite n 27000 1 0 1 Common
    Stryoic blend n 29600 1 0 1 Common
    Noxicite n 32000 0 1 1 Common
    Salite n 33300 0 1 1 Common
    Septonic Crystal n 35000 0 1 0 Common
    Gaelinite n 36400 1 0 1 Common
    Slade n 37100 1 0 1 Uncommon
    Felathril n 38000 1 0 1 Common
    Kyrok n 39200 1 0 0 Common
    Oz n 42200 1 0 0 Common
    Octorite n 44400 0 1 0 Common
    Ultix n 45500 0 1 1 Common
    Daemonite n 48500 1 1 1 Uncommon
    Dense Daemonite n 55555 1 1 1 UltraRare

    Now for a detailed break down of each asteroid, metal, crystal and active – all of these are pretty self explanatory, so no need to explain each one. First, metal roids :

    Metal Roids
    Does it spawn? How many spawns? Total worth
    Copper 1 90 22500
    Tyronic Crystal 0 0 0
    Silver 1 90 49500
    Kor 0 0 0
    Titanium 1 90 72000
    Lavatile 0 0 0
    Gold 1 80 120000
    Lavatile Crystal 0 0 0
    Dense Yeanite 1 50 175000
    Omnicronite 0 0 0
    Diamond 0 0 0
    Trivonic Crystal 0 0 0
    Platinum 1 18 261000
    Mythite 0 0 0
    Talpanite 1 4 100000
    Ionic Kor 0 0 0
    Impeganite 1 40 1080000
    Stryoic blend 1 40 1184000
    Noxicite 0 0 0
    Salite 0 0 0
    Septonic Crystal 0 0 0
    Gaelinite 1 40 1456000
    Slade 0 0 0
    Felathril 1 40 1520000
    Kyrok 1 40 1568000
    Oz 1 40 1688000
    Octorite 0 0 0
    Ultix 0 0 0
    Daemonite 1 15 727500
    Dense Daemonite 1 4 222220
    Total Types Total Spawns Total worth
    15 681 10245720
    Average Ore Worth : 15045.11013

    Crystal Roids :

    Crystal Roids
    Does it spawn? How many spawns? Total worth
    Copper 0 0 0
    Tyronic Crystal 1 60 21000
    Silver 0 0 0
    Kor 1 60 36000
    Titanium 0 0 0
    Lavatile 1 60 72000
    Gold 0 0 0
    Lavatile Crystal 1 60 138000
    Dense Yeanite 1 60 210000
    Omnicronite 1 60 288000
    Diamond 1 10 100000
    Trivonic Crystal 1 40 500000
    Platinum 0 0 0
    Mythite 0 0 0
    Talpanite 1 4 100000
    Ionic Kor 1 50 1275000
    Impeganite 0 0 0
    Stryoic blend 0 0 0
    Noxicite 1 30 960000
    Salite 1 30 999000
    Septonic Crystal 1 30 1050000
    Gaelinite 0 0 0
    Slade 0 0 0
    Felathril 0 0 0
    Kyrok 0 0 0
    Oz 0 0 0
    Octorite 1 40 1776000
    Ultix 1 40 1820000
    Daemonite 1 15 727500
    Dense Daemonite 1 4 222220
    Total Types Total Spawns Total worth
    17 653 10294720
    Average Ore Worth : 15765.26799

    Active Roids :

    Active Roids
    Does it spawn? How many spawns? Total worth
    Copper 1 35 8750
    Tyronic Crystal 1 35 12250
    Silver 1 35 19250
    Kor 1 35 21000
    Titanium 1 35 28000
    Lavatile 1 35 42000
    Gold 1 35 52500
    Lavatile Crystal 1 35 80500
    Dense Yeanite 1 35 122500
    Omnicronite 1 35 168000
    Diamond 1 10 100000
    Trivonic Crystal 0 0 0
    Platinum 0 0 0
    Mythite 1 35 630000
    Talpanite 1 3 75000
    Ionic Kor 1 25 637500
    Impeganite 1 25 675000
    Stryoic blend 1 25 740000
    Noxicite 1 25 800000
    Salite 1 25 832500
    Septonic Crystal 0 0 0
    Gaelinite 1 28 1019200
    Slade 1 28 1038800
    Felathril 1 28 1064000
    Kyrok 0 0 0
    Oz 0 0 0
    Octorite 0 0 0
    Ultix 1 28 1274000
    Daemonite 1 15 727500
    Dense Daemonite 1 4 222220
    Total Types Total Spawns Total worth
    24 654 10390470
    Average Ore Worth : 15887.56881

    As you can see the average ore worth are all similar – when I created the three roid system, I wanted to get it out straight away – so the balance was just approximated – but it seems pretty good to me :)  Active roids have the largest variation in ores spawned.  Metal Roids have the largest number of spawns but are worth the less – maybe this is why it is mined the most? Still haven’t figured that out.

    Ideally I think I need to create some more metal ores, and then reduce number of spawns on metal roids to bring them in line with the other two. I also have plans for two other asteroid types – Ice and Radioactive. These two roid types would need special equipment before you can mine them – and will be dangerous environments to mine in ;) Again, I will need to create extra ores for them.

    With the procedural generation of asteroids, these numbers won’t remain constant, different roid sizes and masses will alter the make up – a small roid with a large mass might contain heavier metal ores on it. A large roid with a lower mass might have a much large number of lighter ores spawned on it.

    lamentconfig  
    Share

    New title available


    2010 - 12.04

    There is a new title available … in order to get it, please feel free to email me the last transmission of mole 379 … *spooky background noise*

    lamentconfig  
    Share

    YouTube Vids : SpaceOreMiner Webstats


    2010 - 12.03

    Just realised I hadn’t posted a youtube video for a while, so here you go :

    lamentconfig  
    Share

    Procedurally Generated Asteroids – part 1


    2010 - 12.01

    Hey there folks, I thought I would take some time to explain whats happening with the game at the moment.  As my earlier posts have stated – the terrain is now saved to the server on game over.  Sweet, but aside from making crude pictures – what is the point of this data?

    Well, now I have the data on the server, I can load that data back into unity.  Which basically means you an re-visit your old asteroid mines.  I’ve got this working in my test build, but it is still a bit to buggy to release.

    But alas, not everything is as simple as it sounds.  You re-visit your roid and vroooom, all your mined out areas are suddenly repopulated with ore.  Eeeep, that isn’t very realistic – and though it would be a sweet reward to get players to re-visit asteroids … but as the old exploit shows, giant bits of already mined out areas are game breaking.

    So, why can’t I store every bit of ore on the server and flag when it has been collected by a player?  Well, the ores spawn in a two dimensional plane and and on average you have around 670 ore spawns on a roid.  It is just way to much data to store, and to transfer to the client at runtime.  After some pondering, I’ve decided to solve this problem by procedurally generating every asteroid.  You might have noticed that every asteroid has a number on the stats screen.  This number is the start of the solution – every unique asteroid will have a seed value associated with it.  This seed value is used to generate ore spawns.  I’m currently working on an algorithm to pull this off.  Alas, I can’t just use the standard seeding of the random number generator – I need to create a cross platform solution, because at some point in the future, I need the server to be able to perform this calculation as well ;)

    So how does this solve the problem?  Let me walk you through it :)

    1. New asteroid is seed is requested from server.
    2. Server records the seed value, and that it is discovered by player x, and timestamps this.
    3. Unity client takes this seed value, and generates the ores procedurally based on this seed.
    4. Player X mines and collects ores, and generally has fun.
    5. Player X gets bored and self destructs.
    6. Actually mined terrain environmental data is sent to the server.
    7. Player Y looks through the most recently asteroids and sees Player X hasn’t exploited the 500-600m depth on the asteroid, which really contains the ore Player Y needs.
    8. Player Y ( in his unity client ) requests to mine the same seed value as Player X.
    9. Client requests the terrain data from the server for that seed value.
    10. Terrain data is used to re-create the environment Player X mined out.
    11. The seed value is used, and all spawns are re-spawned in un-mined areas.
    12. Player Y mines, and collects the ore he so desperately needs.
    13. Player Y leaves the roid, which uploads to the server the new terrain environment.
    14. Fin :)

    As you can see, this is a pretty simple system – but it actually allows for a helluva lot of cool features – and starts evolving the game into a more consistent universe.  A lot more to come soon :)

    lamentconfig  
    Share