Saturday, April 27, 2013

WE NEED THIS BOOK PLEASE HELP IF YOU CAN!

It may contain VITAL information about things like monster statpoints.

In April 2007 Soft-world Taiwan made a contract with Alt1 to host Twelve Sky there.

About 2 and a half? months later this guide book was produced.
http://www.yesasia.com/us/twelve-sky-online-official-guide-book-vol-1/1004935648-0-0-0-en/info.html

http://goods.ruten.com.tw/item/show?21102038061880

http://www.2books.com.tw/2hbs/product_info2.php?products_id=863186




It contains a lot of detailed information. Im hoping monster stats eg Atk Def.
I mean LOOK at how thick it is!
http://img.ruten.com.tw/s2/a/5b/38/21102038061880_910.jpg

There is an auction for it here that closes in 2 days?
http://tw.page.bid.yahoo.com/tw/auction/b60984446

And again here
http://tw.page.bid.yahoo.com/tw/auction/b60984446

Books In the same place the server was hosted I belive.

I found the owners contact details and have added him on skype/yahoo/msn XD but still... I have my doubts. Might try to ring them as they seem to be a second hand book store and I have a friend who speaks cantonese.

Anyone happen to have this book or know someone who can find it prehaps in a library or something?....

Sunday, April 21, 2013

Whats new, April 21st

Map Format
We now have the maps terrain mesh figured out partially.


VIDEO HERE: http://youtu.be/FX1b2OpoCFE
Managed to read in the WM file for map 001 Gungsong Fortress and export its Vertex's and Faces.

This is important to be able to know that we can work out the walkable areas on the map. Turns out they are everything you see there. Any gaps are non walkable. The formats basicaly a whole heap of points that make up triangles.

We have some people working on getting monster and npc spawns if you can help, please fill out the form in the previous post.

New AI Manager
Have been working on a new AI Manager which will allow us to script the monsters to do whatever we want. It is simple to use.

Example of some code:
var TestAICollection = new AIModule.AICollection();

TestAICollection.Make('AIOne',function(deltaTime) {
console.log('AI One executed, object has been alive for '+this.getAliveTime());

console.log('Simulating damaging monsters around me');
var that = this;
Objects.Search({nodeID: this.ID, type: TestAIObject, distance: 10}, function(distance,node) {
this.Damage(that.ID,20);
});

return { Meta: { Count: 0 }, AI: TestAICollection.Get('AITwo') };
},1000);

We can also keep track of attackers and how much damage they did, to either monster, character, npc.

Console log of the AI test:
AI One executed, object has been alive for 1000.0001939928201
Simulating damaging monsters around me
I have been damaged for 20 by 0 my health is now 80
AI One executed, object has been alive for 2005.0004060170625
Simulating damaging monsters around me
I have been damaged for 20 by 0 my health is now 60
AI One executed, object has been alive for 3010.000294819342
Simulating damaging monsters around me
I have been damaged for 20 by 0 my health is now 40
AI One executed, object has been alive for 4015.000405609906
Simulating damaging monsters around me
I have been damaged for 20 by 0 my health is now 20
AI One executed, object has been alive for 5020.000466362819
Simulating damaging monsters around me
I have been damaged for 20 by 0 my health is now 0
I am Dead
The objectID 0 did the most damage at 100
AI One executed, object has been alive for 6025.000845119293
Simulating damaging monsters around me
Respawning because dead in 2 sec
AI One executed, object has been alive for 7030.00036887993
Simulating damaging monsters around me
I have finished respawning come at me bro!
AI: Stand is not yet implemented.

New way to store query / access entitys in the Zone
As seen above by Objects.Search we can now store and query for objects in a much better way then we could previously. This enables better preformance on the server. *Previously it was lagging a lot*.

We hope to implement a Quadtree into our collection here is an example of one working:
http://www.mikechambers.com/blog/2011/03/21/javascript-quadtree-implementation/

Why would we use a Quadtree over an Octree? Well the games basicaly 2D if you look at it top down.
Monsters might agro a certian radius from their centerpoint. 3D Events that happen are sent to every character/client in a distance of 400 units from the origin point. The maps are pretty flat. By that I mean theres no parts that you can walk below and above on. Your always on one mesh as seen above.

For monster movement, we may look at implementing the A* search for path finding.
http://en.wikipedia.org/wiki/A*_search_algorithm we would have to pass it the walkable areas from the WM and it could find the quickest route to a player. This would allow monsters to solve mazes to get to their target, providing they are within distance to chase it still. We would have to tweek everything so its fair.

Improving packet reading
Packet reading is currently flawed, if multiple packets are received in one recive then the other ones after the first are discarded, this is wrong. I am recoding it to keep a cached buffer and to process packets as the data meets the correct size for a correct packet id. Along with this our packets can have documentation generated from them showing their data structure and code that they execute when received.

Node.js is quite nice.

Restruct seems to be slow however,  there are other librarys for binary<->json serialization and deseralization such as https://github.com/codeboost/binaryparser/ however I may just code my own on top of Node.js's buffer class since it has ReadUint and every other data type I need.

Good News
After all these core changes are put in place and working we can implement working monsters/fighting.

Whens the server open for testing?
Well not for a while still as we are not able to consider it playable or testable.

Friday, April 12, 2013

We need monster and npc data, anyone able to help?


Help With 12sky Private Server Form

Hey anyone able to do this for us? Cheers

This form is for users who wish to help collect the spawns for the 12sky Private server complete the form to be enter to helpDo note you will need to have time to help with this as it is not a fast job (around 1hr a day would be great!)
You must of 12sky KR downloaded and installed
You are required to have skype so that I am able to contact you if you have been chosen to help
If you are not picked it is most likely because there is very limited places and even if you are not picked we thank you for offering to help with the Private server! every little helps!




The survey link:
https://docs.google.com/forms/d/1PC0jcu7yFjdZcEvVGcQpwrD8OZZn0dg1yrgAYNYPWBo/viewform?sid=117a175ae8ddb5b&token=J8M6-z0BAAA.pkEvBvDvNBqpZMKS-xyO_g.AVhWgz4Mnhs_0CAQCnOO2g