Just another small story that I wanted to shake out of my head. I had been wanting to write a story about characters from a very non human perspective for a while and found inspiration in some other work I was doing. The story follows, but it will also live over here.
Early morning sunlight plunged down constructed canyons catching in the corners. Tall lines of silver and gold marking the silhouette edges of towering structures. Buildings with cores of wood and stone, bound in skins of steel and glass, adorned with effervescent films and baubles of diamond and silicone. Buildings cocooned in all the eras they had persisted through. The stratified clothing of times past. All of these layers humming with the constant flow of electricity and light. A city roused awake like a forest opening toward morning.
All of it an illusion of course. The city was always awake. Always alert. Always buzzing and moving and breathing with activity. The city, to its memory, had never rested. Even now, before the most active portions of the day, small tendrils of the city flicked and darted to clean and polish and organize. Each one an independent player in an orchestra of activity.
Sliding briskly along a tiled floor, a minuscule cleaning bot (designated d232:bd2c:c34a:c385:f487:d5bc:af34:6b99 V12.4) attempted to polish away a patch of grime. Its compact energetic body had managed to scrub more than three-quarters of the floor in the last hour before sunrise, but it would need to revise its pathing plan if it intended to keep to its desired schedule. It had recently reduced the accepted levels of cleanliness in its plan by a full percentage point to increase the pace. Its counterpart (designated d232:bd2c:c34a:c385:f487:d5bc:af34:d1b8 V8.7) had slowed significantly in the last few days. The adhesive coating on one of its drive wheels had been peeled away by a rough patch of aluminum edging. Now it would spend most of an activity period spinning on the spot, unable to overcome the friction generated by its cleaning brushes.
During the last inactive cycle :6b99 assessed and concluded that :d1b8 was slowing the entire cleaning time by more than thirty-six minutes. It quickly sent a request up to the Local Operation Management System. :d1b8 should, it requested, be repaired or recycled to restore the schedule. LOMS responded almost instantly. Resources, it said, were not yet available for a full recycle but a repair would be attempted soon. :6b99 also sent a message to :d1b8 that it should send requests for repair or recycle to LOMS itself to improve efficiency in the future. :d1b8 had not replied.
:6b99 finished with the spot of dirt it was working on, marking it as visually 73% cleaner. Standard settings would demand the visual cleanliness of any single patch of floor be 80% or higher. On this schedule, 73% would have to stand as an acceptable minimum. It rounded the corner of a counter and narrowly avoided a collision with :d1b8. The hobbled bot had come up against a kick plate and was trying to break free of a groove in the tile floor by repeatedly lurching forward and backward. With the counter in the way, it was having trouble generating the speed necessary. :6b99 made a deft juke to the left to avoid the other bot and continued on its way. It stored a quick note to send another request to LOMS during its inactive cycle.
:6b99 spent most of the lunch rush nestled into its recharging station against the back wall. The tall slender forms of prep and serving bots zipped about the room ignorant of its presence. :6b99 noticed one small change to the central prep bots routine as it adjusted to an uncommon recipe. LOMS or COMS must have sent a request down to the prep bots that the market of preferred tastes had changed. As old recipes fell out of favour, at least one new recipe always took its place. New recipes meant new plans, but prep and server bots never filed their plans or made them accessible to the cleaning bots. They had decided that informing cleaning bots of minor changes would impact efficiency. If LOMS was in the loop, that information never made its way down to the cleaning bots. :6b99 chose to get ahead of the problem and reworked its plan for the next cycle. The small change would mean a fair bit of time saved since it was harder to clean the floor where the prep bots had worn through the tile to the concrete below. The central prep bots new path took it over a relatively unused patch of smooth tile. With the new plan confirmed :6b99 took a moment to reduce power usage and charge more efficiently for the next cycle.
The sound of :d1b8 being dragged across the tile by the eastern server bot sent an alert up to LOMS and back down to every bot in the local network. :6b99 sparked back up to full power mode, ready to deal with any immediate mess. It watched as :d1b8 caught on the chipped corner of a tile and was sent scuttling off into the wall. It bounced off with a metallic clunk and spun wildly along the baseboards. It finally settled in the corner, upside down on a pile of filth that their rounded bodies could never quite reach.
Once there had been a third cleaning bot (designated d232:bd2c:c34a:c385:f487:d5bc:af34:361b V2.0). It had been responsible for the corners and under the ovens. :361b had three extendible brushes that it would use to deal with places the other two couldn’t reach. It had broken two brushes in one cleaning cycle and received only one of the replacement brushes it had requested from LOMS. LOMS had forwarded a reply from COMS stating that resources were not yet available and the second brush would be delayed.
:361b altered its pathing and plan to clean with two brushes. :db99 had been forced to reroute its own path to accommodate :361b. The cycle was slowed slightly, but cleanliness was maintained to a high standard.
:db99 had been powered down when :361b had broken its third and last brush. :361b often ran at slightly different times than the other two to keep to its own schedule. When the next cycle started :db99 found :361b sitting idle in the middle of the floor. It had moved into the usual path of one of the server bots and sat, powered but idle. When :db99 had sent it a message requesting that it move off to the side and contact LOMS, :361b had actively ignored the request. :db99 decided to push :361b out of the way and tucked it neatly under one of the stoves. It readjusted its plan to account for the newly inaccessible spots.
:d1b8 made vain attempts to wriggle it’s way free of the corner, spinning its brushes and running its one good drive wheel. The self-righting mechanism seemed to be mired in the grease and mold pressed into the corner.
:db99 sent a request to LOMS. LOMS responded that resources were not yet available for a replacement or recycle and a repair would be attempted soon.
:db99 quickly adjusted its plan and revised its schedule to minimize recharge time. It also made a note to reduce visual cleanliness if necessary but decided not to factor that into its plan just yet.
:db99 paused briefly over a patch of clean floor and considered the speed and impact force required to free :d1b8 from the corner. Ultimately it decided the risk was too high and opted to leave :d1b8 where it was. It also made a quick note to reduce requests to LOMS by 80%. Requests had been negatively impacting efficiency.
:db99 spun counterclockwise and headed for small pile of crumbs in an aim to stay on pace.