Opensourcing engine, volunteer based coding

Discuss ideas for how to make the game better. Wizards, take note!
Forum rules
- Use common sense and be respectful towards each other at all times, even when disagreeing.
- Do not reveal sensitive game information. Guild secrets, player seconds are examples of things not allowed.
Toferth
Wanderer
Posts: 58
Joined: 30 Jun 2017 11:27

Opensourcing engine, volunteer based coding

Post by Toferth » 03 Oct 2017 23:03

I have little idea regarding further development of Genesis.
Disclaimer: I did LP mud long time ago, and never wiz'ed on Genesis (also have no clue how terribly awful your code base it, but I'm rather experienced programmer so I know what to expect ;) ).
I know at some point, wizards were bound to domains, they were basically unable to code for other domains or even access that code.

Problem:
It seems there are many areas that are no longer maintained or otherwise abandoned.
Also mudlib and driver have less love than they would expect (If I remember comment from one of the wizards - "because everybody prefers to code new things")

Now there are two approaches I would propose.

1. Opensource game driver, mudlib and possibly something that doesn't have too much of your domain IP (I would say noobie island),
in a way that anyone can install it on their machine, write some stuff and test it
- Develop it openly or with some NDA signed, keep todo/feature list so everyone can contribute there

^^ That should fix/improve game mechanics, while not revealing too much of a domain stuff
For example thievery badly needs "love", but I guess you have no workpower to do it.

2. Give some options to fix things for people like me, that don't want to become full time wizards, but may want to fix / implement things from time to time at domain code.
Not sure what policy is there for wizards (i.e. are they permitted to play game at all?), but the point is, I'd love to contribute sometimes (can even dig in dead code), but
I have so many activities in RL life, that I can't do it fulltime. Also I do coding for money, so there are days/weeks where I just want to relax :)

Would it be second as a wizard, with limited access, or just sharing pieces of domain code under NDA (all that blocked areas) - I don't know.

Just to preempt suggestion about posting ideas / suggestions to the board - that's different thing.
I'm a programmer, not creative designer. I'm not even native English speaker, and I have no ability to do anything that requires larger chunks of creativity.
i.e. I can code emote, fix it, but probably I can't write it from scratch. I can improve "usability" of quests, but not invent new ones.


Even if single of that options would be possible - that'd be great.

Unless there no longer people like me around, then it obviously makes no sense to do exception for single person.

User avatar
Shanoga
Wizard
Posts: 193
Joined: 03 Mar 2014 13:03
Location: US West

Re: Opensourcing engine, volunteer based coding

Post by Shanoga » 03 Oct 2017 23:25

Here is the information in <help wizhood> for a start. It answers some of your questions about playing and wizzing and might give you a more clear understanding of where things stand now.
WIZARDHOOD
==========

For some players, endless killing, looting, questing, and exploring isn't enough. A desire resides within them to create. That desire can be expressed in various ways:

- personal history and philosophy (creating a more unique persona)
- guild councils and positions of import (creating an esteemed guild)
- librarians and book-writers (creating and expanding a roleplaying structure)
- wizardhood (creating something within the bounds of imagination, rules, and underlying structure of this world).

While all of these methods are fundamental to expanding the depth and detail of this realm we call Genesis, only wizardry allows a character the opportunity to (possibly) have an impact on every single mortal that walks the realms.

If you are interested in becoming a wizard, please read "help wizapp".


Expectations of All Wizards
---------------------------

- All wizards are bound by a common set of rules, including requirements that greatly reduce the amount of interaction with mortals. All wizards are expected to be familiar with these rules.

- All wizards are expected to have their wizard character as their primary character. For new wizards, this means that even though a secondary character may have been the one that gained immortality, the wizard character is now the one that receives the most devotion of time. A provision may be made for certain situations.


Expectations of New Wizards
---------------------------

- New apprentice wizards are expected to join a domain. This is typically done by contacting the Liege of the domain, either before or after being promoted to wizardry. Every coding wizard belongs to a domain! For information about the interests and projects of each domain, please visit the domain offices in the Tower of the Realms.

- While waiting to join a domain, the new wizard learns how to use (and read!) the documentation available to all wizards.

- When a new wizard joins a domain, the learning process continues. A mentor in the domain is assigned to help the new wizard get settled, as well as teach him the principles of coding in the game. A lot of time will naturally have to be spent on your own, but the personal mentor will always be available to help with questions. The domain Liege as well as the other members of the domain - though often busy - can always be counted on to answer a question or two, just as any wizard in the game will, provided it is asked politely. Remember, they are busy, as well.

- In consultation with the mentor and the Liege, the new wizard ends his student wizard career with a small project which is closely monitored. This project ensures that the fundamentals of coding are being taught and understood. Certain mechanics are also learned, like how to script and code a quest, or how to make a monster appropriately challenging.

- New wizards may only spend limited time with their mortal characters while completing their first project, for answering mails and such. Roughly fifteen minutes per day is adequate in most cases.

- After completion and review of the first project, the wizard works with the Liege and other members of the domain in contributing and developing other ideas for the domain to pursue within its theme!


What Wizards Can Expect
-----------------------

- All wizards can expect to have some amount of choice in what they choose to spend their time working on. However, because of changes in the fundamental structure of the game or re-assessment of an area, wizards are required to aid their domain in maintaining old areas or making the necessary changes.

- All wizards can expect to have their code reviewed in a timely manner by their Liege or the appropriate Arch team.

- All wizards can expect to be treated with courtesy by their peers.

Toferth
Wanderer
Posts: 58
Joined: 30 Jun 2017 11:27

Re: Opensourcing engine, volunteer based coding

Post by Toferth » 04 Oct 2017 01:35

That is exactly why I'm not looking for wizhood, but rather thinking of something between being player and wizard.

Especially that non-free to join guild usually require some time (like my does), and I don't want to give that up.

Lastly wizhood seems designed for students that have lots of free time ;)
It's OK for me to fix something here and there sometimes (mostly things that annoy me) while still enjoying the game, but NOK for full time commitment.

Edit: rephrased a bit.

Drazson
Titan
Posts: 499
Joined: 24 Jan 2016 21:27

Re: Opensourcing engine, volunteer based coding

Post by Drazson » 04 Oct 2017 09:07

I have more or less the same issues. I am actually still a uni student but currently looking for internship or job and overall having too little time to commit to this with uni projects running amock anyway. It is obvious how impeding RL can be for wizzies and many of them do (rightfully, mind you) "dissappear" now and then if I'm not mistaken. It is impressive how committed they are but it's not as effective as it could be with that low a manpower.

The issue with wider range of people being able to code stuff for Genesis is that, soon, the whole community could know what the hell happens regarding every mystery of the Donut. That stuff takes years to reveal normally. Personally, I can't underestimate that, it does sound possible it will break the game for many.

Toferth, reading your post made me think of Linux distributions' repositories. Not nearly an expert but frankly, programs are free to download and are open source, meaning you have access to the code and can submit your fixes/alteration, which can be accepted or rejected as wrong/unstable/whatever by the community and are integrated in the core code in the next update if deemed good.

Something in between that system and the current wiz system should be what we are looking to achieve. I am not sure about ownership status for Gen or if wizzies work under some NDA, I doubt that. I imagine the "work" their way "up" and are trusted that the more serious stuff they will touch on will not be revealed to others, again a guess. Is there a way we can alleviate those trust issues (which I don't underestimate by any means)?

I'd be glad to hear ideas and I hope we can ... crack the code. (had to!)

Toferth
Wanderer
Posts: 58
Joined: 30 Jun 2017 11:27

Re: Opensourcing engine, volunteer based coding

Post by Toferth » 04 Oct 2017 09:55

That's why idea #1 is driver/mudlib + noob zone (i.e. Genesis engine but no domain code).

Older version of this sources are somewhere in the web anyway, I guess everyone knows how to map stats or how combat (was) calculated.

Example:
I don't see any "revealing secrets" issue with person implementing extra GMCP fields for clients, or fixing command parsing, or (as I posted before) thievery system.
Obviously guidance from wizards would be required, and final integration / tweaks have to be handled by "full time" wizards.

Also some of them are already revealed.

Hypothetical example: Someone wants to learn how stealing works to be awesomer follower of Hiddukel.
It is pretty hard to ask that in game because:
- Ordinary players hunt thieves
- Guild is so secretive no other members are acitve ;)
Obviously best thief is the one that is never caught and nobody suspects him of his side activities. (btw. that should be changed somehow if we want real thieves/rogues, not Westor-like spammers or magic abusers).

So what that person could do is to google for old Genesis mudlib and reverse engineer how it works.

On the other hand, some skillfull programmer person can (with supports and ideas from wizards) at least partially recode that system.

Note: I assume Genesis gamedriver/mudlib code is not whirled spaghetti with if-elses per domain, specific guilds and so on.


EDIT: stupid me, actually gamedriver is already there.. so what we need is mudlib / noob zone ;)
for lazy: https://github.com/cotillion/cd-gamedriver

There is also some sample domain/mudlib, but I assume it has nothing to do with real Genesis.

In that case I'll scan the board for possible "issues" at least for driver ;)

mallor
Rising Hero
Posts: 371
Joined: 27 Jun 2011 13:20

Re: Opensourcing engine, volunteer based coding

Post by mallor » 04 Oct 2017 09:58

So you basically want to reveal things like how stats work in combat to public? Or how imbues engine works? You can't release any amount of minimal content without those.

Toferth
Wanderer
Posts: 58
Joined: 30 Jun 2017 11:27

Re: Opensourcing engine, volunteer based coding

Post by Toferth » 04 Oct 2017 10:17

Hm, it's not known already (at least for the older players, not noobies like me)?
Obviously I assume sample mudlib diverged a bit from what you have now (after all it's like 7 years old).

In that case I have to rethink my statements. Meh :/

mallor
Rising Hero
Posts: 371
Joined: 27 Jun 2011 13:20

Re: Opensourcing engine, volunteer based coding

Post by mallor » 04 Oct 2017 10:22

Some stuff is known, but not with 100% certainty. Knowing to the bit which stat affects what is not a common knowledge for sure, mostly educated guesses. Once code is released it will be reverse engineered within few hours, I'll be first to do it :D

Toferth
Wanderer
Posts: 58
Joined: 30 Jun 2017 11:27

Re: Opensourcing engine, volunteer based coding

Post by Toferth » 05 Oct 2017 02:07

Argh, I mistaken you for wiz, noob me;

Anyway - did you looked at that mudlib I linked?
I'm pretty sure at least parts of it are not heavily diverged from current state (or they were not at the time of release).

Drazson
Titan
Posts: 499
Joined: 24 Jan 2016 21:27

Re: Opensourcing engine, volunteer based coding

Post by Drazson » 05 Oct 2017 02:13

Seems like those files would act as libraries for the whole thing, but I'm a noob :D . This as an example could be a way to scramble up a creation or 2 yet without debugging it's kind of meaningless, no? Plus no fixes, only new stuff.

Post Reply
http://tworzymyatmosfere.pl/przescieradla-jedwabne-z-gumka/