Computergeek wrote: |
---|
- Processors with attributes like cache latency? Have each 'turn' divided into X number of 'ticks' and having lower latency processor allows your commands to be processed at an earlier 'tick'. |
The original RoboWar I played had something like "processor speed" which meant your robot could only perform X commands every tick. I hated it because it forced oversimplicity onto the player. You couldn't really make a complex robot because the processor was just too slow. I don't think we should penalize heavy computations here.
But I'm not sure if that's really what you were getting at. A 'tick' would just be a logic update. IE, every tick all robots get one call to their update function, and then their positions and stuff get updated and all the collision detection happens and all that good stuff.
- Something to track multiple targets in case we want to do a Battle Royal. |
Can you elaborate? I don't see a reason to impose any limit on the number of robots that can be in a fight at once. 1-on-1 fights get boring after a while anyway.
Though the AI can track whatever it wants. That's up to the user. I don't think we need to (or even can) add any robot parts to make a distinction here, unless I'm misunderstanding.
- Some kind of radar so that you can track targets that you do not have LoS to. |
This is a good idea... but it would have to be "weakened" somehow so as not to make the camera totally worthless.
- Power Plants so that we can fine tune designs and prevent bots from grabbing all of the best parts and mashing them together. |
I don't understand this one either =x. What would the power plant do?
The parts would be obtained in the shopping step prior to the fight. A robot wouldn't be able to grab up all the best parts because there's a fixed spending limit that'd be enforced by the 'store'.
Thumper wrote: |
---|
Your beginning robot is a blob that has one function: movement. All other equipment is a turret-like add on. |
It wouldn't even have that. The idea is that ALL the robot interactions have to go through its 'parts'. So the wheels (to operate movement) would also need to be a part. So if the robot doesn't buy wheels, it'd be a sitting duck.
The bare minimum robot would have no parts and would have not way to interact with the outside world. It'd just be a rock.
Building in other minimal functionality is possible, but would complicate the API for the AI... because then we'd somehow have to give the robot parts that it didn't ask for during the shopping step.
Making wheels a part opens up the possibility for different quality of wheels. Like fast rotation, acceleration, top speed, etc.
How would we deal with motion then? If it's not tile based motion then it would have to be something like "tick forward at this angle". I think it adds an additional layer of complexity to AI if the AI has to worry about changing the orientation of the robot itself in order to accomplish movement. |
Wheels would be just another turret. I outlined this in my previous post where I did that block of pseudocode.
You'd orient them just like you'd orient a camera/gun and then set a target speed. The robot would accelerate/decelerate until it reached that speed.
So as far as our plug-ins interacting with the engine, are we talking about a message queue like in the original game? |
I'm imagining it'd be turn based. The game has a list of pointers to robots... those robots all have their 'update' method implemented. Then every 'tick' it just serially calls each one... then the robots move and collision is detected... etc, etc.
I'm thinking about the proxy\remote mines that you proposed, what if they were themselves "friendly" drone type bots? |
That could definitely be done. It'd just have to get worked into the camera system somehow so they'd be identified. I don't think it'd be proper to identify them as just another robot.
I also have a ton of ideas for more bot parts but I'm also the kind of person that enjoys the "needless complexity" in games like Armored Core and the early editions of Mech Warrior. |
When I say "needless complexity" I mean keep the work of doing a simple task simple. I don't mean we can't introduce more complex tools for the robots to use. In fact I welcome that!
Though maybe we should start more simply with the game engine before tackling really advanced stuff. Never hurts to discuss things though!