Modular Mecha - Pipe Dream?
Posted: Sun Sep 30, 2018 9:44 pm
Will be soon working on a working, basic prototype for a new mech system to gradually phase out the old one.
Mechs will be fully modular, and refactored to be /mob/living/machine/mecha
Each mech has their own slots, and each slot can have one part of that slot and only one part of that slot.
Each mech part will be able to hold components, a certain number of them per component type.
Mech stats/features/skills/abilities are completely dynamic and calculated from these, and so are the mech icons (built on the fly from attached parts and their components.)
A weight system may or may not be added to determine how fast the mech moves. If your chassis has low weight support it'll be unstable if there's too much weight/it's top heavy, if your legs has low power high weight will make it slower, etc etc.
I don't know yet of if components will have a complexity/space system, or just have their complexity/space built into the slots system (components can have multiple slots, and all of them has to have one free space for them to be installed.)
All mechs will likely feature automatic strafing (always point at mouse), and directional armor (if installed as a component)
Current planned generic component slots include:
ARMOR - Self explanatory
INTERNAL - Generic slot for stuff that goes inside the mech and stays there.
[ARM/LEG/TORSO/HEAD/CHASSIS] [SMALL/MEDIUM/LARGE] MOUNT - Generic slot for stuff that is mounted ontop of the mech.
MOBILITY (Arm/leg/etc only) - This determines different things. For example, there might be a fine manipulation module that will let a mech pick up things, but greatly reduce the space/complexity left, a course manipulation module that will let it use certain mech-sized (planned item bitflag) items, and a generic arm module that allows for more room for other things but can't manipulate items not mounted at all. On legs this could be the difference between a mech that can move faster, or a mech that can do "agile" things like climbing onto tables. Who knows?
PROGRAM DISKS [CHASSIS/PART] - Nonmechanical parts that add broad-spectrum or situational abilities to the mech's current parts. What if a mech could body-slam things if it had fine manipulating arms and legs? Gygax overdrive with motor-only legs?
Current planned part slots include:
CHASSIS
This is what everything, in theory, attaches to. If this is fully destroyed the mech will simply fall apart.
TORSO
This is where the pilot in theory is. If this is fully destroyed, well, uh, the pilot's going to have a bad time? Also the main systems like control and power will be here. If there's an AI, it'll also be hosted here.
ARMS
Possibly will allow the mechs to do either course or fine manipulation of items with the right modules. Mech swords, anyone?
LEGS
Not very interesting here, but will generally be tougher than arms, and these being destroyed will likely result in the mech falling down and having to roll around!
HEAD
Sensor systems of the mech. If destroyed, the pilot will likely lose most of their vision and hearing and all sorts of stuff associated with "you lost your head". Install megaphone module for optimal results.
By default these will be coded for humanoid mechs, however in theory the system will support any kind of mechs (modular cars are possible if you so wish and are willing to code it under this) due to all overlays being fully modular and such, also possibly supporting multi-tile things (like space-pods) in the future with sufficient refactoring of overlay generation.
AI control is also a definite planned feature. If you're scared by AI mechs with arms, well, you should be. I'm sure we can balance it eventually.
MODULES
While mounted/installed/internal modules/armor will always be a thing, with the planned arm manipulation, some mech modules can now be in the form of wieldable mech items. Example: Wieldable mech laser rifles, machine guns, etc etc. Mech swords! Mech riot shields! Mech everything! And while we're at it, why don't we let hulks use mech weapons too? They're big and strong, right?
Also since they have arms, sleeping carp mech when?
Thoughts, suggestions, comments, concerns, unintelligible screaming about this being overpowered, "REEEE STOP GIVING SCIENCE SHIT" below, please.
Also if anyone happens to have spare 7-part (chassis, left/right arms/legs, torso, head) mech sprites laying around be more than welcome to contact me here or otherwise :^)
EDIT: For actual coders, this is all planned to be under /mob/living/machine/mecha, where machine is a new class of living mobs. Arm manipulation will be done with the existing inhand system. As for pilot control, unfortunately, the best idea I have right now is have the pilot switch ckeys into it, which allows for direct control of things like item usage, movement, HUD, abilities, etc etc. If we ever need multi-pilot mechs/space pods, however, that'll cause issues, but for now it should work fine.
Mechs will be fully modular, and refactored to be /mob/living/machine/mecha
Each mech has their own slots, and each slot can have one part of that slot and only one part of that slot.
Each mech part will be able to hold components, a certain number of them per component type.
Mech stats/features/skills/abilities are completely dynamic and calculated from these, and so are the mech icons (built on the fly from attached parts and their components.)
A weight system may or may not be added to determine how fast the mech moves. If your chassis has low weight support it'll be unstable if there's too much weight/it's top heavy, if your legs has low power high weight will make it slower, etc etc.
I don't know yet of if components will have a complexity/space system, or just have their complexity/space built into the slots system (components can have multiple slots, and all of them has to have one free space for them to be installed.)
All mechs will likely feature automatic strafing (always point at mouse), and directional armor (if installed as a component)
Current planned generic component slots include:
ARMOR - Self explanatory
INTERNAL - Generic slot for stuff that goes inside the mech and stays there.
[ARM/LEG/TORSO/HEAD/CHASSIS] [SMALL/MEDIUM/LARGE] MOUNT - Generic slot for stuff that is mounted ontop of the mech.
MOBILITY (Arm/leg/etc only) - This determines different things. For example, there might be a fine manipulation module that will let a mech pick up things, but greatly reduce the space/complexity left, a course manipulation module that will let it use certain mech-sized (planned item bitflag) items, and a generic arm module that allows for more room for other things but can't manipulate items not mounted at all. On legs this could be the difference between a mech that can move faster, or a mech that can do "agile" things like climbing onto tables. Who knows?
PROGRAM DISKS [CHASSIS/PART] - Nonmechanical parts that add broad-spectrum or situational abilities to the mech's current parts. What if a mech could body-slam things if it had fine manipulating arms and legs? Gygax overdrive with motor-only legs?
Current planned part slots include:
CHASSIS
This is what everything, in theory, attaches to. If this is fully destroyed the mech will simply fall apart.
TORSO
This is where the pilot in theory is. If this is fully destroyed, well, uh, the pilot's going to have a bad time? Also the main systems like control and power will be here. If there's an AI, it'll also be hosted here.
ARMS
Possibly will allow the mechs to do either course or fine manipulation of items with the right modules. Mech swords, anyone?
LEGS
Not very interesting here, but will generally be tougher than arms, and these being destroyed will likely result in the mech falling down and having to roll around!
HEAD
Sensor systems of the mech. If destroyed, the pilot will likely lose most of their vision and hearing and all sorts of stuff associated with "you lost your head". Install megaphone module for optimal results.
By default these will be coded for humanoid mechs, however in theory the system will support any kind of mechs (modular cars are possible if you so wish and are willing to code it under this) due to all overlays being fully modular and such, also possibly supporting multi-tile things (like space-pods) in the future with sufficient refactoring of overlay generation.
AI control is also a definite planned feature. If you're scared by AI mechs with arms, well, you should be. I'm sure we can balance it eventually.
MODULES
While mounted/installed/internal modules/armor will always be a thing, with the planned arm manipulation, some mech modules can now be in the form of wieldable mech items. Example: Wieldable mech laser rifles, machine guns, etc etc. Mech swords! Mech riot shields! Mech everything! And while we're at it, why don't we let hulks use mech weapons too? They're big and strong, right?
Also since they have arms, sleeping carp mech when?
Thoughts, suggestions, comments, concerns, unintelligible screaming about this being overpowered, "REEEE STOP GIVING SCIENCE SHIT" below, please.
Also if anyone happens to have spare 7-part (chassis, left/right arms/legs, torso, head) mech sprites laying around be more than welcome to contact me here or otherwise :^)
EDIT: For actual coders, this is all planned to be under /mob/living/machine/mecha, where machine is a new class of living mobs. Arm manipulation will be done with the existing inhand system. As for pilot control, unfortunately, the best idea I have right now is have the pilot switch ckeys into it, which allows for direct control of things like item usage, movement, HUD, abilities, etc etc. If we ever need multi-pilot mechs/space pods, however, that'll cause issues, but for now it should work fine.