Friday, February 27, 2015

Coding in monster ai & quad tree updates.

Well it's the weekend :)



Time to attempt to put in this ai and quad tree code I have been working on woot woot!


In other news my cousin and I started on the launcher. (Hes learning css html js jquery nodejs node webkit) *hes beginner*

The basic design goes something like this:



The launcher will download multiple patches in a go with a configurable amount at once.
For example if you have to patch your game from version 4 to 10 it would start downloads 5 6 7 8 all at the same time. When one of them finishes if it is the next number eg 5 then it is installed and the next number to download if any stats downloading. When a patch is installed it checks if the next number up finished downloading if so it installs that to. So patching the game should be quite fast compared to the old games launcher.

Since we have not figured out how to add more servers in game, we would like to add a server selection option in the Options dialog. (Which pops up when you click on the options button)

It would show servers, if they are online how many players etc the ping.

It looks crappy because I made it in windows 7 mspaint. And also I suck at user interface design, if anyone wants to design something better go ahead!.


Anyway here is a screenshot of what the launcher looks like so far:


We are just using bright colors to debug the areas they are in so we could position them as we wanted.
Pretty good for a few hours for someone who has never coded this sort of stuff before eh?


If you want to learn jQuery I recommend http://try.jquery.com
If you want to learn about Node Webkit there is a nice short video series here: http://nodehead.com/node-webkit-introduction-16/


Also Im going to try to eat these, looked interesting.

Monday, February 23, 2015

Server Setup Guide and Spawn System Logger coming soon.

Hey Everyone,


Thanks for your continued patience we know this project takes forever but it is what it is.

We really need more developers. Sigh,

Blog Post in short "New server setup guide and way to log spawn information coming soon", "My HDD Died :(", "Monster AI will be added to the server this weekend."


New Setup Guide coming soon

It has been brought to our attention that it is near impossible for anyone who is just starting out with server development to setup the server and game without Liams' help.

So we plan to bring out a better guide for setting up the server soon.

We have csv files to translate monster,npc skill quest, item names/descriptions so the translation files that are on the blog are no longer required for the text.

However some of the game GUI would still be in Korean so we will have to identify these.

A new project repository will be created to house all of the client side parts of the project, which could be downloaded as a zip and put into the Game Directory.

The Launcher and DLL will also be in this repository.


I may also write an auto configure command which will help greatly in getting new users up and running. (It would get the WAN IP as well as your local IP for the config file)


----

Spawn System Logger coming soon

Well I attempted a logger way back to grab monster and npc spawns, whilst it did the job we did end up with some corrupted / bad information possibly due to the code that got the current ZoneID being erroneous/not thread safe.

I am going to migrate the spawn information from files in the data directory to the mongodb database for easier management in the future.

Import and Export commands will be provided also.

The new logger would be an option set in the dll and a plugin to the current server. (Maybe it could be ran stand alone also)

The server part would listen on UDP for incoming packets.

The packets would contain the following information and would be sent whenever a packet for monster or npc info is received from the server.

Username, ZoneID, UniqueID1, UniqueID2, ID, X, Y, Z, Direction

This will allow us to build up a collection of  possible spawn points in our mongodb which can then be graphed by the server side app and possibly grouped into spawn regions.

The collection will be broken up into two parts.

LoggedInformation and InUseInformation

InUse would be monsters/npc that are spawned on the server.
LoggedInformation would just be used for the logging and would still have to be verified to be put into the server.

We will release instructions for how people could help us out in collecting this information, and would probably only allow those we can trust to help us.

Those interested in helping to log spawns (again) please email me at liamkarlmitchell+spawns@gmail.com with your contact details and character level and clan on the real server.


----

In Other News!
I am happy with my tests on the AI implementation so I will possibly put them into the server code this weekend. Hopefully this implementation won't lag like the last one or have random bugs where all the monsters seemingly wander off into the distance.

You can see example of the monsters moving here: http://codepen.io/LiamKarlMitchell/pen/raxRKq

Try adding a small or ranged using the drop down and button.
Middle mouse button down changes the query and spawn circle to the mouse position.
Try different combinations, to see the results of combat press F12 and look  in the console.

My 3TB hard drive died, so I have to format my new hard drive and set things up again bleh!. (Don't worry I didn't lose the project as its on github ^_^)

Use able skills have had a little more work done on it.


Please let me know if your able to help out with collecting spawn information.