Consequently in the interest of openness and so everyone can be made aware of the recent changes ,I'll give you a brief summary of the work conducted by the programming department since the beginning of this year.
Bug fixing , game security and player support are, as they always have been , the key focus of the department and these have taken priority over all other work. The other main focus in the past 6 months has been on optimising the existing code base and making changes which improve the game and server responses.
Looking at the changes in the code repository ProgD work since 1st of January breaks down roughly into 5 areas
- Changes to grammar and extending translation of the interface : 10%
- General programming support for other departments and the web site as a whole :15%
- Bug fixing and testing : 15%
- Development and implementation of new feature : 20%
- Optimisation of existing routines : 40%
These % figures are the proportion of individual file commitments and probably underestimate the over all amount of time spent on the last category and the player support role
The optimisation work has involved :
- A complete audit and overhaul of the game database, optimisation of indexing and introduction of normalisation where necessary
- Upgrading of server s/w and rewritting of code to take into account new features
- Optimisation of existing code and extensions to existing caching routines , in particular to background game server processes
- Seperation of code and html by using internationalised templating
This development work has had significant impacts on the server, resulting in massive decreases in response times for players. Some routines have been optimised by 2 orders of magnitude and generally server response is now at an excellent level. Not that this has got any coverage on the forums - obviously players couldn't be bothered about ease of game play one way or another
We have also carried out a large scale security audit and upgraded most forward facing server s/w in the past few months which is not covered in the above figures
So as you can see new features account for only a small proportion of ProgD's work .
The new features implemented in the past 6 months are as follows:
- Drop clothes for automatically buried chars
- Allow renaming of bodies and make cause of death visible until burial finished
- Added generic death event for most non-violent deaths
- Removed death interface death sensing features
- Change player language options so that language name is always original name (as opposed to current interface language)
- No highlighting on player page for eating events.
- Added cookie controlled large text box option
- code to handle addcapacity rule for special objects in vehicles (sidecar trailer etc)
- Display buildings in id order with sequential number
- Added location area description to location name line
- Added maxspeed rule for land vehicles
- Multiple notes/envelopes selection for dropping, giving away and putting into other envelopes.
- Keep character slots closed for 40 days when a character under 25 dies
- Code for energy boosting resources added
- Added isnotvehicle build condition and re added cabin code to isvehicle
- Add visible event for turn based stopping of boats
- Added code to allow vehicle locks on cabins
- added travel progress % for travellers
- Added skills visibility on character description page.
- Modification to docking including cancellation
- Added machine requirements to project details
- Moved credits above time left line
- Added visibility of credits on player page
- Removed road names (replaced with road type where appropriate)
- Handle new road improvement project names
- Added more info to road improvement projects
- Land vehicles fuel usage.
- Play music routines for musical instruments
- Added tabs in inventory
- Added button for images upload
- Added display of total time required for projects (days/hours)
- Added radio frequency changing as an event
- Copy note direct from ground
- Changed icons and some accessibility
- Distance to lighthouses text description
- Adding minutes to event list
- Generate a turn event when speed matching changes chars direction
- Greying out of projects one has not the tools for
- Add join project button to people page
- Add project completion event for non-participating initiators in same location
- Added digging slot usage to location and activity pages
- Display building type when inside
- Displays vehicle type, added visible coastal locations for sailing boats
- Allowing only needing projects in list for selecting a project to add resource
- Allow tool only resource collection (e.g. timber)
- Clothes manufacturing now honours hasobject settings
- Minimum strength to drag objects changed from 40 to 10
- Use dynamic ship name in adjust sailing event message
- Animal Individualisation
The last of these probably accounts for 25% of of total new feature development and is part of our move towards animal domestication. Prior to this year animals were processed as single herds of the same type. The prime change has been that each one is now a specific individual, and recently we introduced natural life spans . Currently, with help from RD we are monitoring animal populations to just confirm our current settings produce sensible and sustainable populations . Once we are happy with these then further work will be done to allow animals to be domesticated.
Other projects currently in development is cancellation of projects and resource recovery and allowing machines to produce multiple outputs including objects.
Generally ProgD use the Jos's Roadmap as a guide to where we are going . Most desired outcomes are analysed and the appropriate necessary steps are identified and discussed before hand Animal individualisation is a case in point, as is adding weight to projects as a precursor to implimenting resource recovery .
