Page 1 of 1

Programming Department Activity

Posted: Thu Jul 13, 2006 4:41 pm
by Chris Johnson
I may be wrong but I get the feeling there is a vocal group of people who believe that most changes made in the game have been for the worst.

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
The last has been a major task and all qudos for the implemetation and smooth transfer to the new system should go to Marol.
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 :roll:

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 .

Posted: Thu Jul 13, 2006 6:22 pm
by Snake
Impressive :D

Posted: Thu Jul 13, 2006 6:30 pm
by Phalynx
Respect due... Thats a lot of changes, most of them good...

I realise this is not why you formed the list, but could such a list be in a sticky thread updated by your good self from time to time - I missed a couple of those changes myself....

Posted: Thu Jul 13, 2006 6:49 pm
by saztronic
Phalynx wrote:Respect due... Thats a lot of changes, most of them good...

I realise this is not why you formed the list, but could such a list be in a sticky thread updated by your good self from time to time - I missed a couple of those changes myself....


Second that request. Great list, would be great to keep updated.

Just to be clear, and I only speak for myself, but whatever problems I have with the changes that get made to the game don't have a lot to do with ProgD. I know the kind of headaches you all are dealing with and appreciate the effort big-big. All the interface improvements too.

My sense is that the features you're seeing questioned in other forums don't originate in Programming. Just a hunch.

Posted: Thu Jul 13, 2006 7:23 pm
by tiddy ogg
Yes, you're doing a great job. Nobody notices when things are going well, but now you've reminded us of all that plus, of course, the cure, touch wood, of the terrible lags once rife, your work is appreciated greatly.

Posted: Thu Jul 13, 2006 8:32 pm
by Bowser
Thank you, your hard work is appreciated, as is the work of all the departments.

But can you program your VCR to record shows when you aren't home?

Posted: Thu Jul 13, 2006 10:02 pm
by Chris Johnson
saztronic wrote:
My sense is that the features you're seeing questioned in other forums don't originate in Programming. Just a hunch.


No - My sense is that the features people bitch about were implemented a long time ago or have just been discussed in public forums (and in many cases rejected) . I'm sure that a similar list of tasks implemented in the past 6 months by the Resource Department will be greeted with similar sentiments and praise for a job well done


Oh and Bowser ... nope - actually the VCR has been unplugged for about 3 years 'cos I can't work out how to connect it up ... programming it is a another hurdle to face once it's connected up.

Posted: Thu Jul 13, 2006 10:36 pm
by The Sociologist
Chris, just to say congratulations and many many thanks. That's a superb list and I love almost all of it, especially the inventory organization and the ability to select all animals to hunt on a single page. That plus the general speeding up has helped me a lot personally.

That said, I am a little concerned about the huge amount of resources that have gone into animals when problems still abound. Behavior is erratic and the desert tortoise situation on Pok island... Well, they used to be rare but now there are 40 or so in every mountain town and I think they've even reached the Drojf hills. This leaves me wondering whether there is some fundamental design flaw in the whole new system or whether you still think you can rescue it. Has it been reviewed? Is the end result going to be worth all this when there are perhaps higher priorities?

I am also concerned about "Code for energy boosting resources added". If this is part of the attempt to reintroduce significant daily tiredness, then that is very bad news. Also let me point out that one eats carbohydrates for energy. This may be potatoes or the sweetness in fruit or concentrated (refined) sugar (which has only been around a few hundred years). If the above suggests that the intention is to have us eat two different kinds of foodstuff to get anything done, then let me just say that's a very bad idea!

My overall impression is that you are doing really excellently on interface issues like the ones I mentioned above, and many of these have been truly valuable so far as they go, but that you aren't getting sufficient guidance or support as to the real issues which need to be addressed to enhance fun, activity and motivation.

Posted: Thu Jul 13, 2006 11:37 pm
by saztronic
Chris Johnson wrote:
saztronic wrote:
My sense is that the features you're seeing questioned in other forums don't originate in Programming. Just a hunch.


No - My sense is that the features people bitch about were implemented a long time ago or have just been discussed in public forums (and in many cases rejected) . I'm sure that a similar list of tasks implemented in the past 6 months by the Resource Department will be greeted with similar sentiments and praise for a job well done


You're probably right. It's not my intent to stigmatize any particular department, or any staff at all, really. I think the management of this game is very complex, and as your list here demonstrates, by and large very expertly handled.

However, I would take mild exception to the implication that if someone disagrees with a change, or a set of changes, or a lack of reasoning or strategy behind game design generally, then that person is automatically "bitching" -- or just lacking in gratitude. There's a difference between whining and constructive criticism, and it's a crucial difference. The former really is nothing more than bitching. The latter is pointing out to people we know are intelligent and hard-working and deserving of commendation, that they may nonetheless sometimes be missing the forest for the trees. Maybe not all the posts of late have been of this nature; I strive to make mine of the latter kind, never the former. We come not to bury Caesar, but to praise him (that's for you, Talapus).

Point being that the staff deserve a lot more appreciation than they get. I've been there. But that doesn't change the fact that there's always room for healthy discussion about what might be done differently, or better. Respectful, yes. But ideally, also candid and constructive. It doesn't mean the staff are incompetent or unworthy -- it's not meant that way, and shouldn't be taken that way. It also doesn't mean that those giving the critique are ungrateful wretches.

Well. Most of the time, anyway. :)

Re: Programming Department Activity

Posted: Sun Jul 16, 2006 4:29 am
by Spider
Chris Johnson wrote:Drop clothes for automatically buried chars


The automatically buried being the ones who just log in once and never come back to cantr, right? I was just wondering cause some people get dragged away so they won't be stripped until its time to bury them...just wondering.

Re: Programming Department Activity

Posted: Sun Jul 16, 2006 6:25 am
by west
Spider wrote:
Chris Johnson wrote:Drop clothes for automatically buried chars


The automatically buried being the ones who just log in once and never come back to cantr, right? I was just wondering cause some people get dragged away so they won't be stripped until its time to bury them...just wondering.


Wait, there are automatically buried characters?

Re: Programming Department Activity

Posted: Sun Jul 16, 2006 7:00 am
by the_antisocial_hermit
west wrote:
Spider wrote:
Chris Johnson wrote:Drop clothes for automatically buried chars


The automatically buried being the ones who just log in once and never come back to cantr, right? I was just wondering cause some people get dragged away so they won't be stripped until its time to bury them...just wondering.


Wait, there are automatically buried characters?


Newspawns of new players that don't log in again or something... when they die, the body disappears, so I'm assuming that's what they mean by automatically buried. Though I'm sure some clarification would be nice because I could easily be wrong.

Re: Programming Department Activity

Posted: Sun Jul 16, 2006 7:26 am
by Chris Johnson
the_antisocial_hermit wrote:
west wrote:
Spider wrote:
Chris Johnson wrote:Drop clothes for automatically buried chars


The automatically buried being the ones who just log in once and never come back to cantr, right? I was just wondering cause some people get dragged away so they won't be stripped until its time to bury them...just wondering.


Wait, there are automatically buried characters?


Newspawns of new players that don't log in again or something... when they die, the body disappears, so I'm assuming that's what they mean by automatically buried. Though I'm sure some clarification would be nice because I could easily be wrong.



It is the chars of players who register but never play but also those chars which die on their first day - In most cases these are in the first category as well but it includes the occasional spawn and run thief. If they stole clothes (or were given some) , wore them and then died they use dto be buried automatically with the clothes - now the clothes fall to the ground like any other object.

All other deaths result in the clothes being left on the bodies