Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Eredin

Pages: [1] 2
1
Development Team Blog / Engine Department Priorities
« on: February 25, 2015, 10:48:01 pm »
I was asked recently about the priorities of the engine department, so here they are as of Feb 2015.

The highest priority is to identify causes of crashes and correct them...also the hardest to work on as crashes are often caused by state changes that we cannot capture or reproduce. The client "breakpad" crash reporting system will help immensely!

The projects that are currently in work :

-- NPCClient stabilization. (in progress, Jilare)
-- Crafting system rewrite (in progress, Eredin)
-- Character customization with supporting GM and script commands (in progress, Eredin)
-- Mail System (on hold, Natoka )
-- Evaluate Greatshift for features to roll into PS official client (with Neeno)


Projects that are awaiting work, in rough priority order :

-- PS#6606 - GM Notes Facility
-- Scriptable entities
-- Refactor mechanisms to properly persist/share state information.
-- refactor character change capabilities to 3 layers : in-memory,persistent,base.
-- allow GMs to set "lockpickable"
-- MiniGame reset button
-- make guild chat tab appear automatically when a new member joins, or a guild is created
-- NPC ability to make key copies
-- need periodic events table and poller process (adapt from npcclient??)
-- Develop 2D drawing and graphics widget
-- Dynamic loading of special locations, character creation data, quests, rpg rules, scripts and etc at runtime
-- Enhance the current Artificial Intelligence of the Tribes and single NPCs controlled by the server
-- House building
-- Dynamic Economy
-- Autogenerated dungeons
-- Special volumetric areas to define different rules of motion, skills and animations. (example - water/swimming)
-- UI to view and edit the parameters and placement of items, NPCs, locations, natural resources, etc

IF you are interested in working on any of these then don't worry about the priority order. Just let me know and we'll work it out.

2
OK everyone, please step back and take a deep breath.

First, please stop with the personal insults. those are never helpful.

Second, please consider that GMs and Devs are first and foremost people. That means differences in beliefs, RP style and many other things. Let's please remove the strong dev/gm vs player overtone because that tries to force us all into the same mould and we do not all agree on everything. And that's ok.

Furthermore In my experience working with the other devs and gms I have found that most all are willing to compromise, learn, and improve.

Let's please temper our responses with consideration for the other people participating in this thread.

It seems to me that the summary of this entire thread could go something like this :

Damola : I felt uncomfortable with the way that RP went. Could we in future use a combat resolution system to avoid misunderstandings? There was a player thread a while back that talked about a system of cooperating in combat RPs when the players have different styles. Maybe something like that?

GM : sure, I'll consider that.

I believe this shows consideration by both parties. Am I missing anything of relevance?

3
Development Deliberation / Re: More agile development process
« on: February 06, 2015, 03:41:41 am »
I do hope my long posts didn't kill this topic.  :oops:

4
Wish list / Re: A Self Modifying Object
« on: February 01, 2015, 11:07:19 pm »
We are debating the merits and drawbacks of this approach. I wonder if you could provide some detailed and compelling examples ? something not quite so stinky maybe ? ;)

5
Development Deliberation / Re: More agile development process
« on: January 31, 2015, 09:44:02 pm »
Quote
1. Switch to SVN to git.

The biggest question is, given the size of our team, would we get enough benefit to make it worth the time and effort to convert ?

With our current approach each dev/prospect/contributor essentially takes an informal branch to build their local environment then the changes are merged back in manually by the reviewing dev. I'm not sure how formal branching would change things and my experiences with anything other than manual merges have been disastrous.

One final consideration, admittedly minor : we get a lot more project starts than completions. If we did a formal branch for each project we'd have a great many dead branches. I guess that's not really an issue for any source control system. It just feels untidy to me.



Quote
2. Separate repositories for client / server applications, libraries (like Cal3D), game content (restricted?), website, related projects (dev tools, default skins, etc.) - the smaller, the better.

Considering the high degree of sharing betweent the client, server and npcserver...how would we accomplish this without creating more work for ourselves?

Something I neglected to mention in my last post is that we do have seperate repositories for art, content, GM console, dev console, and other assets that are not open.

As for the libraries we depend on I think I addressed that in last post, but yes, what eonwind said:
Quote
Remember we're a little team and there's no way we can maintain forks of CS, we have PS devs with commit accesses in the CS repository and that's all we need right now.



Quote
3. Issue tracker, integrated with code repositories.

This would be very nice. I have begun referring to the flyspray issue number associated with the bug in commit notes. It's a poor substitute. Do you know of anything that integrates with SVN ? Better yet, would you be interested in investigating the possibility of tying our current bug track to our current sourc control system?



Quote
4. Unit tests, at least for some code parts.

This could be very helpful in detecting and preventing new bugs as well as driving stability into the code base. It is also an area in which I am very weak. If you would like to help us implement this, please, please, please apply as a prospect. I will be overjoyed to enable your work on it.



Quote
5. Automatic build system for main development platforms (simplifies testing).

(addressed in my last post)



So of the 5 issues: agree and already moving on 1, agree and open to help on 2 others, lack resources and recognition of benefits on the final 2. Hey, we agree on 3/5, that's a winning score! ;)

It's not as good as the first writeup I did (and lost) but I think that's a pretty thorough basis for further conversation. Thoughts?

6
Wish list / Re: A Self Modifying Object
« on: January 31, 2015, 07:35:21 pm »
created PS#6780 - Scriptable Ojects

7
Wish list / Re: A Self Modifying Object
« on: January 31, 2015, 02:58:38 am »
Aha! I had only a small part of the idea.

My final sentence of the last post was intended to apply to the code-object, not its impact to the game or RP. Sorry if I was unclear. In terms of RP this is a fabulous idea and I would love to see it in game!

Now lets talk purely at an abstract code-object level. I'm going to describe my current understanding of your idea and you can tell me how far off I am until we're at the same point. Then I'm going to put those results in a feature request and kick it about within the dev team.

    The player would define a starting state, a series of "triggers" -- actually let's call them "qualifiers"-- controlling a custom menu of "actions" that may be taken on the object.
    Qualifiers could check attributes, skills, possession of an item, or internal counters.
    Each action could execute one or more commands, for example /shout, /say, or /tell to the person who acted on it, or update its description or internal counters.
    All descriptions and internal counters would be shared to all clients within range as well as persist.

How's that so far?

8
Development Deliberation / Re: More agile development process
« on: January 31, 2015, 12:51:53 am »
    The first thing to keep in mind is, as eonwind says, we are a very small team.
    I'm one of three active engine devs. Weltall is strictly envolved with builds and releases, and Jilare has very little free time these days. We have two active prospects : Natoka, who is working on a big project for us, but recently was overtaken by RL ( ;) ) and Enio, who has little time for big projects but has done a number of very nice bug fixes for us. We also receive valuable code contributions from Shkirr and Neeno.


    The second thing to keep in mind is that there is a long established history, as you say. Let me start with an overview of how the current process works and a little of why. Keep in mind that I have only been with the dev team for about 2 years, so lack most of the knowledge of why things are done the way they are.

    • New feature requests come in from players via flyspray, from devs and gm's via flyspray or direct request, and from Talad's direct request in our developer team meetings.
    • Requests are prioritized by potential impact to the community and developer preference. Critical fixes get immediate attention whereas feature requests that affect a very small number of players take lowest priority. Note the "developer preference" part, because it's important. It is often the case that a prospect will work for us as long as they like the project. Assign them something they don't like and they may leave. This is sometimes true of full developers as well.
    • Features are worked on informal branches of the source code stored on the dev's machine. This works because we typically assign only one dev to a given project at a time.
    • Code contributions are accepted from the community.
    • All code has to be reviewed and tested by a full dev before it can be checked in. The reason behind this is one that none of us wants to think about, but the reality is that opening the code base would invite malicious code insertion.
    • In the past we have collected newly developed features until an agreement is reached within the dev team that now would be a good time to release. Release candidate clients are built and distributed to the dev team who test against the release candidate server in the full test environment. If they seem ok, they are released.
    • We build on top of other libraries but do not attempt to take our own forks of them because of manpower and expertise limitations. (ie, I'd rather work on PS than CS, and don't know enough about CS anyway)

    • Jilare has SVN access to the CS project and has worked with them to implement fixes we need

    Now a little about our current direction :

    • feature requests and bug reports will still be managed as they are at present.

    • A Rapid-development (not truly 'Agile' but borrowing some from it) environment has already been setup that serves both as a second-level dev sandbox and build environment combined:
      • provides daily client builds from the latest SVN, currently linux32 & 64 and windows 32. windows 64 and MacOS/X are in work
      • provides daily server and npcclient builds from the latest svn.
      • provides a safe sandbox for the development of scripts and other content (often descructive and involving lots of server restarts), as well as a place to debug the working npcclient and server.
      • tests new functionality with more load and persistence than individual dev-environments.
      [li]Once code, scripts and features are shown to be stable in the Rapid-development environment they will be promoted to the test server in incremental internal releases. There they will be tested against a copy of the prod database.
    • When a release is deemed good enough, the latest clients from the Rapid-development server should be easily moved to the update server.
    This approach has already proven itself in both development of scripts and quests, as well as detecting and correcting clent crashes due to new code.


    Next time I'll address the items above specifically.

9
Development Deliberation / Re: More agile development process
« on: January 30, 2015, 04:47:11 am »
Three times I have started to post a reply to this describing our internal processes and movement toward anew agile-like methodology . The replies have been long and detailed and I have gotten pulled away and lost the post. I'll try to put my reply in here in smaller chunks in the next few days.

10
Wish list / Re: A Self Modifying Object
« on: January 30, 2015, 04:37:37 am »
If I'm understanding your suggestion - you want to add a custom menu of actions to an item, something like a limited shortcut bar with stat, skill or random percentage based actions. Intriguing notion. Let me think out loud a bit about it:

It would have to be a very limited subset of commands. Nothing that modified descriptions, shortcuts, books or items of the person activating it. It seems it might be easier to list the commands it could do, perhaps just /say And the ability to unlock itself?

Could it be that the triggers are the important element?



11
Have you already tried a fresh install? When I ran into a similar problem that allowed me to work around it.

12
Character customization of height and weight is my next priority after the in-development crafting interface. As much as i would love to, I don't know that we'll be able to include custom clothing because of the serious load it would put on the network and the client gpu.

13
Development Team Blog / Re: Team Update: User Interface (UI).
« on: October 16, 2014, 01:44:42 am »
Here's a little screen recording showing the new Active Effects bar, with icons for all the items, maintaining its shape when a new effect begins (Thanks Shkirr), and showing the timer with warning and danger level colors, and flashing. (note the flashing irregularity is a recording artefact you won't see in game) :

https://www.dropbox.com/s/j6i0zaa5o50kj7l/AETimers-20141015.ogv?dl=0

Here's the tooltip over an Active Effect, showing the countdown :

https://www.dropbox.com/s/991mbff35hxc2k9/AETooltipTimer-20141015.ogv?dl=0


Here's the Info window updated to have warn, danger and flash settings for HP and Mana :

https://www.dropbox.com/s/ph0avvkjq4za0ix/InfoHPandMana-20141015.ogv?dl=0

14
Tuon and I came across this page which seems worth sharing https://wiki.helsinki.fi/display/HUGG/Installing+the+GNU+compilers+on+Mac+OS+X

15
The Hydlaa Plaza / Re: Apologies
« on: October 07, 2014, 03:22:07 am »
Thank you, Pierre, for the unexpected apology.

Pages: [1] 2