Tuesday, April 22, 2014

Technology Tree Cont'd

Well that was fun!

For the most part, the algorithm is finished.  It may require a few tweaks here and there, and will ultimately be slightly customizable by the user in question (i.e. choosing x and y padding), but it will get the job done splendidly.

Well, I won't keep you in the dark any longer.  Bear in mind that this is generated on a per-user basis, however, it attempts to minimize # of connections, then total distance of lines, so it's very likely that most (if not all) of the trees end up looking like this one.

Any node without an icon is simply that - I just havn't gotten around to making art for everything yet.  The color of the line corresponds to the tech of the Technology it's leading towards.


Hmm...  looking at this now, it might be useful to prune unnecessary prerequisites.

 And here it is, pruned.

Saturday, April 19, 2014

Technology Tree


The technology tree is finally finished!  What I mean by this is that all of the major unlocks (new machines or major technology uplocks) are finally mapped to their Technologies.  Non-major Items used in crafting/assembling these machines will simply be bundled into the the existing technologies.

For your perusal, I'll link it here.
Femtocraft Technology Tree

Now something you may notice is that there are a LOT of connections.  Not only this, but these often span across technologies and overall make it difficult to read and understand.

Another problem is that this isn't extensible.  If I, or someone else, wants to add in technologies somewhere, they need to manually place where their technology goes, and pray that it doesn't overlap someone else's technology.  As such, I'm currently looking into acyclic directed graph drawing algorithms.  This will, when the mod is loading and all technologies have been registered, compute this graph in hopefully a neat and readable manner.  This will also allow for other mods to add in their Technologies and not have to worry about placing them. 

Yes, this will take time.  Yes, it might be buggy.  However, it'll solve a lot more headaches in the future than it'll cause now, and since I have the time to work on this at the moment, I feel it's something worth investing time into.  Plus, it'll be fun!

Also, as part of a mini-update.  Almost done with classes!  One week and one paper left.
Still waiting on hearing back from a University about a summer teaching position.  If I get in (which I dearly hope), then I've got the next two months free to try and pump this out before heading there.  If not, its likely that I'm going to pick up a research job at my University here, which means that it'll be competing for time with this.  Either way, I'm not going to give up on Femtocraft, and I still am intending to hold to my end of June deadline.

Saturday, April 5, 2014

Progress Update



...has not stopped!  I just have been working on many little things that I don't feel were worth individual posts, but now I have something big done I felt I could throw them in here.

I broke down the research data into individual files per character.  Thus, if one character's research got corrupted, it would be easier to save/restore/edit, and in the end wouldn't break anyone else's research. 

I've also been refactoring the majority of my industry TileEntity classes.  Long/short of it is that it is very simple to make the upgradeable tiers and I can pump each one out in under an hour.  Also, the 3 main machines (Furnace/Reconstructor/Deconstructor) all support working on an ItemStack whose size is greater than 1.  I.E.  Furnace can smelt a stack of Iron of size 8.  They also all support instant work.

I finished the Encoder TileEntity (look for an update concerning this and the Reconstructor) soon.  This finishes the Encoder/Deconstructor/Reconstructor trifecta.

The GUIs for the majority of the Industry/Power machines have been made.

Long and not least, the Tech Tree is almost finished.  I just need to wrap up the Femto tier technologies, and then put it all into code.  This also means that I have decided on a scope for release of Femtocraft, and will discuss that now.


What will be in the first release?


As I said in previous posts, Femtocraft is intended to be the core mod for several up and coming mods I intend to release.  As such, it will provide a solid base and not much else.

Each additional mod will address a portion of the game/Femtocraft and I will refer to these portions as "Submodules."

Current list of planned Submodules

  • Industry
    • Smelting/Ores/Deconstruction - Reconstruction, Mass
  • Power
    • Femtocraft  core Power generation
  • Research
    • Femtocraft Tech Tree system
  • Nanites
    • Player-based upgrades, World Generation (Nanite infested biomes, stable, unstable)
  • Creatures
    • Machine-based Creature harvesting.  Vats and Feeding.
  • Tools
  • Utility
    • Teleportation, Anti-Gravity fields.

Femtocraft will release with Industry, Power, and Research submodules.




in progress




 TileEntities -
  • Research Console
    • For putting research materials into, and performing the actual work of researching.
  • Research Computer
    • Allows players to view their current Technologies, and see what is required to advance into other areas.
Items -
  • Portable Computer
    • Portable research computer



Ores -
  • Titanium
  • Platinum
  • Farenite
  • Malenite - Nether
TileEntities -
  • Encoder
  • Reconstructor (Micro, Nano, Femto)
  • Deconstructor (Micro, Nano, Femto)
  • Furnace (Micro, Nano, Femto)
  • Crystallizer (Micro, Nano, Femto)
  • Horologe (Nano, Femto)
  • Entangler (Nano, Femto)
  • Vacuum Tube (discriminating)
  • Vacuum Relay
  • Suction Pipe
  • Compression Chest (Micro, Nano, Femto)
Items -
  • Ores
  • Schematics
  • Deconstruction/Reconstruction materials
  • Interface Devices (Micro, Nano, Femto)




Ores -
  • Thorium
  • Cable (Micro, Nano, Femto)
  • MicroCube
  • MicroEngine
  • Atmospheric Charging Base (Micro)
  • Atmospheric Charging Coil (Micro)
  • Orbital Equalizer (Micro <-> Nano)
  • NanoCube Frame
  • NanoCube Port
  • Geothermal Charging Coil (Nano)
  • Geothermal Charging Base (Nano)
  • Fission Reactor Core (Nano)
  • Fission Reactor Housing (Nano)
  • Null Energy Equalizer (Nano <-> Femto)
  • FemtoCube Frame
  • FemtoCube Port
  • FemtoCube Chassis
  • Stellarator Core (Femto)
  • Stellarator Housing (Femto)
  • Stellarator Focus (Femto)
  • Stellarator Optical Maser (Femto)
  • Plasma Turbine (Femto)
  • Plasma Condenser (Femto)
  • Plasma Vent (Femto)

I have not yet thought about the items required to make these, and so they aren't listed as of yet.  This list is 90% set in stone.  I may add/remove minor things, as I come close to my intended release sometime in June.



Work hasn't stopped.  Lots of minor things.  Look for more soon.  First release is industry, power, research and ore gen, no biomes or monster entities.