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.
A blog about TSX a private server/server side emulation project for the game Twelve Sky 1
Tuesday, December 23, 2014
CHRISTMAS UPDATE
<Encrypted>
3mw0FadnwpBkLLPKfjiWH+LC0l/eNEZq3O34Jq7BT07hlL0xsnLJNENFKpNVByO7nCipvuYypBGCcVxt
Hx0qn2WgHY32ODWsLwSQeeZq650KqTWz8wOo/R/+BMeTGTlgNJqkTVOwax0w/WBBR1clUQ==
</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
- 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
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
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
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.
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.
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/
Sunday, February 9, 2014
Jan/Feb 2014 Update
Well it has been a while since the last post so thought I should post :P
Holiday was awesome fun!
While I was over in the states with Tri, we managed to get a greater understanding of how the stats are generated from items, statpoints and skills.
So we now know the methods to use to calculate things we definatly need for pvp *with basic attacks*.
We figured out a small trick to improve the lag users were experiencing doing actions like walking or attacking.
We had some more people add and talk to us on skype about assisting our development, one person coded in the inventory action for dropping items.
I started coding a way for developers to connect to the server and edit the scripts for game (whilst it is running) things like actions/packet handling and gm commands can be modified and will be instantly reloaded when saved.
I feel we need ore people to actively help in coding the server as its taking forever :(.
If you are interested in being a scripter/coder for the private server then please contact me via email, liamkarlmitchell@gmail.com knowldge of JavaScript is essential.
Going to try to fix the running and jumping skills and attempt implementing a pvp map.
----------------------------------------------
Holiday was awesome fun!
While I was over in the states with Tri, we managed to get a greater understanding of how the stats are generated from items, statpoints and skills.
So we now know the methods to use to calculate things we definatly need for pvp *with basic attacks*.
We figured out a small trick to improve the lag users were experiencing doing actions like walking or attacking.
We had some more people add and talk to us on skype about assisting our development, one person coded in the inventory action for dropping items.
I started coding a way for developers to connect to the server and edit the scripts for game (whilst it is running) things like actions/packet handling and gm commands can be modified and will be instantly reloaded when saved.
I feel we need ore people to actively help in coding the server as its taking forever :(.
If you are interested in being a scripter/coder for the private server then please contact me via email, liamkarlmitchell@gmail.com knowldge of JavaScript is essential.
Going to try to fix the running and jumping skills and attempt implementing a pvp map.
----------------------------------------------
Whos that "Pokemon"?
I was curious about Three.js and loading binary file formats into a web browser.
So I started making this, TS1 Model Viewer It allows you to view a model from the game in 3D. It currently works in the google chrome web browser.
You can select SOBJECT files from games and it will try to display them. (MOBJECT support to come if im bored)
Later I might try to expand it to load the entire map with objects and textures into a scene.
Next step for this thing would be to get it loading the faces propperly and then textures.
[EDIT]
I got textures working!!!,
Notice the difference in UV mapping coords between DirectX and OpenGL as shown by these sites.
http://paulyg.f2s.com/uv.htmhttp://msdn.microsoft.com/en-us/library/windows/desktop/bb206245(v=vs.85).aspx
Basically gl is fliped on Y axis. So I added 1 as the UV locations were ending up - and it works.
So I started making this, TS1 Model Viewer It allows you to view a model from the game in 3D. It currently works in the google chrome web browser.
You can select SOBJECT files from games and it will try to display them. (MOBJECT support to come if im bored)
Later I might try to expand it to load the entire map with objects and textures into a scene.
Next step for this thing would be to get it loading the faces propperly and then textures.
[EDIT]
I got textures working!!!,
Notice the difference in UV mapping coords between DirectX and OpenGL as shown by these sites.
http://paulyg.f2s.com/uv.htmhttp://msdn.microsoft.com/en-us/library/windows/desktop/bb206245(v=vs.85).aspx
Basically gl is fliped on Y axis. So I added 1 as the UV locations were ending up - and it works.
Subscribe to:
Posts (Atom)