Inactive Miniion

overdhose

Active Member
Contributor
Design
World
GUI
gather craft... building will atke a bit longer
I wish you all a yummy cakefest
 

metouto

Active Member
Contributor
Art
Ok overdhose question .... if I have seen your videos in the right way .... one could easily clear a whole mountainous area with the Oreo s and make it a flat landscape w/mountains in the background (like the landscape in above video) while one is away from the room doing other things ???
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Yep! That looks to be the case. Awesome :D
 

overdhose

Active Member
Contributor
Design
World
GUI
pretty much yeah... although they are pretty slow at it atm... if you really like I can speed them up a bit again, but I slowed them down as it was a good way to introduce the stat system josh is working on. so they could level up and become faster.

Anyway yeah it's still a bit clumsy and i haven't tested with entire mountains so yeah if you do test let me know if you notice slowdowns or anything of the kind. The way to do it is use the zoning tools, click 2 blocks and all blocks that aren't invisible (like air) will get added to a cubic zone that will be slowly gathered. The controls might be a bit technical, you click 2 blocks with the zone selection tool (similar to the scissors), and once you see the blue selection, you switch to the zone book, open it, it will propose a default name for the zone but you can alter it, and press save, the book will close. Then you select a minion, assign the zone you created to a minion and set his behaviour to gather. and yes you can go grab a coffee meanwhile :p. Best way is to make not to big zones and assign an army of oreons to each to clear faster. you can assign multiple oreons to the same zone, but the speedup is not times 2. One oreon per zone is fastest I think. Anyway, if you still have specific questions or can't figure out how to use it, nudge me. User input is best way to smooth a process.

PS : the zone also has a width and height etc in the book you can edit, but editing them has no
effect for now.

PS2 : reminds me i should test what happens when their inventory is full...

PS3 : clicking the zone tool a 3d time will clear the selection, and then clicking again will start a new one.. hope this is the last PS
 

metouto

Active Member
Contributor
Art
This sounds good to me ..... Does the lastest download support this ???? or the applet ????
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Not just yet - overdhose is still working on it, but my understanding is that it is close to stable so we can integrate it soon :)

Also takes a few more hacks out of the engine itself in favor of the module, so that's a great bonus. IIRC anyway!
 

Josh

Member
Contributor
Hunter
Alright, Stats menu is making progress :D Look forward to having that soon, Overdhose is pushing out updates so fast I can't even keep up with it, Psh, Old people and their free time these days xD
 

overdhose

Active Member
Contributor
Design
World
GUI
young un's always complaining...
one day you're not fast enough
the other you're going to fast

you start to sound like my ex wife ^^
 

overdhose

Active Member
Contributor
Design
World
GUI
it's to bad I wasn't recording... lost a minion he had, how embarrasing.
anyway, trying to figure out where he wandered of to, I got shot up in the air jumping out of water... and guess who I encountered on my way down? yupp... the minion.

so rest assured, we aren't the only ones affected by this "feature", and it made me lol for a while...
 

overdhose

Active Member
Contributor
Design
World
GUI
specially because Cervator was so dissapointed when he misunderstood : the terassormer
yeah... that actually sounds about right... terrassormer.
 

overdhose

Active Member
Contributor
Design
World
GUI
metouto, I did some testing with larger zones, I figured there was a reason a reason Begla chose not to render all cubes in the selection as blue, and i know why now. if you select a large enough area of blocks, performance goes down drastically, to a level where the game comes to a crawl. You can still save the zone and deselect (with some patience) but it's far from optimal.

And I know why, it's because it also renders renders all blocks you can't see, so I'd have to start determining which blocks are visible and should be rendered in the selection, I'll see what i can do, because I'd really like to keep some kind of outline to indicate what exactly you selected. If not, I'll have to resort to only showing the start and end position, or limiting the size of zones you can select. I'm not sure which solution people would like most, so any ideas / input is welcome. Another option is to add a setting and let you decide what behaviour you want, all selected blocks or only begin/end. But if you happen to forget the check it (or don't know about it) it's still an issue. Because I fear that even if I optimize it, given a large enough selection this problem will probably remain. Not to mention what will happen if you move far enough from the starting chunck. So a size limitation will be in order anyway from some point. But I wanted to give a heads up about this. I changed the gather speed to supercharged for testing, the lil guy sounds like a machine gun gathering blocks now.
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
This is the sort of thing I would approach by giving the chunk a selection start and selection end vector and having it shade pixels rendered in that region (assumes AABB).
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
To trigger a thread notification I'm posting here that overdhose updated the first post with a ton of details on the new system - unfortunately mega-edits do not trigger forum subscriptions :D

Nice icon usage btw :)

If you do some wiki edits make a Miniion page in the GitHub wiki instead of the Xenforo one? I'm figuring use GH for documentation and XF for design (if we should need that sometime).

Also, for those curious you can use ...

/listItems

... to get the names of the interesting items in the Miniions module (which of course needs to be enabled for a world - OreoMinions too! Or you won't get any options for cards). Example way to get one:

/giveItem "miniion:minioncommand"

In this case you do need the full namespace :)
 

overdhose

Active Member
Contributor
Design
World
GUI
as I actually had a bit of content to play with, I'm finding some skeletons left and right, which I started dusting off as I encounter them. As things evolved a lot many times I started over with new worlds, hiding some of those skeletons.
It's sometimes discouraging to see how many issues start popping up while you play, but that's the key, you can actually start to play a bit with the miniions now. I find myself building dirt pillars to have a block at a certain position to define a zone. I noticed miniions wouldn't start gathering when I launched the same world again, because of the way I used the gametime. The follow behaviour got broken.

However, I sometimes forget that I had launched the game to test something, and should save my world instead of just hard stopping the debug session and lose my progress. So expect less skeletons as I play around with the bit I have now.
 

overdhose

Active Member
Contributor
Design
World
GUI
hey,
I looked a bit at the threading, and in the end just copied code from Immortius (from the growth simulator) to use a thread for generating buildings. Even though the operation isn't that heavy, and I know I still need to add some threadsafing to the classes involved (mostly minioncomponent), if anyone could review the code at some point (no rush) in the simpleminionai class to let me know if it's acceptable, that would be greatly appreciated. I would also like to use a similar system for the minion pathfinding, which will be a lot more demanding.

here's a link to the commit
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
The entity system is not thread safe, I would advice against putting anything that manipulates entities in a background thread at this stage. This may be fixed at some point when the entity system is changed to defensively copy components on request, and to keep a version number for each to detect conflict - although to really get this sort of thing working you would need transactions and atomic operations and it gets messy. May need to look into in-memory databases again sometime.

This will make calling saveComponent() and ensuring component fields are set up for persistence important. I would suggest in the meantime have changes queued and applied on the main thread in the next update().
 
Top