So I was browsing about kickstarter a few days ago and I stumbled upon a project that caught my eye.
The name was topia online and it stated that it was an open world sandbox mmo that allowed players to create their own scripts using JS. The more I dug into this the more it seemed like the perfect game for the scripting community as not only does the game encourage automated activity, it's actually a core part of the gameplay.
Basically nearly everything in the game that is living (animals, humans, etc) are player created. Once you create the "NPC" using influence (the currency of the game), you can then write a script so that it performs an automated task such as a shopkeeper or a lumberjack script. Once you have a finished script you can apply it to the NPC and then, if you desire, sell it to others on the script marketplace (added in the game so that you don't need to code to play)
You can also do things like code spells, items, and even UI's. It looks to be a totally awesome game and a perfect fit for a community like this. Sadly its far to complex for me to explain without making a massive post but if you check out their kickstarter or website they have some more details.
They also currently have a alpha build on their website that you can mess around with, the third build comes with a basic API to get an idea of what you can code for it.
To give you a quick example heres a WIP lumberjack script based on the alpha build API. (I didn't code this, grabbed if off their forums :P)
But anyway if you think this is interesting then pop onto their kickstarter http://www.kickstarter.com/projects/...1/topia-onlineCode://The more, the merrier Include("Functions", "Physics"); //Have you equipped an axe? var item = GetHeldItem(Me); if (!item || item.itemtype != "axe") UseAction("Say", "I don't have an axe equipped!"); Repeat(); //find a tree var treeLootable = FindClosest({tree:true, container: {$exists: true}}); var tree = FindClosest({tree : true, container: {$exists: false}}); if(treeLootable && tree && Distance(Me, tree) > Distance(Me, treeLootable) && !empty(treeLootable)) { //Is the fallen tree closest? does it have any more wood? Is it still hard? if(IsAdjacent(Me, treeLootable)) { UseAction("Get", {id: treeLootable.id, slot: treeLootable.inventory[0].slot}); } else { //Go to the lootable tree then, moron MoveTowards(treeLootable); } //Is it the one right next to you? } else if (tree && IsAdjacent(Me, tree)) { //Well get to the CHOPPA-ing UseAction("Chop", tree); } else if(!IsAdjacent(Me, tree)) { //Go to the tree then, moron MoveTowards(tree); } else { UseAction("Say", "Shouldnt happen"); } function Distance(x,y) { return (x.x-y.x)+(x.y-y.y); } function empty(obj) { if (obj.inventory && obj.inventory.length > 0) { if(obj.inventory[0].slot !== undefined){ return false; } } return true; }
or their website and check it out. They have already stated that even if the kickstarter doesn't finish they will still develop it with a beta expected for late January.


Reply With Quote
















