Client- Server Communication
The entire game has been converted to a singleplayer experience, meaning it's performance will depend largely upon your computer's specs.
Previously, the game was written in Javascript (JQuery, AJAX) and PHP to create a system where it would be impossible for player's to edit their account, hacking items, etc. as you would/will be able to in a singeplayer game written purely in Javascript. The added benefit of this is that I would be able to create systems where players actions would influence eachother in the background. One example would be a global market shared by all players. Just to be clear, this wouldn't have meant you would be able to see other players.
The downside of this were the performance implications. Client-server communcation, server specifications to speed up network communcation, development time for server-side code would all be potential bottlenecks for the project.
After making a thread on /d/, it became quite clear that the players want to edit their save files and screw around with the game. The potential benefits did not weigh up to the down-sides either; Which is why I implemented the following changes:
- The game is now Javascript-only, making it a 100% singeplayer game. Just to be clear, the entire engine was rewritten for this. It no longer uses 95% of the code the first version of the game used;
- The entire game was rewritten to no longer need a database, and now uses JSON files for all text-related content. This also means that there is potential for an editor that allows anyone to make content for the game. Items, dialogs (quests), locations, shops, etc;
- Obviously no more use for an account system
- A smooth save / load function has been added
No-GUI Client
The user-interface has been re-written. It no longer uses the fancy graphics from the previous client, but instead focusses on providing a smooth experience in all browsers and devices.
More importantly, it helps me focus on developing new interface components (inventory, shop, skill tree, etc.) with little- to no effort. The previous GUI had the tendency to make it hard to implement this sort of content.
Parsing Engine
The all text uses an advanced parsing system, making it possible to change dialog depending on actions, relationship, locations, etc. The new parsing system will allow me to create tools for players. These allow them to create content for the game in the future. The following content uses the parsing system:
- Mapping, create new zones
- Zone, fill zone with encounters, actions, descriptions, etc
- Encounter
- Actions
- Items
No comments:
Post a Comment