Let's do it, let's do it, let's do it

New ideas, features you wish were in the game.
User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Let's do it, let's do it, let's do it

Post by Flambard » Wed 20.06.2007, 12:00

People, let's all work on our beloved mangband ! :)

I mean on main source code.. Together. It's bad to see everyone went on with his own variant. I've been listing your changelogs guys, and some things there are soo cool. They'de be perfect for vanilla mangband.. But they are not there :(

I've also browsed the forums and seen alot of topics (new client, mangband roadmap) and alot of intentions to do this, but nothing is being done.

I see the part of the problem is that we don't have an svn we all have access to, is that correct? Jug's svn seems cool to me, but I can't commit patches there, can you? I've written an email to him asking about that :)

Maybe you guys want to setup a new svn? Or something? There's been talk about setting up a sourceforge account, why not do that? :)

Then, each time any of us is on coding rampage, it will actually benefit main source branch.

So, what do you say ?

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Thu 21.06.2007, 00:12

I like you. You sound a lot like me when I was new to the development process here. Not to rain on your parade, but there's a bit of a problem with your idea.

There's only one person who officially owns MAngband, and the last time someone (iThink) tried to take over, they basically got shut down and laughed out of town. This guy (Crimson) has this vision of something and none of us actually have a complete picture of what that exactly is, what he's doing, where he's taking the project, or what its status is. We don't have a way of contributing to the code, seeing it in an official release and then using it on the official server, and the player base is most loyal to the official mangband.org server. Most of the "good stuff" is closed to us and communication isn't there. We're thrown a bone once in a while that he's working on something, but that's it. Don't get me wrong, his ideas are awesome and I'd love to see them, but I have no idea when or if I ever will.

Basically, it seems that you want to start either a takeover or a new variant of Angband (MAngband2?) that combines all of what's been done up until now. I'm all for the second idea. I've seen what happens when that mutinous first course is run, and it doesn't do anything other than unite the player base against the new developments. I suppose if most of the players stood up and said "we want this" he might cave in, but that's a pretty big if. Then we'd potentially be on our own for hosting and all that goes with it, too... and we've got excellent hosting.

Here's what we need to make a new MAngband happen.
1. We need two game servers: one for play and one for development. Both require access for all development team members.
2. We need a forum for development, feedback and community. I can provide this, no problem.
3. We need a version control system for the source code that we can all agree on. I vote for SVN, and it looks like Jug would also.
4. We need all the developers to agree upon certain changes that will need to happen in order for all the variants so far to be compatible enough to merge. This means network protocol, client code, savefile formats, and a few other things.
5. We need a completely new build system (maybe like the one I made in my most recent version)
6. We need to vastly improve the configuration system such that everyone's clever ideas can be turned on and off for a server instance, and those things can be toggled on and off without changing #defines and recompiling.
7. We need to agree upon a core "development team" that will have access to the game servers.

Given that list, is there anything you or anyone else can volunteer to provide for the long term?
By appreciation, we make excellence in others our own property. (Voltaire)

Billsey
King Vampire
Posts: 272
Joined: Sun 12.02.2006, 14:36
Location: Oregon, USA
Contact:

Re: Let's do it, let's do it, let's do it

Post by Billsey » Thu 21.06.2007, 00:12

"It's in the works"

Heheh, don't you hate to hear something like that? But it's true... Crimson is in the process of setting up a new machine at developer.mangband.org that will hold an SVN archive of the current code, along with the appropriate branches. Over that will be a Savane server with features like bug tracking.

The reason we don't use someone else's package (like sourceforge) has to do with the distribution license for Angband. We're not allowed to use the GPL license because of the clause which basically says that Angband (and it's variants, including Mangband) can not be sold, it must be freely distributed. If you accept the GPL license instead, you are allowing people to sell it for profit...

So be patient. Crimson will get done with the Savane package, we'll release 0.7.6 and start marching toward 1.0.0 soon. 8)
Mangband Project Team Member

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Thu 21.06.2007, 11:35

Obligatory link to the Angband Open Source Initiative... here

Recoding things that don't fall under the GPL would enable us to be fully GPL, if anyone else is interested in working on that.
By appreciation, we make excellence in others our own property. (Voltaire)

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Fri 22.06.2007, 10:19

Hi :)

First of all, let me assure that I am not proposing any takeover, mutiny or rebellion against Crimson. He's a great guy. Yet, I'd like to see the changes we would make incorporated into main mangband source, released on mangband.org (site and server), etc. What I'm basicly proposing is to continue Jug's work, this time not on our own, as we did before, but together. Now, after (I hope) my intentions became a bit clearer, I'd like to address some of your very interesting points, guys )

It's good to hear that svn is on it's way, I really hope we'll see it soon.

Berendol about your list

1,2,3 - setting up SVN, web and mangband servers - I guess I could do that. I mean I already have the 3 setted up anyway :) I'm not sure how long term is that on the other hand..
4,6 - yeah that's exactly the way I see it too. we make mangband vanilla customizbile enough to make variants (or atleast adjusting many features) without editing the source. We should also make client capable to eat anything server throws at him (make client a bit more dumb, but with a fall-back intelegence for basic gameplay incase playing on vanilla server), so variant authors will feel free to tinker with their server sources, but rest assured default client would work.. more servers on same metaserver, larger playerbase, it's a good thing :)

6,7 - I also think we should discuss each patch/feature before implementing it, judge if it's vanilla enougth etc. Bugfixes may go without the waiting line :) We could work with large lists of features being back-ported from your variants...

P.S. Angband Open Source Initiative.. I see. Had no idea about that (

P.P.S. #5 - What's wrong with current build system? I've sucesfully built Jug's sources on both linux & windows machines with default makefales "out-of-the-box".. So I must be missing something here, am I?

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Sat 23.06.2007, 18:45

OK, good, I'm glad there isn't another rebellion, and I agree with you about Crimson being a good guy. From the limited exposure I've had to him anyway :)

We'll need to agree upon what exactly "vanilla" means. That's been a real debate for years and years. The main two viewpoints (grossly oversimplified) are A) realtime Vanilla Angband for multiple players and B) realtime Angband with all the amenities expected of a modern multiplayer dungeon, like player-and-NPC-run towns, wilderness, PvP, more possible scenarios and what have ye.

This is not necessarily the right time in the development stage for discussion of a laundry list of new features, but rather general cleanup and merging. Then the already-coded new features can be merged in after voting upon their usefulness, and then new features can be added. We'll also need lots of new configuration file options. However it's good to keep the wish list around, and we've got a forum for it here.

In order for a universal client to work out, it definitely has to offload lots of things to the server. The client really needs to receive and use (1) "feature" char/attr definitions and (2) a bunch of "text definitions" post-login so it can configure all the buildings and player statistic/spell labels' text that will be displayed, instead of having to hard code it, and support more than the current values for stats and such. Then variants can be free to add features, town buildings, classes, jobs, skills and spells without breaking things. Monsters and items can already be added just fine.

So, we've got a start to the planning, eh? This is the most I've seen done in one week basically ever. Now we'll need some action, but I don't have servers to spare ;)
By appreciation, we make excellence in others our own property. (Voltaire)

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Sun 24.06.2007, 17:14

Cool, I have a feeling we're on a right track :)

'What is vanilla' is a good question indeed and ofcourse I don't have a definite answer.. I guess it's a mixture of A & B of your examples. I guess as long as there are no dramatic changes to the gameflow, we're good.

Another definition is an engine. I.e. we don't need to code new PvP modes, but we need to code in an ability to add new PvP modes if you catch my drift :) Same thing with player-run towns, wilderness etc. I'm not sure about that, tho.. I guess, we would be better off discussing each item on the list. We could also try to imagine if Crimson is going to be happy about particular change..

Now, about the universal client model.. Yeah, I have a similar concept in mind. I also thought, that maybe all custom data (attr/char, list of races, whatever) could be dumped in a file and instead of retransmitting this data on each connect, client would check the checksum of this file first and if it's correct - read the file, if not correct (outdated) request this data from server.

Ok, the servers. I'm not sure about the forum, we could use this one, I suppose?

svn:
http://dflocal.mindloop.ru/svn/mang/mang_jug/

currently, I'm using only 1 branch. PM me for username/password

This is Jug's source with some changes I made. I'll post the list later, but rest assured they are all vanilla (i.e. renderer, bugfixes, updates to makefile, etc).

(If you're on windows and using msys, call makewin script instead of make)

Mangband server: dflocal.mindloop.ru

I think I shall set it up so it will shutdown/recompile/start each hour or something like that? I'd like to hear your thoughts.

Ok, that's all I got for now :)

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Sun 24.06.2007, 17:57

Are you doing an automated build system then? Make sure you have a Build-And-Go script so that when the newly built server crashes at startup, you can rebuild and restart without waiting an hour to see if you fixed the problem. Also, let's see about providing some advanced test characters.

Caching that content locally seems like a good idea. It's only likely to be a couple Kbytes anyways, so it won't slow things down too much. Let's just make sure we have a good progress bar :)

Regarding the build system, check out my BMAngband 6.4.4 server build system on Linux and see what you think. It's far more configurable and far less noisy.
By appreciation, we make excellence in others our own property. (Voltaire)

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Sun 24.06.2007, 19:17

Checked your makefiles out, I see what you mean. I think it's a good thing to have.

I have one concern about main-(PLATFORM) thingie, cause there are 2 additional files for SDL renderer, but all that could be fixed.

I say we use it! :) (If noone else objects ofcourse!)

Just setted up an auto-build system, I'll post a remote control script (is that what you suggested?:) a while latter. It kills the process, then updates from svn, rebuilds and starts again - on hourly basis.

It's not reporting to meta server, but you can reach it at dflocal.mindloop.ru

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Sun 24.06.2007, 20:01

http://dflocal.mindloop.ru/x-up/mang_control.php

If you visit this link the server will rebuild and restart in about 2 minute time.

I'll add password protection later, so this feature won't be abused :) Come to think about it, this whole setup is pretty dangerous to my system,.. but I trust you guys :)

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Mon 25.06.2007, 00:52

Nice job.

It'll be a while before I get into coding, due to plenty of RL things, but I anticipate us seeing a decent amount of progress with the new setup.

Don't forget to test your builds for breakage before submitting, everyone...

Useful things for Windows users: TortoiseSVN, VMware Player (and the Ubuntu virtual appliance)
By appreciation, we make excellence in others our own property. (Voltaire)

Smocco
Blubbering Idiot
Posts: 1
Joined: Wed 27.06.2007, 05:10

Re: Let's do it, let's do it, let's do it

Post by Smocco » Wed 27.06.2007, 15:05

Hi all...

I dunno if any of you remember me but me and Flam ran the "Mangband news" resource back in the day plus got in our fair share of lives and deaths in the dungeon heh.

Anyways, I'm doing some beta testing on the forementioned server that Flam got going on and taking notes too.

So I know this'll turn into a bit of a "War and Peace" size post but hopefully some of this info is helpful.

-----

Part 1. Early stages. Early bugs/glitches.

Built up a high-level High-Elf Priest through quick diving and the first problem came with spellcasting - it also seemed to interact with other aspects of the game. Whenever I used my "enchant weapon" spell (or scroll) and then tried to use Identify right after that it said Identify which item, ate my scroll/mana like its supposed to and then it gave the error of the previous action "You may not enchant that item". So no scroll, less mana and no enchant for me on the day until I restart the client to "reset" this little annoyance.

Now on to everyone's favorite priest spell : Orb of Draining. I like to macro it without a target so I can hit the direction when I'm in the crowd to kill off some annyoing archers/spellcasters at a distance while tryin to gain exp through some cannon fodder Trolls for instance.
Now this seems to work fine but sometimes when I need to cast it several times in a row and several different directions the client gets stuck for a second asking for "direction". This may be a connection issue but the lag meter does not indicate that at all! All my other macros similar to this one seem to work fine.

Now this is all I can remember at the moment but on to bigger things -  let's call it:

Part 2. Dungeon Master Blues

When I decided to explore the dungeon master possibilities I ran into this nasty problem. When I static a level and then float up and down with < > (using God account) everything is fine and the level stays put. But when I try to unstatic the level as soon as I try to float up/down a level after that, the client crashes with NetInput error and Flam saw that crash the server out for good on his side.

Additional note: Sometimes a priest's spells like sense surroundings and detect evil just didn't cast. It took the mana but never gave any message in the client about failure of the spell or anything like that. This would only happen with detection type spells never with bless, sanctuary, or any others....Clairvoyance always seems to work, however... Lately this has not been as persistent but still happens SOMETIMES.

Anyways that's all for now, hope yall find it useful.





So

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Thu 28.06.2007, 06:39

Hello again :)

I'm still waiting for your valuable input everyone! I think I'll settle with 'phase 1' for now (i.e. stealing features from your variants + bug fixes), atleast until there are more contributors.
Here's a list of changes so far (as promised):

- SDL renderer (originally written by hmaon (yay!) and modified by me) a very neat addition, especially for linux users such as myself. I never was too happy playing on X11 . Not sure if it's for any use to windows users (I believe win client is the best out there), but it's possible to try! +lovely fullscreen mode. The only downside is that it's almost non-configurable now :(

- sticky top line became less sticky. In other words you can receive log messages, even when top line is fixed with a permament message. I'm planning on improving this functionality

server changes:

- I don't know if it was a well-known bug or just discovered by Smoker? Anyways he pointed out, that after you static/unstatic level and dive out of it the server crashes. That's now taken care of

- really minor change: when you kill an unique you can see a global message along with other fellas (broadcast) - so no need to ask 'did I get him?'

ok, I know, that is really minor, but I'm kinda afraid to move freely, cause I don't want to turn this whole thing into yet another variant.

Here's another trouble I'm having: there is very little documentation I was able to find about mangband server administartion. I was only able to login as dungeon master, but I know there's more to it. If anyone can enligthen me on this topic, I woud be gratefull :)

BTW, anybody managed to get remote_console compile AND work under windows? I'm missing something there...

----------------------

And yeah, that damned RL... :) But I'm also anticipating... We can do it :)

Berendol
Evil Iggy
Posts: 868
Joined: Mon 11.11.2002, 19:13
Location: Loot Pile
Contact:

Re: Let's do it, let's do it, let's do it

Post by Berendol » Thu 28.06.2007, 10:03

AFAIK, nobody has a native Win32 mangconsole. You'd have to use Cygwin, because it just isn't portable. It's probably the least supported part of the game.

A GUI "console" app would be fantastic, if you're into that.

I renamed it to "remote" (as in remote control) for my variant because "console" doesn't quite apply properly to its function, and it could get confused with "console mode client". This may be worth while for mainstream as well.

I must confess, I need a dummies' guide to SVN. Could you point me in the direction of a good one?
By appreciation, we make excellence in others our own property. (Voltaire)

User avatar
Flambard
King Vampire
Posts: 258
Joined: Wed 20.06.2007, 10:49

Re: Let's do it, let's do it, let's do it

Post by Flambard » Fri 29.06.2007, 07:15

There was a great SVN guide, which unfortunatly I can't find . It went like this:

first you check out the project.
before you begin your work - do update.
sometimes in the middle of your work - do update.
when you're done - do commit :)

Here's a more in-depth guide, but mind you - you won't probably need all those commands immediatly.

http://svnbook.red-bean.com/en/1.1/ch03s05.html

In tortoiseSVN everything is even simplier, cause it marks your files if they differ from base copy :)

I'll post more on a mang-related tone in a little while

Post Reply