Advanced Robotics

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
User avatar
FatalError418
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun May 28, 2023 10:48 pm
Contact:

Advanced Robotics

Post by FatalError418 »

TL;DR
Advanced robotics which allow the ability to build programmable robots which carry out specific (and complicated) tasks, with the ability to also attach machines too those robots.
What?
The ability to research advanced robotics, which in this example would be a Robotics Science Pack. Obviously you have to research robotics, and maybe a few others and then you get access to a robotics sub-tree which gives access to complex and advanced robots. However, instead of normal bots, these ones are much more customizable, and also programmable. So, first of all there's the customization aspect. You could equip the robot with guns, put stuff in it's inventory, (it could however do all that itself), but mainly you could add parts to the robot. It could start off as a simple rover, but you could add gun mounts, armour, legs, arms, fans or thrusters (for flying), larger vision radius, extra inventory spaces, even crafting abilities. The way you'd do this would be by attaching a machine too it, so by attaching an assembly machine the ability for crafting would become available, by attaching a chest too it it'd get more inventory space, etc. You could also attach modules to increase it's speed, etc. And as for the programmable aspect, which would be the main part, you could use two approaches:
A. A simple interface like the trains, just with conditional logic, so If biter detected: Attack biter. So most of the logic would be handled through the game's system, not the player.
B. A very simple scripting language which could allow you to set advanced logic, for example:

Code: Select all

int pistolSlot

on weapons updated
{
      for each Weapon weapon in Weapons
           if weapon is Pistol
                if weapon.GetSlot.type is SlotType.WeaponSlot
                     pistolSlot = weapon.GetSlot.ID
}

per 100 ticks
{
    if GetEntity(Biter, return biter) is true
         If GetEntity(Biter, return biter).distance < 10
               Attack(biter, pistolSlot)
         Move(biter.position, Random(5, 8))
}
Quite a lot more complex. For non-programmers, this essentially means first get the pistol slot ID, then move a 5 to 8 tiles away from a biter, assuming one is detected, and if the robot is close enough fire the weapon at the pistol slot's ID, aka fire the pistol. This is much more advanced, but gives much more power. This could be an option that could be enabled (for example a toggle between code interface and UI), and could be also locked behind a tech, so it has to be researched to give more advanced functionality.
Why?
Currently it's pretty much impossible to create advanced conditionals and more complex automated actions. If there was a biter invasion, you might want different functionality if there were many spitters vs many biters. The advanced bot could detect if the spitter to biter ratio was high than 1:1, for example, and then in that case run out of the base and intercept the spitters.

Post Reply

Return to “Ideas and Suggestions”