Friday, May 19, 2017

live streaming

would you guys like a live streaming of me working on the server?

what way i can get more info on some rates

Saturday, March 4, 2017

deadly rate/chance to dodge deadly hit

so i just found out that having you weapon enchanted over 69% gives an extra 1% to crit chance up to 6% extra at 120% armor does the same but for dodge deadly hit

Thursday, March 2, 2017

small update

hi guys , so i get ele defense to be taken in consideration on the damage calculation , atm it is all working as intended  chance to dodge critical hit is calculated to so now capes are working as "intended"

miss and dodge are not calculated because yet , liam is still trying to Digg up the equation to do that

also now visual buffs work and im codding damage so all buffs are taken in consideration


more updates to come  share with your friends


NEED more Devs to work on the game

Wednesday, February 22, 2017

work on dmg display

skills work (kinda), damage displays and its calculated based on player dmg and skill infos like the incrised ele dmg and and the incresed dmg that all skils have

smal vid so show it all



Sunday, November 6, 2016

Antique Dealer & Skills

Heya, its been a while.


The Antique Dealer and Skill usage has had more work done to them.

However there is a glitch where skills don't play the sound effect. (maybe the player id or location is wrong)

More information was figured out in the monster info data.

Tuesday, July 12, 2016

Source code is peeking more interest.

Hi all, its been a while.


We have been contacted by some people who were interested in working on the project. They would have a lot of work and learning to do but its a start :).

https://github.com/LiamKarlMitchell/InfiniteSky

Recently Faction Information has had more worked out about it.

Wednesday, August 19, 2015

August 2015

A tiny little update.

We are continuing to work on the server.

Liam's doing Quest translation / quest stuff.
Ane's doing magic everywhere.

Still looking for more developers.


Friday, June 5, 2015

May 2015

Hi everyone,

Ane2 and myself have been working on splitting the server up into having zones and world in their own Child processes.

It should make the server run faster and with less lag for each zone :).

We are now back in world on this new code and hope to finish migrating all of the previous features we have before implementing the monster spawns, AI and then anything else new.

We have a need for some people to help with the translations.
Previously the Korean text on our sheets has been gibberish (the encoding was wrong duh!)
So I have created CSV files with the text encoded properly.

What we need people to help us with is updating all of the bad text with the new text that makes sense.
And if possible translating it. Either with the help of google translate or just personal experience with the item/monster/npc.

It requires familiarity with spreadsheet software (google sheets in this case and the ability to look at things see the corrupted text and copy paste the clean text over it.)


Anyone keen? Contact us on gitter. https://gitter.im/LiamKarlMitchell/InfiniteSky


We did get some donations recently, thanks for that :) it helped to cover the cost of a mesh simplification program that we managed to run the dumps of the game maps through. So that means our AI can navigate on the maps a lot more efficiently and faster than would be possible otherwise. (Without coding a solution to do the same simplifications with the polygons we reduced them without introducing errors in the map topology and retained the edges.)

Ane2 has coded the navigation and we hope to implement it in the game world soon.


Thank you for your support.

Saturday, April 25, 2015

April 2015 Update


We are looking at improving the core of the server to have child processes for each zone.

This will involve a lot of different parts of the server.

I am thinking of making a diagram showing how all of this will work together before development is started.
  • winston for logging
  • child processes 1 for each zone, 1 for login 1 for world (basically to decide which zone to chuck you in)
  • mongoose_rpc for rpc between child processes. (Backup option is https://github.com/c9/smith via stdio and stdout pipes if possible since child and master processes already have those)
  • vmscript needs to be modified to decouple file watching from the vm script enviroments.
  • file watching for config or script changes, needs to be done on the parent of the server ( Example world watches for changes in scripts / packets that zones use ) (Login manages its self as theres only 1 login server)
  • handle login/zone change must be improved for this new design, character would have to be saved/loaded from db accordingly.
  • world server should maintain a list of which character is in what zone and the accounts that are online
  • login server should know the accounts that are online and if they are on world or not?
  • world should keep track of party and guild members, if they are online and what zone they are in.
  • gm commands that go across server need to be improved to message via RPC to world.
  • 0x54 announcement packet should have a way to construct it as necessary per map/announcement.
  • map scripts should have an init and way to start/stop and set timers.
  • scheduling should enable events to be emitted at a certain date/time (repeating etc) to manage things such as Nangi track every hour etc. https://github.com/LiamKarlMitchell/InfiniteSky/issues/134
  • jsdoc3 should be used for comments/documentation maybe we can get this to work like npm run doc or something?
  • should we invest in a testing framework? anyone want to write tests?

Anything else I am forgetting?
Come chat with us here: https://gitter.im/LiamKarlMitchell/InfiniteSky


These improvements will take a while but well worth it, we don't want the AI for monsters to lag the entire server, or when the server is heavily populated to have it lag up for everyone when we can avoid that by a better design.


Out of this we also hope for code documentation, cleaner easier to read code and a better installation guide.
And possibly plans for the launcher to actually be use-able it still needs to be coded to get updates from github releases.


We have also started a Wiki for the project here: https://github.com/LiamKarlMitchell/InfiniteSky/wiki
@hobomchobo has found out more about the header prepended to the dds textures in the games .IMG files so we may have a more reliable way to improve game translations/gui/visual things. Maybe even HD textures in the future.

@ane2 has been working on the path finding which monsters will use to walk / chase players around the map.

@liamkarlmitchell has been investigating this stuff^, capturing more packets and looking into how nangi track works :P. Oh and improving the dll to have its dev keys only work on the focused window.

@Retain94 has been figuring out packets for some things. Trader item shop (where players enter items to sell), 0x54 an announcement packet which is responsible for many things. And he is now looking at the Nangi race track packet for having the cats run around the track.


We did get some item use packets for various things and have a list of ones that need to be implemented thanks to @Retain94, @Zodrag @credmann15 and a few others.
https://github.com/LiamKarlMitchell/InfiniteSky/issues/157

Some issues we currently have to consider/fix are:
  • Translation not loading correctly for some things. Need to figure out why and fix it.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/3
  • Translation reported not working on windows 8 for the dll.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/151
  • Ensure that enchant.js has the enchanting formular implemented correctly.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/158 we recently made a spreadsheet containing the formular.
  • Fix zonechange back to town map eg walking through portal on Nangi track
    It loads the town map visually but server side your still on the 119/previous map.
  • Code in use able items/effects.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/149
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/157
  • Fix dice roll game when loosing its not taking money away if you lose.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/148
  • Nangi Race Track
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/119
  • Ensuring guild functionality works as expected, trade shop etc. (Emblems are more tricky it will require us setting up an FTP server or rewriting how emblems are uploaded/downloaded)
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/139
  • Implement the Pin System (No big deal really)
  • Anyone good with maths/formulars? Need to figure out a damage formula for suitable monsters and npc. (So we can have attacking doing propper damages)
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/93
  • Find a way to automatically get the WAN ip when starting the server, could be scheduled to work/enabled in a config. (Ideally it would ask a server on the internet for its ip)
  • Get attack animations working better so you cant just click rapidly to attack someone every time.
    There should be a delay.
    https://github.com/LiamKarlMitchell/InfiniteSky/issues/63
  • Make a better guide for setting up server/simplify setting up server.
  • Fix some problems with duel.

More can be found here: https://github.com/LiamKarlMitchell/InfiniteSky/issues

Help on these things it would be appreciated.

If you are interested in helping the project but you cant do any of the following: Programming, Sharing information, improving translations, graphics editing, launcher development (web app dev etc), logging spawn details or capturing and figuring out packets.

Then please consider donating to help the project, who knows maybe we can buy a big bag of Coffee for all our developers eh?




Or we could get some cash points in game and figure out how the XP pots and protection charms work maybe even character transfer scrolls etc.


Cheers,

Friday, March 20, 2015

Skills working visually and new Launcher Design.


Ane2 has skills visually working.
That is we can now run and jump etc.

And we have a new Launcher design by Epicws.



It is currently being made into some use able software that could patch the files to keep up to date.

I made a video that shows of Skills and Launcher quickly. https://www.youtube.com/watch?v=d04nynhhc6k


Thursday, March 5, 2015

A chat room for Developers and people interested in helping.

Hi Everyone,

So with the feedback from the last few posts I have noticed the comments section is not a very nice place to chat about things.

So I have opened up a gitter chat room which can be found here: https://gitter.im/LiamKarlMitchell/InfiniteSky

This room should be used for people interested in developing & designing the server, tools, launcher etc.

It is not for asking for news updates or when the server will be finished. (As you know I cant very well estimate when we will be done)


I would also like to say we have another developer joining us (makes 3)
Going to be going over the project with him on the weekend to get him some knowledge of its workings.


So anyone wanting to discuss features, bugs, launcher graphics, website design etc.
Please head on over to the chat.

If I am not in the chat, I shouldn't be far off.

However please keep it free of spam.


Cheers,

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.

Sunday, January 18, 2015

How to make the AI walk around seemingly random but with nice constraints.

The monsters in our server are kinda stupid.
(Yeah we had an AI in the past but not a lot of thought was put into it, it turned out buggy/laggy and had weird problems).
Most notable all monsters walking towards a point on the map that is way off in the distance.

I aim to fix that sort of problem.

Needed a way to get random numbers within a range but preferring certain ranges over others
Such as walk a distance of between 70 and 120 preferable to a distance of 30-50.
(But still allowing to walk a short distance randomly.)

If anyone is coder/math person what are your thoughts on this, ignoring how bad Math.random is,
( It does not go all the way to 1 so you could never get 100 by doing Math.random() * 100 )

I have not tested if this is correct yet just written it up might do some charts/graphs later to verify.

http://codepen.io/LiamKarlMitchell/pen/QwvyJy


The idea for using this is that monsters that roam around will prefer to wander in the existing direction or turn slightly.

That they will prefer to walk medium to short distances over long.

And then a constraint later to keep them walking around the center of their spawn area/roaming within bounds.


We could configure this to be closer towards where they exited the region, tweaking will be needed.


Areas we spawn monsters in can be considered either points or rectangles.
They are spawned at a point we define (things like guardian stones some boss etc) or within a rectangular region.

If spawned at a defined point we would expect the monster to not roam.

If spawned within a rectangle we would expect the monster to roam within that rectangle, possibly allowed to go slightly outside up to 50 units (could be configurable in config).


The idea is that this kind of movement would let monsters roam around close to their spawned area (you will notice this in real server as a grouped area they spawn in I think this is most noticeable in underground/caves where spawn count is high and re spawn time is low)



When a monster is attacking a target or chasing it will be allowed to roam outside of its area.
If it looses sight of target for more than 10 seconds (should be configurable) it should de spawn and re spawn within its area or chosen point.


You can see example of the monsters moving like this 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.


Thursday, January 15, 2015

QuadTree improvements.

If you are not a developer this might not make sense to you, just think of it as something important for a good gaming experience and it will keep track of objects in game (monsters, npc, player).

I have been working on improving the QuadTree implementation the server uses so that we can have monsters with AI to fight with.

Quad Tree can be viewed here: http://codepen.io/LiamKarlMitchell/pen/raxRKq

The query region shown in blue now picks up nodes (Game objects) that are just on the edge of the circle as well as outside it but intersecting.

Empty leafs that are no longer fill and have children leafs with nothing in them and so on are removed.

An option enables us to have nodes outside of the created quad tree regions. We were having problems not knowing the full sizes/positions of the maps just yet where players/monsters/npc/item could go outside the area and be removed from the world which caused problems. So that will be fixed soon.

A getByNodeID method allows us to find 1 or more nodes by id.

Improvements that could be made:
A function could be made to query back up the tree from a node, to find Nodes by ID assuming its close first this would speed up trade, duel, attacking etc any interaction that is in close proximity between two game objects.

Adding AI manager, I hope to work on having the monsters attack, walk, agro, die next.

Adding events for on enter/onleave + sensors. (Basically querys that are checked after each node update and could be nodes themselves) although this could be unneeded and would slow down.

Migrate the rest of the functions in the server for object/location lookups to use the quadtree.
For instance we have functions that send an event to all connected clients, that will benefit speed wise from using the tree. Such as updating player action/location, sending a chat message in normal chat, dropping item, monster action/state, npc action/state, duel packets.


Happy New Year btw,

Tuesday, December 23, 2014

November update

Hi everyone, it's Ane and Liam!

We are closer to having the game fully working!

Recently we had a break from coding to relax and catch up with real life.
But then got back into it. Last month we decided to re-examine our progress as well as improve some of the code base.

Infinite Sky is an open source project we are accepting some changes from other people, and we really put a lot of work and effort to have the code as bugless as is possible. Still we are all learning new things every day. If you feel like helping and can code come talk with us or learn to code :) It can be fun and rewarding.

Here are the features we have implemented in the last few months:
-Personal Shop
*Buying
*Selling
*Gaining money for the sold item
*Removing item from shop state and sellers inventory correctly
*Converting the incoming silver if exceeds maximum allowed silver
*Taking away the silver for purchased item of a buyer

-Character stats
*Health, Chi, Damage, Elemental Defense, Elemental Damage and Defense is now correctly counted including combine stages and enchant

value of every item.
*Character stats are recounted on every item equip, deequip, level up and stats added.
*Health and Chi is now being automatically regenerated when the Current health or chi is less than maximum. The value ticking is a 1%

every 5 seconds.
*There are still stats that works but missing small amounts. We know the reasons why this happens but not yet discovered on how to fix

this issue.


-Using skills
*Every basic skill (the one which you can learn from NPC's) are now able to be used but not updating character stats on use.
*Using skills and learning them from the scrolls have been worked out but not yet implemented because we want to finish the PVE module

first.
*Lags when using learned skills are now fixed.
*All consumabless are worked out but not yet implemented, which will be after completing more important modules of the server.

-Character experience
*We can now levelup any character to a maximum level (Master 33 or 145 Level) correctly updating the experience progress.
*On each level character gains stats points and skill points, which are correctly counted from level 1 to level 145.
*We can now use /xp {value} to give to the client x value of experience, there are no bugs anymore, we can level the character to the

level 145 using this command for example by adding 10000000000000000 experience and the server automatically will adjust the maximum allowed

experience amount to the character and instantly update the character in game including states of character as well.
*The leveling packet is now being send to everyone in the viewable distance of the player that has leveled up being able to see him

leveling up.

-Guilds
*We can now create a guild with any avaiable name.
*We can now invite people to the guild
*The rest of guild funcitons are worked out but not yet implemented, as the code for now looks like sphagetti which indeed needs a re-

implementation.
*Guild chat is worked out as well but not yet implemented.

-Duels
*We can now duel the players but we got no formulas yet for attacking the other players.
*Flags for duels are now being setted correctly.
*Fortyfing from duels works after x amount of time.
*We have worked the methods to count distance between duelers but not yet implemented a "runner" fortyfing.

-PVE
*Dealing damage to the mobs now gains experience, which in combination with fully working leveling allows the player to progress on

leveling through zones.
*We are progressing on completing the forumlas to attack mobs.
*Drops are now being partly working, and fully working for the beginning zones.

-Portals
*Portals are now fixed but they needs an re-examination of world packet to being fully working including stones and intensive training

modes.

-Private storage
*Fixed pets that was or being stored.
-Trade
*Worked out but not implemented due to lack of fully implemented drop system so we can then enable a way to trade those to the players.

-Server
*Improved loading time of the server and it rarely takes 20 seconds to fully load the server including all zones, spawns, npcs and

modules.

-Github
*We have cleaned the github issues and assigned labels so players can see on what we are currently most focues to finish.
*We were trying to blog every month, but github seems like its easier for us to follow. So we probably spend there more time and less time writing blogs.

-Client
*We have fully transleted items.
*We are now about to finish translating the rest of the client.
*We are planning to update the server to the newest version of koreans server.
*We have working TS2 maps with TSX game, so in future we might create special featured events for our server (but its only a futured idea).


-Plans & plans
The most important subjects of the game which still waits to be implemented is PVP and Faction Stones. We need to take care of this with full focus as it is very complex subject. But before that there are need to be finished modules like skills and buff states that are not yet counted to the character info, but we know how to do that and yet not chosen how do we implement that.
There is not too much before we can start the PVP module which seems a very last of the hardest stuff in the game. After that we are going to probably host the game as Closed Beta #2 so players can test things in the game like PVE, PVP and try to break every part of a game so we can have solid graphs with results to improve the game with.

CHRISTMAS UPDATE

<Encrypted>
3mw0FadnwpBkLLPKfjiWH+LC0l/eNEZq3O34Jq7BT07hlL0xsnLJNENFKpNVByO7nCipvuYypBGCcVxt
Hx0qn2WgHY32ODWsLwSQeeZq650KqTWz8wOo/R/+BMeTGTlgNJqkTVOwax0w/WBBR1clUQ==
</Encrypted>

Friday, May 30, 2014

May Update

Hey everyone, This month we have done some more work on the following:
  • Inventory
  • Monster Spawns
  • Added Combine Chances
  • Some Monster Drops have been figured out, Silver, Pills, Rares, Skills, Pet, Improve Stone, Fortune Pouch and such.
  • Starting to be able to damage monsters, started a formula for attacking a monster.
  • Logged packets for usable item and started creating a script file to code them into.
  • HP and Chi pill/tablet are usable.
  • HP/CHI Saved on disconnect, (Still not calculated 100% properly though)
  • Implemented Translation CSV into the server. View the Spread Sheets Here
I have not tested the following just yet, but they are going to have more work done on them soon if not finished just yet :).
  • Trade
  • Duel
  • Party
  • Whisper Chat
I am going to meet up with an old work mate who reads/writes/speaks Korean and see if he is able to translate what we have left to translate. Also thank you to all the people who have donated so far, used some of the funds to get some more accounts for gathering more information :).

Does anyone have a guess at the formulars for player attacking player? :D
What would you like to see done next? I am thinking guild and usable items?

Check out our code on git hub, https://github.com/LiamKarlMitchell/InfiniteSky

Wednesday, April 30, 2014

April Progress



Dear InifintieSky’ers!

Since putting the code on git hub for anyone to look at and work with we have had quite a bit of interest, feed back and commits. Przemyslaw Walczak has joined us as a developer using the name Ane2 on github. He has quickly picked up how to develop things for the server and has implemented quite a lot of what we are going to show today.


We have prepared couple of screenshots showing things we have worked on this month.
Enjoy!~

Inventory

A lot more of the inventory actions have been implemented such as moving items around and unequip/equip items, putting them on the pill bar. Dropping items on the ground and picking them up again should be finished soon too.



Combining/Enchanting





Storage/Banks





Moving to the pill bar, and from it back to inventory.


Using items is also currently being worked on.


Buying & Selling





The player based shop is also being developed now too.


Enchanting & Combining


We do not yet know the rates of chance for enchant and combine.
So for now they work 100% of the time.





Skills

Although skills are not technically usable we can learn them, and the majority of the buffing skill effects have had their data worked out. Just need to code a way to apply it. And some work has been done gathering packets for the run and jump skills. We still have to learn fully how they work.



Quadtree

One of the biggest changes is the Quadtree implementation, which allows us to spawn monsters, npc’s, items and keep track of the players in the zones in a much faster/optimized way. We could also build on it further to simulate server side movement of characters and monsters. *Currently they teleport instantly to their destination on the server which is bad.

See here for a demo of it. http://codepen.io/LiamKarlMitchell/pen/zImip

A quadtree is a tree data structure in which each internal node has exactly four children. Quadtrees are most often used to partition a two-dimensional space by recursively subdividing it into four quadrants or regions. The regions may be square or rectangular, or may have arbitrary shapes. This data structure was named a quadtree by Raphael Finkel and J.L. Bentley in 1974. A similar partitioning is also known as a Q-tree. All forms of quadtrees share some common features:
  • They decompose space into adaptable cells
  • Each cell (or bucket) has a maximum capacity. When maximum capacity is reached, the bucket splits
  • The tree directory follows the spatial decomposition of the quadtree.” ~Wikipedia

You might be thinking Twelve Sky is a 3D game why are you using a 2D system to manage 3D objects?
Well the maps are basically flat. You cant walk on top of or under there is only one surface to walk on.
So a Quadtree is fine for checking distances between players and monsters and quickly looking up things in the area you are in. Sure the 3D distance is not taken into account but eh... it is not really needed. We just use X and Z in the quad tree where Y would be checked for the depth on the terrain later.

Other

VMScript got some more work done on it when it has matured more I will be releasing it as its own module. It can handle basic dependency checks to load things in the order required.

Portals are working again.
Monster, NPC and Item have all been moved to their own scripts and spawned in. Further work to be done and there may be bugs which require fixing of course.

Next up we plan to improve/add the following:
  • Trade
  • Duel
  • Party
  • Whisper Chat
  • Items on Ground & Drop System
  • Attacking Monsters & Player & NPC
For full details of what's changed and currently under development - please visit our GitHub page and look at the commits. There is an issues section you can use to see what we are having problems with or to lodge your own issues if you notice something buggy or missing.
If you are a developer come help us :D.
We also decided to commission someone to do some web design work for us and code maintenance so that should be good.
Thanks for your continued interest, please share and stay tuned for more info on our progress.

Saturday, March 29, 2014

Git Excited

Open Source

After much discussion and thinking on the matter we feel now is a good time to move our project from being closed source to being open source. YAY!!!!

This allows you to check-out our code, and make improvements as you see fit.
And request a pull request of your changes to have them reviewed and added.

You can check out the code here: https://github.com/LiamKarlMitchell/InfiniteSky

We have high hopes that by embracing open source, anyone can help improve the server code and use it as a resource to learn more about the exciting world of mmorpg server coding.

This project started off as an educational project, we wanted to see if we could make a server side emulator for Twelve Sky without the exploits and hacks to bring back the game that you loved. Little did we know just how much efort and work that takes. Totally difficult with 2ish people. So help out, get involved.

When the server is finished enough to be considered playable and enjoyable we will organize hosting servers so people can play. We have a few contacts who have expressed an interest in hosting servers when this is finished. So we will possibly be working with them for sorting something when the time comes.

If you want to talk about server side emulation and development of this project feel free to add me on skype it is mb10241, or to email me at liamkarlmitchell@gmail.com

Donations
Personally, I have been hesitant to accept donations even though quite a few people have offered. Because I did not feel I was providing the community with anything worth while. But since I am now providing all my work/knowldge free of charge, I am okay with this.

Working on a project of this size takes a lot of time and dedication.
The progress has been slow yes, but if you appreciate our work then go for it.
Maybe we could get enough to hire some developers full time wouldn't that be nice?

We are now accepting donations to go towards further development or hosting.
Feel free to leave a comment/request for us to work on.



Things on the way
I will be working when I can such as after work or in weekends to get these things done.
  • Implement world server so we can login to world again. (It works in my old code but this new code base solves a slight design flaw that we had.)
  • Clean up the code
  • Provide Documentation using jsdoc. This template looks really nice
  • Provide Launcher and DLL source code and instructions on building them.
  • Forums to communicate on better for developers.
  • Public read access with (trusted people) write access to our google docs which contain information/research we have done.
  • Google hangout talks with lead developers, ask questions, discuss bugs and plan what to work on etc

I suggest you learn to program JavaScript and help us, programming can be quite fun and rewarding.

http://www.codeavengers.com/
http://jessefreeman.com/game-dev/intro-to-programming-for-games-with-javascript/
http://gamedevelopment.tutsplus.com/articles/how-to-learn-three-js-for-game-development--gamedev-11787
http://net.tutsplus.com/tutorials/javascript-ajax/the-best-way-to-learn-javascript/
https://egghead.io/lessons/core-javascript-function-scope-basics
http://codecombat.com/

Or see any more of the learn javascript online tutorials.
Best way to learn is to get in and make something.
A game of hang man or tic tac toe, black jack, guess the number/jackpot etc something simple.

Software you might want to get
Software we find great to use for developing a server side emulator: Totally worth the cost.
Sublime Text is A great source code/text editor you can get it here http://www.sublimetext.com/
010 Editor is the best hex editor I have ever used http://www.sweetscape.com/010editor/