Giter VIP home page Giter VIP logo

keeperrl-technofac's Introduction

KeeperRL-Technofac

This is a mod for the game KeeperRL.

It adds factories.

COMPILING

This mod depends on KAMS.

keeperrl-technofac's People

Contributors

gamedungeon avatar sonata26 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

keeperrl-technofac's Issues

Crafting Machine Ideas

Ideas for Crafting Machines

  • Circuits/Components
  • A meat processor that takes corpses and turns them into meat cubes for your minions (mad scientist keeper / tech tree)
  • Androids, Drones, and Parts (Robotic keeper / tech tree)
  • Living metal things (mechanite keeper / tech tree)
  • Batteries (Furniture Flags Needed)
  • Liquid mixer for oil firebombs and water + mushrooms for potions
  • Slag Processor for lava -> random metals

MVP / V1 Release TODO

MVP:
A lone keeper that creates factories consisting of conveyor belts, drills, and assemblers. For minions, the keeper has to produce robot parts using the factory and assemble them. No special win condition at this point or anything too fancy.

TODO:

Structures

  • New conveyor sprites
  • Splitters

Crafting

  • List of assembling machines
  • List of Recipes
  • Sprites for the recipes and machines
  • Functionality for them

Minions

  • Design/Lore ideas for the robots (does anyone have a favorite style of robots?)
  • Worker Robot (for the initial mining and hauling)
  • A few types of combat robots (if we do them like gnome automaton we just need a few types of parts)

Misc

  • New resource: Copper (for making components and maybe we can have it be drillable only)

Lists

Assembling Machine List

  • Component/Electronics assembler
  • Robotics assembler (for robot parts, but how do we handle lots of different parts? Maybe it can be for assembling the body and the keeper crafts the other parts by hand?)
  • Incenerator

Recipe List

  • Components: Copper + Iron

Keeper Equipment List

  • Teleporter pack
  • Exoskeleton Suit
  • Cloaking Device
  • Shield Pack (2 types: Projectile/Heat for Ranged/Magic)
  • Bionic limbs (as equipment)

Robotic Parts

  • Sphere Drones (mostly for maintenace)

    • Light Frame, Heavy Frame
    • Construction Arms, Repair Arms
    • Basic turret
    • Mining Laser
  • Triangular Drones (more of a magic based robot?)

    • Spacial Displacement Module (teleportation)
    • Black Hole Storage (infinite carrying capacity)
    • Some type of laser
  • Humanoid Robots

    • Jetpacks (flying attribute)
    • Light/Heavy
    • Arm cannons (laser, incendiary, explosive)
    • Blade arms (for melee)
    • Standard legs, Tank Treads
    • Self Destruct Module (like the goblin bombers)

Win Condition and Overall Theme

What should the overall theme and win condition be? (copying some discussion and ideas over from Discord)

Themes

  • We have sparkly conveyors and everyone seemed to agree on robots, so maybe leaning more towards hi-tech and robotic/cyborg theme.

Win Conditions

  • Maybe something like Factorio and Rimworld combined ๐Ÿค” you have to build a factory to ultimately create some item (that can only be built using factories) that unlocks an area with the win condition (a crashed ship or a transmitter?) and the area would show up every game for that keeper like the mysterious dungeon does
  • Factory progressively makes other factions more aggressive, to win you just have to survive. (factory-themed tower defense?)

Keeper Things

  • Has an assembler for recreating themself and upgrading with cyborg parts (immortal as long as his reconstructing device isn't destroyed), maybe this can be on the tech tree or from the start depending on how it'd be implemented.
  • Can upgrade themselves with robotic parts via disassembling/assembling like an automaton (see above), upgrading similar to the dwarves faction, or the parts can be equipment and the keeper changes in appearance as they level up (how most keepers work)
  • Abilities
    • Projectile shield (ranged resistance), heat shield (magic resistance), only one active at a time?
    • Spacial displacement (teleporting of self and others)
    • Place Turret, Throw EMP Grenade (for hostile robots / player keepers),
    • Overdrive - boosts stats but slows/debuffs after it wears off, requires at least one cyborg upgrade
  • Mechanite Abilities - available only from mechanite gear
    • Reconstruct the dead - can be used on a corpse to make an undead cyborg dragon for example (dunno if it's possible judging by how the necromancer's summons are just piles of meat)
    • Permanent regeneration
    • Skin Hardening (melee resistance?)

Overall, I think we shouldn't spread too much for now... let's get a nice framework for a factory, everything you'd expect a factory game/mod to have, and a light theme that won't take years to implement.

Crafting Machine

Need a template for crafting machines that can handle: Belt in -> Crafting Machine -> Belt out or directly into storage or directly into another crafting machine.

Power generation

Power is produced by designated furniture pieces such as wood furnaces, solar panels, and thermal generators.

Due to the lack of furniture flags, implementing actual electrical circuits would be rather tricky. Instead, we can treat power as this global resource that's automatically available to and shared by all contraptions across the map as soon as it's produced. Its internal representation is a 16-bit integer, and its value is always clamped between 0 and and some maximum value after any increment or decrement. The maximum value depends on the number of batteries that the player has built so far, with each battery providing a linear increase in power capacity (plus some value that's available at the start).

For instance, a conveyor belt requires 1 unit of power in order to perform 1 unit of work (= moving one item a distance of one tile). If no power is available, it will stay in the 'off' state, and never do any work. Note that a belt that's not doing any work is also not consuming any power, so we're not imposing a hard limit on how many structures you can build - rather, it's a limit on how many structures you can power at the same time before everything starts sputtering and throughput goes through the floor.

A wood furnace might supply, say, 16 units of power per tick, allowing you to keep exactly as many belts running continuously. But since power can be stockpiled, a wood furnace might be enough to power some complex industries for limited amounts of time. Batteries exist to prevent players from stockpiling a lot of energy that they don't have the capacity to use yet.

Long-Term Goals, Planning, and Misc Ideas

Potential Ideas

  • Belts cost electricity and have structures that generate it as an invisible global resource
  • Different styled conveyor belts depending on keeper/tech
  • A ruined or overrun factory underground below some z-level. Could contain some item to unlock something and encourage digging down since there would be no need otherwise
  • Manual, low tech drills for other factions
  • Players can choose their conveyor light color (the sprite can use a color map, but functionality wise, idk)
  • Long-range artillery, a structure that allows crafting a spotting/call artillery strike device (using shells or smth) that works as a scroll (one-time use magic). Issue would be using it underground, and not knowing if the artillery structure was destroyed.
  • Android assault pods, similar to artillery but calls in a drop pod that spawns a couple of prebuilt androids.
  • Factory Core, needs to be placed and protected, provides a small amount of starting power.

Ideas Needed:

  • Crafting machines
  • Resources to mine (besides vanilla)
  • Techs for a divergent tech tree
  • Power generation buildings
  • Win Condition and Theme
  • Keepers

Minions and Units

Minions/Unit Ideas

  • Technomnacer
  • Intern
  • various flying worker drones
  • a robot that has an ability to turn into an immobile artillery piece
  • Stationary defenses
  • A tunneling robot with medium-high defense, slow movement, and a tunneling ability that: 1. Mines/Destroys tiles in a 5x5 area, and 2. creates stairs. This would just save time going back and forth between mining, placing stairs, and sending minions down to clear enemies.
  • One-time use robots that can unpack into large multi-tiled drills or prebuilt structures. This would allow bigger and detailed sprites without requiring the player to use the UI to place them, and fun instant structures/bases.

Liquids and plumbing

  • Screw pumps for water and magma
  • Oil drills for oil refinement
  • Pipes for liquid transportation
  • Toxic waste that affects water by turning it green and toxic. Also fills the room with poison gas if you don't drain it from machines that create it.

Multi-tile entities

They're possible so we should think of some huge ass buildings to deploy on the spot. Also modular buildings, or simply buildings that are deployed together with some initial setup of belts and whatnot.

Dismantlement is handled with a destroyedEffect for each piece that takes care of tearing down its neighbors.

Conveyor belt design

  1. Underground belts
    • These can be done just like in Factorio, both sprite-wise and mechanics-wise.
  2. Z-level belts (also magic portal belts when iused on the same z-level, paired exactly like vanilla portals)
    • These would be really good if not necessary for complex industries
    • Should be theoretically possible as flags are global and the entire map is always updating
  3. Faster belts
    • Not currently possible
  4. Slower belts
    • Currently possible
  5. Two-lane belts
    • Doable but probably nasty
  6. Actual horizontal/vertical splitters
    • Doable, machines are splitters already. The pieces are all there.
  7. Upgrade path to flying logistic drones
    • Probably not doable due to AI constraints

Sprites and Design

(Just my personal todo list and discussion for ideas)

Main Todo:

  • Color map for ores and the conveyor lights
  • Ore veins for drills to be placed on top of
  • Basic Drill, hi-tech laser drill, magma drill
  • Solar panels

Medium Priority / Next Up

  • Pipes

Low Priority

  • Anything that's just an idea and not functional yet
  • Hamster wheels
  • Steam Engines, thermal generators

Prototype done, probably change later

  • Conveyor belts with arrows

Done and no changes expected in near future

  • ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.