• Civilization 7 has been announced. For more info please check the forum here .

The Modders Cooperative: Monkeys and Wizards!

Lib.Spi't

Overlord of the Wasteland
Joined
Feb 12, 2009
Messages
3,708
Location
UK
So I had this idea of creating a 'Talent Exchange'

The Modders Cooperative!


There would be 2 'Teams' the Monkeys and the Wizards!

Wizards:
These are the rare magical beings that exist in these forums that actually KNOW what they are doing, they brighten our lives releasing amazing mods and features that do all kinds of amazing things using the dark and mystrious arts of CODE!

Monkeys:
Like me I am sure there are many others out there who love modding, but when it comes to anything much beyond the depths of copy and paste they begin to lose all sense of understanding and are left helplessly flinging their faeces at the computer screen wondering 'WHY WON'T IT WORK!!!!' (maybe the poop flinging is where I am going wrong)
What all us monkeys can do though is copy/paste line after line and reference after reference in the xml files and change all the numbers and letters to do magical things in our computer and makes us feel all warm and fuzzy (and fling faeces at our computer screens in celebration.. I am not the only one right? that's not weird at all!)

So I offer a Trade!
We monkeys band together and say 'Oh Wise Wizards give us your amazing mod comps and help to make them user friendly so we monkeys can change the numbers and letters and play too! Help us push back the Darkness of the "I wish I could make it do this's..thisie??... what I wants!" In exchange Oh Wise Wizards we will endlessly copy/paste your xml files adding in all those units, buildings, resources, and art references that you desire for your mods!'

So is this a good Idea?

Will any Monkeys Sign Up and Join me?

Do any Wizards require Monkey Labourers?

Does anyone see the benefit to push the Frontiers of Col. forward and getting great mods to the masses faster?

If So Then JOIN US!! (Me....)

Wizards:
Monkeys: Lib.Spi't

Sponsored by the Technical Hurdles to World Domination Thread

(Also Known as the World History Mod Conversation Thread
 
Heh, thanks for an entertaining post. Just so you know we "Wizards" fling poo too, albeit magical poo:cool:. Sometimes we sit amazed at our own accomplishments and say, "wow, that actually worked". Other times we run out of poo, but if there isn't one way to do something we usually find another.

Time is the biggest issue, finding the time to mod. Anyway, I'll keep in mind the World History Mod idea and think on it over the holidays.
 
Yes that really is the reason for this post, generally most of the Wizards have there own mods like Medieval, and they all generally have the same problem of limited time, so my hope is that we can create a situation where your mods get moved along and your time can be better spent doing 'the really hard stuff' and then we faithful bands of Monkeys with our limited understanding can be given basic tasks like, I need 12 new unit references in the game (list of unit names) then we go and make it happen! and you can just tweak it when you desire, or even leave us with tweak instructions while you go back to making 'A counter that gets the player a girlfriend when you produce enough liberty bells' Ok maybe that is beyond even a Wizards ability but you get the jist! :D
 
Wizards:
Monkeys: Lib.Spi't
This looks like the common problem. Too few wizards. Colonization: 2071 ran into the same problem and orlanth (the creator monkey) came up with the idea to branch off the RaR or M:C DLL because the one he used sucked. I read that and took the idea further. Instead of branch off the M:C DLL, M:C itself was lightly modified to work for multiple mods at the same time. Ok, not 100% the same time as a few things like yields are hardcoded, but the same codebase can compile for both mods. The differences will then appear from XML setup and to some extend python as well. However the goal is to share as much python code as possible.

This allow the few (2?) wizards still working on Colonization modding to join forces and work on a single DLL and multiple monkeys and mods can then benefit from it. Moving a DLL from one to two mods requires some work. Moving from two to three is almost like a free bonus. It is a copy paste of 2-3 short files, which works almost like config files.

Rather than looking for wizards, I think you would be better off getting added to the M:C DLL. This way no wizard power is wasted on making multiple DLLs and moving interesting additions between DLLs. Copying a DLL feature is surprisingly time consuming.
 
Yes speaking as a far from wizardly person, it's realistically too time consuming and dangerous to try to create and maintain multiple DLLs while avoiding difficult-to-trace errors unless you absolutely know what you're doing. In changing DLL there are lots of potential issues surrounding compatibility and game performance that most people would not know how to identify or address. Now that M:C is getting more & more modder friendly it hopefully will be possible to do a lot using just XML. RaR is another potential good code base to consider for making modmods, it initially was the goal to create a base for use by modmodders.

To do compatible XML modding you'd have to focus on modding game content and how it interacts (unit/building/yield/bonus/feature/terrain/techs etc etc) , and give up any more complicated dreams based around specific new additional rule systems and totally redeveloping/altering normal game behavior (IMO that's for the best, M:C is getting about as many available features/options as a modder's heart could desire, and adding rules and systems to an already complex game often creates a result thats a lot less fun and playable for players than it might have seemed in theory.)

Anyway if you're wanting to create a total conversion mod based on M:C (i.e., most or all of the vanilla game content removed and replaced with your own); you could also try using my XML Generator Perl script to see if it makes things faster. It creates a set of XML files in M:C compatible format, using lists of tagnames that you place in the script, you'd still need to edit the resulting XML to customize the stats how you like. It can otherwise be very daunting for one person to create dozens of XML files with hundreds of entries all by hand while keeping track of all the tag references between them. (if that person's not named Kailric or Ray that is! ;) )
 
RaR is another potential good code base to consider for making modmods, it initially was the goal to create a base for use by modmodders.

The original philosophie of RaR was quite different though, to what I currently see discussed.

RaR wanted to unite the best features that existed at the time and of course add quality features of our own to that.

But "unite" does not simply mean "copy". It should also enhance and improve.
Thus getting these features as stable and balanced as possible.

RaR however wanted to stay focussed.
Meaning that no "unnecessary" additions would be made, just because some modmod might one day use it, if the main mod did not.
It should become a stable and performant base and not a bugged mod that did everything but nothing really well.

RaR never wanted to create a "Colonization+Medieval+SciFi+WorldHistory"-DLL.
We wanted to create a "Colonization"-DLL that skilled modders could use to create Modmods or even Total Conversions
by adding the features that were still missing and removing the features they did not want.
They should simply be able to rely, that the features they kept were of good quality.

We did expect, that people wanting to use RaR as a base for new projects, would form new teams with skilled specialists of programmers, graphical modders, testers, ...

------

Please don't misunderstand me, because I don't want to critizise. :thumbsup:

I am currently simply a bit disappointed that I only see many modders and modmodders running around and doing whatever they want.
Everybody seems to want to do something different.

I don't really see teams, that share a common vision and really join forces to create features and enhancments in an organized or efficient way.

Thus it feels to me that the progress made in all the projects around is really very little compared to the progress a real team could make.

Also, everybody is only talking about programmers.
But what about experienced graphical modders or experienced quality assurance ?
 
Meaning that no "unnecessary" additions would be made, just because some modmod might one day use it, if the main mod did not.
It should become a stable and performant base and not a bugged mod that did everything but nothing really well.
I don't think anybody said anything about adding something "because some mod might use it in the future". The only additions I have made like that is for planned additions in M:C and even then the code contains very little unused code.

Sharing a DLL source started to get stability and performance. I played Colonization 2071 and while I liked the idea, it had some coding shortcomings, such as features relying on never implemented DLL code (could that be called bugs?). Far worse the game quickly became unbearably slow. Using the M:C DLL was the agreed upon solution as it would then benefit from the greatly improved performance I had recently committed to M:C at the time. Likewise M:C is becoming more and more stable which col2071 benefits on "for free". In other words it's not about adding more mods on their own, but adding the possibility for other mods to exploit the improved features, stability and performance in M:C. The goal is to concentrate the effort to increase performance and stability to a single source, which is then used in multiple mods at once rather than spread out the DLL work.

Besides it would appear that the M:C DLL performs better than the RaR one. I have profiled RaR multiple times (last as late as yesterday), but I'm still short of a good way to improve performance even more. Maybe it just is memory access delay as it tend to use more memory.

RaR never wanted to create a "Colonization+Medieval+SciFi+WorldHistory"-DLL.
The main key here is abstraction level. From a coding point of view SciFi isn't that much different from Medieval times. That is, it isn't in our case as nobody shows up and code truly scifi specific code.

I am currently simply a bit disappointed that I only see many modders and modmodders running around and doing whatever they want.
Everybody seems to want to do something different.

I don't really see teams, that share a common vision and really join forces to create features and enhancments in an organized or efficient way.

Thus it feels to me that the progress made in all the projects around is really very little compared to the progress a real team could make.
I agree on this one. We would likely be more efficient if we joined forces on just a single mod. However reality is that some people have an inner glow for precisely their own mod and working on scifi when you wanted to do world history can turn off that inner glow and make you do nothing. Doing something not at peak efficiency is better than doing nothing at all.

Also, everybody is only talking about programmers.
But what about experienced graphical modders or experienced quality assurance ?
I'm hoping that whoever wants to start a new mod (like world history) already considered what to do about graphics. The mod is doomed otherwise. Quality of the DLL is improved by having more people use it and as such test it for bugs. Quality of the individual mods, such as balance and stuff could suffer from manpower being spread too thin. Again I hope people working on each mod considered this.


To do compatible XML modding you'd have to focus on modding game content and how it interacts (unit/building/yield/bonus/feature/terrain/techs etc etc) , and give up any more complicated dreams based around specific new additional rule systems and totally redeveloping/altering normal game behavior (IMO that's for the best, M:C is getting about as many available features/options as a modder's heart could desire, and adding rules and systems to an already complex game often creates a result thats a lot less fun and playable for players than it might have seemed in theory.)
Adding new rules to the DLL is still an option if it is really needed. However such additions should be debated as they could influence other mods meaning they have to be thought though somewhat better than people might do with a one mod-one source setup. Debating code changes in advance is always healthy meaning we might not have lost much here.
 
We would likely be more efficient if we joined forces on just a single mod.

Exactly. :thumbsup:

Currently however the little available work force is spread everywhere and focussed nowhere.

However reality is that some people have an inner glow for precisely their own mod and working on scifi when you wanted to do world history can turn off that inner glow and make you do nothing.

I know. :)
It is very hard to find and keep up a "common vision".

But on the other hand it is quite unrealistic, that a beginner can do a huge mod or total conversion in really good quality.
Only few modders really have the skills and experience to create huge mods in good quality even if they occassionally get some support from fellow modders.

Doing something not at peak efficiency is better than doing nothing at all.

But it will not be very satisfying on the long run.
It is much more satisfying to actually produce results at good speed and especially good quality.

I'm hoping that whoever wants to start a new mod (like world history) already considered what to do about graphics. The mod is doomed otherwise. Quality of the DLL is improved by having more people use it and as such test it for bugs. Quality of the individual mods, such as balance and stuff could suffer from manpower being spread too thin. Again I hope people working on each mod considered this.

It feels to me that most people in the discussions about "great new mods" do not consider that appropriately.
It seems like they believe that good graphics, good balancing and good texts more or less come by itself.

Mods are made of much more than just code.
Quality of graphics, texts, balancing, ... is just as important.

------

I really don't want to critizise.

I believe though, that this community only has 2 alternatives:

1) Seriously rethink and try to create real teams to finally be able to create really great mods at good speed.
And such teams need much more than just programmers.

2) Have everybody just follow his own ideas and continue to create mods at lower speed and lower quality than most players would hope for.
But then, probably more and more modders and players will loose interest in this game.

------

Well, it is up to this community. :thumbsup:
 
I really don't want to critizise.
Your concern is well based and welcome.

Personally I plan to continue working on M:C. I will then sometimes do something for col2071 as needed, but the main goal is M:C. If other people wants to mod their own mods, then I will not tell them not to. Starting a new mod isn't a minor task, but I think experience from Tame The Wastes tells that. Btw what will happen to the Civ4 fallout universe if the effort is aimed at world history? I could understand starting a fallout colo mod and reuse graphics etc, but starting from scratch with world history took me by surprise. Nevertheless if that is what you want, then I will be open for a joined effort with the DLL. Leeching off the DLL without adding to it is ok too.
 
Well to be perfectly honest I think you have both missed the idea behind this thread...

The truth is game text and balance come from imagination (or a myriad of other sources on the internet or books in terms of text)

There are already of lot of graphics out there, Civ4 already has masses of stuff.

The point is most modders are not computer programmers, they are hobbiests, a few can go deeper and make really NEW things happen, like has already been seen in both Civ4 and Col.
My point with this is about calling on people that want to see big mods moved forward, but feel intimidated and overwhelmed by them to the point that they feel they have nothing to offer..

But they do have something to offer! With a very small amount of work they can learn how to add units, or buildings, or yields. They can then do this for Wizards in their mods freeing up wizards to focus on the new or hard ideas!

No one mentioned a "Colonization+Medieval+SciFi+WorldHistory" DLL the fact is what makes a game one of these things is not the DLL, but the XML (which is much easier) But New DLL and Python content gives 'options' to modders, as the same basic python concept could be tweaked to provide a number of different scenarios, just by changing the XML Strings connected to it..

To be perfectly honest the criticism is not all that well founded, you have just sort of gone on a jaunt down memory lane about how it is not like the good old days...

Yet when someone puts forward the idea of cooperation and increasing the power of the code base for all mods and modders, by sharing skills to create generic content that can then be used by all you say it doesn't work and it would be better if teams just got together and made everything... But where do teams come from, they come from cooperation!

I am not looking for all the reasons why this might not work, I am looking for people that are willing to share and cooperate! Nighttingale you just said yourself that both MC and 2071 are doing this, so why not open this out further? Why not add in other components that exist in other working mods, label their parts as you go, and the 'Note them out' until someone has need of them?

Then while working on the Complex code elements like for example assigning demand levels for yields and specific units, to create an evolving local market system, you would only need to do one example yield, then ask someone here to copy paste it and change the yield names and unit names, while you go back to writing hard code?

If we all joined forces working on one DLL code, and supplying references on how to tweak it, then you can create a variety of games, with a variety of differences with a much smaller skill level... it's synergie.

As for Tame the Waste I have now managed to develop a team, (using similar appeals to this) and working cooperatively with other modders, each enhancing the others code to give more options (just like I am putting forward with this) and I am able to allow that to continue developing (My code maestro is in the process of adding some very exciting components) and doing my new mod concept as well. A Fallout Col. Mod doesn't really interest me that much, as I would just be going over what I have already done for civ. The World Mod for Col. has always intrigued me though, and has seemed to be 'flirted' with by a number of projects on here. With a Multivasion modcomp, I can (I think) see how to do it, all that is lacking is my current understanding of what is already available across the big mods. (Which again Kailric is already helping me to rectify! Hooray!)

The point of the world history one is that actually the core code for it is almost completely there, the only thing that was really missing was the 'Multivasion' component which fullerene is now working on.

Everything else is just Tweaking, which almost anyone of any skill level can do (once they know where to look, which Kailric has already been very helpful with and continues to do so).

Why not take the DLL and python of both RaR and M:C and merge them together? Marking them up so that if you don't want to use a component you can just notate it out?

I am talking about an attempt to organise energy and lend support, without having to fully commit to a project that is not your dream, but with code changes everyone can benefit and tweak them to enhance there mod concept..

But from the experience I have had from FTTW, I already know how MUCH can be achieved by a poo flinging monkey with community support!

I could keep going on but I am tired...

Allow me to end on the Words Of Wisdom From Waynes World 2... "If you book them they will come."

Just think about that...
 
Well to be perfectly honest I think you have both missed the idea behind this thread...
Let me be perfectly clear here: I proposed using the M:C DLL in the first place and I'm not backing out of that. All I said was that ray has a point that programming isn't everything and that graphics and stuff is important too. He is right about that and it would go wrong if this is forgotten. However as I said I look at who posted what and I assume that if somebody is able to make Tame the Waste, then I will not have to lecture about graphics and stuff like that. I will just assume people to know on their own without mentioning it.

In fact this isn't much different from my appearance in the Tame the Waste thread. There is a coding problem mentioned, I wrote a few lines of code. Another problem was mentioned and I wrote a few lines again. I didn't get any feedback with "it didn't work" meaning I assume it worked just fine. This gives me confidence that providing access to the DLL will be enough for people, who have proven skilled enough to handle the rest.

Why not take the DLL and python of both RaR and M:C and merge them together? Marking them up so that if you don't want to use a component you can just notate it out?
Moving from one mod to another takes a lot of time as the code in the two mods are less identical than people imagine. Copy paste is often not enough. This is the main reason why I came up with the idea to share the DLL with col2071 rather than giving a copy and then update that copy as well. Keeping that copy up to date would be more time consuming than the work needed to share the code.

I am talking about an attempt to organise energy and lend support, without having to fully commit to a project that is not your dream, but with code changes everyone can benefit and tweak them to enhance there mod concept..
My first goal was to save col2071 from dying due to performance issues (and other stuff). However adding access to an additional mod made it clear early on that allowing 2 or 10 would basically be the same amount of work on the DLL. Offering the DLL here is the logical next step of that development as the work has already been done.
 
Top Bottom