That said, in the game's current form.. you are expected to use scripts to the extreme, leaving your computer on 24/7 grinding away at enemies, automating item/gold transactions as needed, while even simple scripts use far too much CPU due to the unoptimized way the game (or default functions at least) does some things. Coupled with extremely confusing variable handling, such as... if a monster or party member entity leaves your vision or dies, the entity gets stripped of a bunch of variables immediately (ent.x or ent.real_x for example will instantly error your script), yet the entity itself still exists, so you can't just check if it exists. This causes your scripts to error like mad without absolute perfect entity clearing (spamming ent.dead/ent.rip/ent.visible checks to null them out, and spamming get_player to re-get.. players lol). This makes more advanced scripts annoying and inefficient. It also makes working with other players an absolute nightmare, as you end up being forced to send messages between characters to try and sync locations to move to and what not. I still haven't found a way to follow another player into a cave/zone without having them use a script to send my party a message to do so.
Oh, and these errors when you try to access a variable/function on a stripped entity? Unlike normal errors, these won't tell you which line in your code is erroring, so in a huge script you have no idea where you screwed up. I would chalk this up to me just not doing proper entity checking, but not being told what line errored? Brutal.
Going back to the grinding aspect, the main way you get better gear AFAIK, is to buy the same weapons/armor repeatedly, then purchase upgrade scrolls to make them stronger. You get +1 per attempt. The higher the number, the higher the chance of the item being destroyed gets. If you don't have a script to automatically burn your millions of grinded gold to do this, it gets very annoying very fast. Unless you're friends with RNGesus anyway. RNG based item upgrading has always been something I hated in MMOs. It removes the incentive of trying to get rare drops as when you do finally get something out of the ordinary, you have to risk destroying it if you wanna upgrade it to make it useful. Unless you get a thrill out of gambling, this is absolutely not a fun mechanic in my opinion, and just makes the grind more apparent.
As I mentioned, the game is all about botting to the extreme. However, there is also no incentive to make your bots do anything other than stand and attack weaker mobs, because attempting to make something more complex against stronger mobs usually results in a random error or pathfinding glitch getting you stuck, and you dying. Or you'll just straight up get slaughtered from the enemies not being kite-able (is that a word?). Even if you go with the flow and choose to set up a "stand and auto-attack" script then leave your computer on for a few days, you still run into 2 other problems. First is finding a spot to farm that isn't already taken. The safer the spot, the more likely someone's already farming there. This is partially due to the next point. Secondly, is rare mini-bosses that spring up randomly. Unless you modify the default get target function to filter out these boss mobs, or set your max attack on enemies to something only just big enough for the mobs you're targeting, your character can and will accidentally attack one and get murdered quickly. Even if you don't attack them, they can smack you if they get too close, and some of them like Green Jr. will kill you in only a second or 2. If this happens while your computer is unattended, you either just wasted hours of idle time, or your character gets stuck in a death loop after running back lol.
All in all, I really do like this game. But it's because I like it, that I can't recommend it because of just how many annoyances there are. It's early access. So who knows, maybe it will get better. But as for right now, I feel like I'm being punished for attempting to do anything other than stand->attack->stand->attack, and being punished for attempting to actually script myself instead of just lifting some public script. For a little context, I made a script that allows my party of 3 to wander the main map area, targeting mobs with a good hp to xp ratio (mobs level up the longer they exist and give better rewards). When I run out of targets, the party wanders to the next area. All the while, they will kite enemies in a circle to prevent taking damage themselves, and heal up each other as needed. This allows my group to kill much higher level enemies than they would normally, and my theory was... the increased xp and drops might offset the travel time. But in reality, I question if moving between target areas is actually less efficient than say, just standing in the crab area or similar (1.5 xp to hp ratio) and never moving. The latter would likely use a lot less CPU/network bandwidth either way, so what's my incentive to do anything fancy?
I also frequently run into problems with functions like can_move() or is_moving() telling me I can move or already am moving, when I'm actually not, so my characters get stuck thinking they're walking through a wall. Could be the fault of smartmove, but coding my own pathfinding would be tough. Trying to optimize by having 2 of my members follow a party leader, or having my party members follow another player, to reduce how much pathfinding is needed, has resulted in difficulties too due to the function stripping that happens when entities are no longer visible or dead. I'm slowly working my away around this barrage of obstacles, but it's getting less and less fun.
Anyway, this has already gotten really long, so I'll stop here. Short version, cool concept. Program your characters to win. But the rough edges are very rough. I've quickly lost incentive to... do anything really. I'm hoping the game will get better (Including Documentation!), and I'll update my review when it does.
Edit: Troll comments and comments telling me to "git gud" will be ignored and deleted.