Development SDK, or not?...

Talk about your new mod or map here

Moderators: bert_the_turtle, jelco

ricky26
level1
level1
Posts: 11
Joined: Sun May 23, 2004 6:12 pm
Contact:

Development SDK, or not?...

Postby ricky26 » Sat Aug 13, 2005 9:29 pm

I was looking throught the forums when i found a post about making a DevCD... And some one suggested making an SDK using DLLs....

Two reasons why not:

1) DLLs are dangerous, they can contain virii and can be malicious in other ways.

2) Arkward, there would have to be multiple sections of code just for loading.

My answer: Lua...

You could export an API for buildings and units alike. Then all you'd have is a bunch of lua files and complete modding support.

Also I'm a programmer, so I know how easy it is... One wrapper function for every funtion a unit/building may need and away you go.

You could even add a lua console in-game. :)

@Introversion: PLEASE!!! :3 I want to make a darwin-cannon. lol
User avatar
prophile
level5
level5
Posts: 1541
Joined: Fri Feb 18, 2005 4:17 pm
Location: Southampton, UK
Contact:

Postby prophile » Sat Aug 13, 2005 10:15 pm

Erk...

The plural of 'virus' is 'viruses', by the way.
User avatar
trickfred
level5
level5
Posts: 1691
Joined: Sat Jul 24, 2004 5:01 am
Location: The Great White North, Eh?
Contact:

Postby trickfred » Sat Aug 13, 2005 11:03 pm

User avatar
NeoThermic
Introversion Staff
Introversion Staff
Posts: 6254
Joined: Sat Mar 02, 2002 10:55 am
Location: ::1
Contact:

Re: Development SDK, or not?...

Postby NeoThermic » Sun Aug 14, 2005 12:35 am

ricky26 wrote:I was looking throught the forums when i found a post about making a DevCD... And some one suggested making an SDK using DLLs....

Two reasons why not:


I'll give you a third:

Chris said it won't happen.

Basically you'll have to wait for the real DevCD. Incorperating any third party code into Darwinia won't happen now.

And any discussion over virii/viruses stops now. We don't need this topic de-railed.

NeoThermic
User avatar
Ozzard
level0
Posts: 4
Joined: Fri Aug 19, 2005 7:42 pm
Location: Manchester, England
Contact:

One doesn't need a full SDK given appropriate tools...

Postby Ozzard » Fri Aug 19, 2005 9:42 pm

I'm picking up on this thread as it's probably the most recent, and also the closest to my own background. I'm interested in developing virtual worlds of various kinds, and have spent the last fifteen years running and developing a thoroughly text-based multi-user game. The key to that site has always been dynamic user programmability, so I'm sort-of coming at the subject from that angle.

That multi-user game (UglyMUG, in case anyone's interested - a forgotten backwater of the MUD world) started out life as a TinyMUD, with a whole load of special-case commands. Then we added a command language for primitive scripting, then we kept enhancing that scripting language. In retrospect, what we should have done was to then re-code the special case commands using the scripting language, but we didn't. As a result, we now have a system that combines special-case and general-purpose commands, and often has several ways of doing things. Think Perl, but with even less structure... come on, stop laughing, it's not that bad.

Darwinia shows many of the same symptoms. Much of this is due, I suspect, to being coded by a small group with tight constraints on the available effort. The scripting system is a minimalist masterpiece, containing all and only the facilities Introversion needed to release the software. Now they have people wanting to dive in and mod the system, and suddenly that hard-coded objective of refining 20 primitives, or level 10 having souls drifting down from the sky, seems more restrictive than the modding community would like. It's also going to make things pretty tough if Introversion ever wish to release an expansion, as I suspect they'd have to re-work quite a chunk of the scripting in order to meet their own objectives.

So, how to change this? The concept is simple, the execution somewhat harder: Break the objects in the game down into smaller components, provide marginally enhanced scripting to glue the components together, and accept that running the extra script is going to cause a performance hit. Given the minspec for Darwinia, I would expect the performance hit to be acceptable on 95%+ of current gaming rigs.

For example, I've seen a posting elsewhere asking for the ability to have buildings 'turn on' when manned (sprited?) by a certain number of Darwinians. Well... OK, but that takes new code. Why not instead have a 'console' building that turns on when manned by one Darwinian, that can be linked to another building, and where the other building turns on when all the consoles are filled? It's modular, it's very close to the spirit (and, I suspect, the code) of the existing system, and it's therefore flexible while requiring comparatively few changes to the codebase. Add in the possibility of activating StaticShapes, and suddenly one can take out some of the in-game buildings and replace them with these constructs. Add in the possibility of different models for different levels of activation, and you could replace the spawn points with these constructs... I'm sure you get the idea, and suspect I'm teaching Grandmother to suck eggs.

However, then comes the much harder part: Modders don't just want new buildings, they want new units - Darwinians riding ants or whatever. These units have new capabilities, and therefore new ways of being used; and that requires hacking at the AI code in order to add behaviours. Suddenly, you're not in Kansas any more. Scripting gives way to tight, real-time code with some nasty constraints on everything from call overhead to memory usage. I have a radical idea for dealing with this: Don't. It's 90% of the effort for 10% of the gain in gameplay. Do *something*, rather than nothing; put in a little effort, rather than a lot. Incremental patch releases give a marvellous opportunity for adding functionality - look at the recent patches for Diablo II and you'll see what I mean. Introversion could, and in my very humble opinion should, take advantage of this and enhance the possibilities for modding, as far as it is possible to do this with the small amount of effort they have available.

So for those who have read this far, consider this a request for the easy 10% that'll cover 90% of this modder's requirements. Removing the special cases put in before release, and generalising a few existing mechanisms, would get a lot of what we want at a low development price, and would probably ease Introversion's future development at the same time.

Right, I'll crawl back into my hole now!

- Peter
nihilisthetics
level1
level1
Posts: 50
Joined: Sun Apr 24, 2005 5:28 pm
Contact:

Postby nihilisthetics » Fri Aug 19, 2005 11:53 pm

Very interesting. Like you say, its easy to look back now and pontificate on how the game could have been more modular, but the overheads in testing for such a flexible system on all the different platforms would have put an end to the whole project. I agree that the only realistic way for IV to enhance the modding capabilities is to bolt requested features on in a series of patches.

But I cant really see why they would bother. I am sure they are very grateful for the small groups of loyal fans who are discussing and releasing mods, but appeasing them (us) is not going to generate more revenue. A vibrant modding community will sell more units of their product, but only if considerably more high-quality mods are developed that attract people to the game that would not otherwise bother. Responding to user requests will also help to build their brand now and may lead to better fortunes with further releases. However, currently there are only a handful of noteworthy mods available and they dont even come close to touching the full potential of whats already there in the modding system. Im sure the authors of these mods, talented as they are, would agree. For example, take the release of the 3ds files of the models used in the game which was made available at the request of the community. Absolutely nothing has been done with this yet.

I dont even think the release of a Dev CD with source code would help much. I dont think there are enough people with the right resolve and knowledge to put this kind of thing to good use ( I certainly couldn't). Patches should only be used for the fixing of bugs. I think we need to actually make better use of what is currently available in the modding system.

N
User avatar
The GoldFish
level5
level5
Posts: 3961
Joined: Fri Mar 01, 2002 9:01 pm
Location: Bowl / South UK
Contact:

Postby The GoldFish » Sat Aug 20, 2005 5:35 am

nihilisthetics wrote:However, currently there are only a handful of noteworthy mods available and they dont even come close to touching the full potential of whats already there in the modding system. Im sure the authors of these mods, talented as they are, would agree.

I disagree! :P
nihilisthetics
level1
level1
Posts: 50
Joined: Sun Apr 24, 2005 5:28 pm
Contact:

Postby nihilisthetics » Sat Aug 20, 2005 11:45 am

Well, I might have predicted TGF would think that. But if you look closely at my remark, I was actually refering to talented authors, not conceited authors. How modest of you to proclaim yourself on that list ;)

Notwithstanding TGFs magnum opus, I think the modding ground is still very fertile and has only just begun to be explored.

N
User avatar
The GoldFish
level5
level5
Posts: 3961
Joined: Fri Mar 01, 2002 9:01 pm
Location: Bowl / South UK
Contact:

Postby The GoldFish » Sat Aug 20, 2005 1:31 pm

Hey, being conceited and being talented aren't mutually exclusive! :P

The problem really is working all these nuggets of information into being functionally useful in your mod, and while I agree that there may be lots of tiny neat things that haven't been used at all or in other ways, I think that if they were really any use in a mod in the first place they'd catch someone's interest and sprout up - but the field is full of rocks impeding progress all over the place, which for me stops things being useful.

Stricken is just a chop shop of messing around with the file system and playing with the things I found in and out of the editor as I went along, pretty much nothing I 'discovered' got left out. That said, most of my time was spent playing it, rather than researching ways of developing it. I'd say that with work you can end up with more graphically refined landscapes and structures except for the things we can't change, with more missions and objectives except for the things we can't change, with livelier units with flowing intercommunication between them except for the things we can't change, with shinier special effects except for the things we can't change, with different/alternate sound scapes except for the things we can't change, etc. It just didn't seem... worth it to do that stuff to me, I only really did what came easily to me, I'm not a sound engineer, computer programmer or a 3D modeller, but I seem to be pretty good at transmuting one thing into another.

The amount of stuff we can envisage and just can't do is depressing if nothing else, and it seems to just kill off what's left of the ground that hasn't been covered because, to be honest, I don't really want to play Darwinia that much if it's just the same old send an engineer around the back or muster in an army of squadies - working out the best or most efficient way of doing something has never really been a problem for me, hence why Stricken was pretty much all about muscling in on the more... arcade aspects I guess - it's usually pretty obvious what you have to *do*, it was a case of actually doing it, but not in a dumb way (I hope, at least, hehe) - What I really want is a story, maybe you can see that from all the cinematics, and something that, while you play it, plays you right back (think playing gladiator properly, ie, major adrenaline rush, followed by darlington, ie, requiring patients and caution), or spouting vital plot at you while trying to fight a giant black centipede...

Really, I think the modding ground is pretty much worked over bar the rocky patches, and it's the plot field that needs some attention, but it's the same problem comming back, that you can easily get stuck at the first hurdle cause what you want to do just isn't possible.

But then, people are different, this is just how I feel, so who knows, maybe someone else will come up with something I want to play - Hell, I still can't believe people bother to waste all their time killing spiders in Stricken :P
User avatar
Ozzard
level0
Posts: 4
Joined: Fri Aug 19, 2005 7:42 pm
Location: Manchester, England
Contact:

Mods, with the occasional rock[er]

Postby Ozzard » Sat Aug 20, 2005 5:47 pm

it's the same problem comming back, that you can easily get stuck at the first hurdle cause what you want to do just isn't possible.


That's pretty much where I'm at. I could make some great [well, to me!] part-strategy, part-puzzle levels, but a key factor is having very tight control over what buildings are on the level and the number of Darwinians required to start them up. I was a bit underwhelmed to find few facilities for either. I also have one major gripe about the gameplay, which is that the bad guys can't take comm towers *back* from you. This means that winning a level in the released game is never in doubt; it is merely a matter of time, particularly as the towers don't reset when you reset the level.

I am sure they are very grateful for the small groups of loyal fans who are discussing and releasing mods, but appeasing them (us) is not going to generate more revenue.


I'm not sure whether I agree or disagree about mods and patches affecting Introversion's revenue. The model I keep coming back to here is Blizzard's, with Diablo II only coming down from the £20 price point a year ago, something like five years after its release. Blizzard have kept supporting D2, and a fiercely loyal fan base (including my wife) has built up around it. As a result, Blizzard have had four more years than most companies get, with that title as a cash cow. Darwinia may yet do the same - or a later product based on a similar game engine may. Introversion have spent a lot of effort building this engine rather than re-using any of the ones out there; it would seem to be poor business acumen if they didn't look at how to re-use the asset they have. Re-using the asset would require many of the same modifications that an enhanced modding system for Darwinia would use.

On the other hand, D2 is multi-player, whereas the Introversion engine doesn't seem to have had the bugs shaken out in this area.

I'd love to put my money - OK, effort - where my mouth is on this one, and assist with engine mods in exchange for a small fraction of the revenue for products using those mods. However, I suspect Introversion is on a sufficiently tight budget that that option wouldn't be appealing!

- Peter
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Re: Mods, with the occasional rock[er]

Postby xander » Sat Aug 20, 2005 7:41 pm

Ozzard wrote:...particularly as the towers don't reset when you reset the level.


Yeah, the reason for that has to do with research. There have been a couple of suggestions as to how that could be changed, but IV seem to be okay with the current system. And it seems to work in the context of the game, so, meh.

Ozzard wrote:....or a later product based on a similar game engine may.


While IV could do something else with the engine, my guess (based on past comments by all three of them) is that they will not. They like to tinker, and will play with something until it is right, but will then want to get onto the next thing. In a lot of ways, I think that ASW might be a better model than Blizzard. ASW started with a few game, most written in assembly, each unique. They are still making money off of their old games (I am sure that people are still buying the original EV and Maelstrom). IV is still making some money off of Uplink, and they will no doubt continue to recieve money from Darwinia for a while.

Ozzard wrote:Introversion have spent a lot of effort building this engine rather than re-using any of the ones out there; it would seem to be poor business acumen if they didn't look at how to re-use the asset they have. Re-using the asset would require many of the same modifications that an enhanced modding system for Darwinia would use.


As I said above, I don't think that this is what IV will do. It would violate what I understand of their philosophy. In many ways, they are not business men, but programmers. They are interested in selling enough copies of the games to make the rent and buy beer. Beyond that, I don't think that IV wishes to milk its fanbase with more games built on the same engine.

Ozzard wrote:On the other hand, D2 is multi-player, whereas the Introversion engine doesn't seem to have had the bugs shaken out in this area.


Yeah, we are all hoping multiplayer will get up and running at some point. ^_^

xander
User avatar
Ozzard
level0
Posts: 4
Joined: Fri Aug 19, 2005 7:42 pm
Location: Manchester, England
Contact:

Postby Ozzard » Sat Aug 20, 2005 7:59 pm

While IV could do something else with the engine, my guess (based on past comments by all three of them) is that they will not. They like to tinker, and will play with something until it is right, but will then want to get onto the next thing.


(Chuckle). Been there; I'm now old enough and slow enough to want to see how something pans out. Which is off-topic, but hey.

Return to “Mod Projects”

Who is online

Users browsing this forum: No registered users and 10 guests