Jump to content
Sign In to follow this  
DarkMatter

Reviving SimCity 4 Modding

26 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 

Hello everyone. I'll make this post short, so you don't have to spend 10 minutes getting to the point. 3.gif SimCity 4 is an awesome game, and one of the most addictive I've ever played. Thats despite the fact that I rarely ever play, as I usually  just mod it. :D Anyway, the hardcore modding efforts sort of died off about the time Sims 2 was released, maybe a little before. People moved on to new games, and those who didn't have been utilizing the existing knowledge to its fullest extent to make some of the most amazing custom buildings in the game.

There is a LOT more that can be done with SimCity 4 though. There are still unknown things about how the game works, untweaked settings no one has ever played with, and new types of mods no one has tried, but which people are asking for. There are also many avenues of custom content development besides making new buildings, some of which are being done, some whcih arn't, both of which could be made pretty easy with the right tools.
 
SO, the point. I'd like to revive SC4 modding efforts. Reasearch of game data files, and Development of modding tools. The research will require avvid hacking minds, and the development will require some programmers. It doesn't matter if you have prior skill or not, you just need to be enthusiastic and willing. The modding tools should be very easy to develop. There is already a shell in place that provides the core infrastructure neccesary to make these new tools easy and quick to develop: DatGen. A lot of you will already know this program, but most of you havn't seen it in quite some time. Its changed a lot, and is FAR more advanced than any other modding tool for SC4 in the past.
 
Equinox and Ardecila have already been poking their noses into DatGen, learning some of the basics. They make up the start of a new SC4 modding effort, one which I hope to expand. 1.gif If your interested, just post here. We need hackers to figure out unknown data, and programmers to code. The more of both, the quicker we'll be able to start cranking out new and much better tools to facilitate new modding efforts. I am working on writing up some complete tutorials on how to program for DatGen, as well as how to use it to decode raw data. I hope these tutorials will get everyone on the fasttrack to learning DatGen.
 
Anyway, I hope to hear from some of you. I've been deeply involved in programming for The Sims 2 lately, and most of my focus will remain there. Thats why I havn't been around much, and also why I need some people to fill some holes and write some plugins for SC4. I still plan to develop a full-blown WYSIWYG UI script editor, and I hope to get to it near the end of the year. This plugin will actually be the first that will work for both TS2 and SC4, as both games use the same kinds of UI scripts. Well, enough of my blabbering. I look forward to seeing modding efforte reignite here. 1.gif
 
DatGenhttp://www.datgen.info/images/shots/shot_datgen.jpg align=baseline>
 

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

Hi Darkmatter,

I have to say I am completely with you in this idea !!!. Unfortunately my modding skills / game structure knowledgement is really humble. And I have no idea on programing, but If you think I can be of some help for your project, just let me know 29.gif !!!
 
I wish you the best luck with this  44.gif44.gif !!!

Share this post


Link to post
Share on other sites
Posted:
Last Online: A long, long time ago... 
 
Date: 6/24/2005 8:31:52 PM
Author:DarkMatter


Equinox and Ardecila have already been poking their noses into DatGen, learning some of the basics. They make up the start of a new SC4 modding effort, one which I hope to expand. 1.gif

quote>

Hey, that's me!

Seriously, people, we should get more people back into modding. 80% of the Modd Squad haven't even posted here in 2005.

Anyone up for a new Modd Squad II?

Regarding new avenues of custom-content - yes, that is possible. I've pioneered one of them - namely, UDI creation.

The most complex of these is probably the Effects Directory, which tells the game how to make everything from fireworks to jet fighter missiles to boat wakes.

With some more decoding, we could finally crack the whole animated-bitmap thing, and make new animations.

Lastly, and this might be a long-term goal - making a program/plugin to modd the actual cities themselves. There are so many unmodded files in there, it's alomst sad. This could fix corrupted cities, and even tweak things like terrain and water color on a city-by-city basis, rather than a global approach.

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I'd love to see the return of the Modd Squad, regardless if it's the old members or new ones (actually, there are quite a few aspiring members around, namely the folks who is currently developing the GLR and the NAM). Unfortunately, I don't have any deeper knowledge of the file structure, nor do I have an idea how to program new tools (despite of the lack of time), but as you may know, I'm working together with simrolle to create a tool that features a database of the in-game Maxis buildings as well as an analyser/importer for custom stuff, in order to make BAT and lot distribution easier (incl. automated generation of readme files). I know you had something similar with the Lot Information Generator, but it fitted so well to the database program that a new standalone tool was a better way rather than developing plugins, i. e. for DatGen. I think I'm a bit of a wanderer between the worlds, bringing the German modders together with the Simtropolis folks, translating stuff and helping here and there, and occasionally do some small mods myself or together with other people. I'll try to continue my role as BSC DE (German) liaison, spuring new development on both sides...

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I think this is a great idea! I have no modding experience at all, and I don't want to slow you down by trying to learn, so I wish everyone in this project the best of luck.

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I think it's a great idea....but like most I'm not sure I'd be much help

Share this post


Link to post
Share on other sites
Posted:
Last Online: A long, long time ago... 
 

great idea.  sadly, i havn't messed with datgen as much as with the reader.  i am interested in seeing a real region money sharing mod. 

Share this post


Link to post
Share on other sites
Posted:
Last Online: A long, long time ago... 
 

A new Modd Squad - that sounds good. I'd love to learn that modding stuff but due to lack of time (and feelin' that I would be to thumb for it) I won't be a helpin' hand there...

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Whaa!! Wow, for a while there, I didn't think I was going to get any response. 1.gif Glad you've all posted, though. I noticed that 5 people voted that they would like to help program...any chance those who did could speak up? I'd like to know who you are, so we can start cranking out tools. The past generation of tools, both for DatGen and the Reader, were pretty low-level. There are countless plugins that can be written to greatly simplify many of the tasks that take numerous steps to do today. There are also new things we can write, that havn't been done before.

    I need two types of people to code: Those who like just coding, and who could take a file specification and write a DatGen file type handler for it. And those who like UI design, who would take the file type handlers, and write pretty interfaces to edit data. Some of the file type handlers can be ported from the old DatGen to the new, but others will need to be written new.
     
    Anyway, glad to see there is still some interest in modding for SC4. 1.gif I hope we can get something rolling soon. We'll probably need to set up a forum somewhere where people can request tools to accomplish the kinds of things you guys are trying to do today.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Yea, I'll stand up and be counted 3.gif... I know a bit of programming (C and C++ and a bit of java) so I may be able to do something...

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    DarkMatter,

    Count me in!

    I don't know much about the .sc4 file type, but I have played with it and would certainly enjoy learning more.

    I'm also willing to help program.

    SimCity 4 is one of those games that has been vastly improved by the community. By the time SC5 comes out, we could have something that surpasses it! heh

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Reviving modding is a very interesting idea, and I could help with the tools (C/C++, Java, XML).

    Since you are about to make a new generation of tools, I would like to post some ideas for desired features (I could even write some specs if you are interested):
    - Conflict Detector: this tool should scan ALL datfiles in the installation (in the order SC4 loads them) and generate reports of what it found. I know there is an old tool that does this, but it's not good enough, not only it crashes, its output is a html page, almost unusable. Instead, the output should be directed to a listview window, sortable by any of its columns; one column should be the conflict's severity (say duplicate, override, conflict, severe conflict etc). I think this could help a lot the prop, lot, texture, etc  makers.
    - TGI Finder: Given a TGI (possibly with masks) the tool should scan all datfiles in the installation (in the order SC4 loads them) and generate a list of the items found.
    - Others: property finder, property value finder, revamped search tool.
     
    I understand the above require implementing a new mode of operation (ie cross-datfile) and of course, extra work but... nothing new can be done without extra work.
    Also, DatGen is a base for implementing modding tools, but it's too slooooow! Just compare it with iLive. This renders it rather inappropriate for scanning, say simcity1.dat (a must for modding), let alone scan the whole installation! I think with a little optimisation it could be improved a lot (concerning efficiency). There are many things to consider, file handling, arrays and memory, file-type identification, handling of the listview control, inefficient coding etc. Some profiling could reveal what causes the problem, and therefore suggest a solution. I could provide further information (and work) if you are interested.
     
     

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Date: 6/28/2005 5:11:55 PM Author: freedo50 good idea but i dont think i can help i only know java 15.gif
    quote>
    Java and C++ are close in structure and appearance. I dont think it would be too hard for you to shift over to C code.  And .NET might be even easier since it is the MS version of Java. Well.. the virtual machine anyway

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    I am a programmer, I can help with pretty much any language inc. assembly, C, Java, Python etc.

    I have been following mod efforts fairly closely but I dont have all that much time to help. Still, I will do what I can!

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    All coding will need to be done with the .NET framework in C#. If you know C++ or Java, your fine. If you know VB, you'll need to do some learning. You could write plugins in VB.NET, J#, or other .NET languages, but the whole thing is currently in C#, andthats what all my tutorials will use. I also refuse to work with VB, so if you use VB.NET, your on your own. I also avoid Java like the plauge, but I can help you with it if you need me to.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    Great idea to start reviving the Modd Squad again. Sadly, I am no programmer yet, but I hope to be one someday. I'm thinking about getting into the gaming industry.
     
    Even if I don't know how to mod or program I'd love to see how things turn out. I might learn something myself, so I'll keep watch and see how it goes. Maybe I'll pitch in some if I learn enough.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    C# is no worries!

    So basically you just want coders to add bits to DatGen?

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Well, not just bits. There are some pretty major plugin projects that we could undertake. Stuff that would be in the 10,000 - 20,000 line range. There are smaller plugins that would be in the range of 1000 - 5000 lines, which is what everyone could start off on.

    Those of you who are interested should get familiar with DatGen. Go to www.datgen.info , and check out the developers section, and read the writing viewers tutorial (its a platinum tutorial, the only one at the moment). That should get you prepared. I'm still trying to get things organized on my end, as I have a few more tutorials to write, some templates to create and improve for Visual Studio.NET and SharpDevelop (programming tools), and some things to write to prepare DatGen for SC4 plugins.
     
    Also, if you know a little bit about programming, and don't think you know enough to write plugins, don't worry. The new API's for DatGen 0.7.x are FAR better than the ones for DatGen 0.6.x, which is what some of you might have used before. The architecture of the new DatGen is significantly more advanced than the previous, employing some algorithms that you won't see until you take Masters-level programming courses (AI type stuff). DatGen has the ability to do some sophisticated pattern matching with this AI, and it can load any file type you can find or create, provided a handler class exists. All the code neccesary to load DBPF files (.dat, .sc4, etc.), process their headers and indexes, load file type handlers, save changes, etc. is already written. There are about 75,000 lines of code behind it, in fact. That means that as plugin developers, you only have to worry about learning the file type handlers you need for your project, and how creative you need to be to design a useful interface. 3.gif Once a few of you learn how to write stuff for DatGen, cranking out tools should be a no-brainer, and anything the community needs should be possible.
     
    Once we have some better tools, we should be able to accomplish some of the current modding tasks that are being done MUCH faster than before. New tools should also allow new things to be done that havn't been done before. Ardecila and I have already started planning a plugin that would allow the creation of new sprites, as well as a plugin or maybe a few that will allow the creation of new keyframe animations. Keyframed animations can be used as new effects for buildings, possibly automata (in certain cases), etc. The possabilities are pretty expansive, and once we get going, we can probably breath some more lively life into SC4, and make it more interesting to play again. With enough knowledge, we could probably create a complete, community-created expansion pack for the game (which is a little different than SimMars, which was a TCM, total conversion mod).
     
    Well, anyway, I'm glad people are interested. I'm excited about getting back into SC4 modding. The hardcore modding efforts stopped too soon last year, and there is so much we can still do. 1.gif
     
    And don't think you don't have the skill to be a modder. When the original modd squadd started, we didn't know anything about the game. It just took patience, the will to dig, and a desire to have fun. 1.gif If you have those things, you can learn how to mod, or program, for that matter. 10.gif

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    DarkMatter,

    My preffered platform is linux. Is vs.net supported by wine?

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    No, its not supported by wine. There are projects to fully port .NET to other platforms ( www.mono-project.com ), like linux and mac os x, but DatGen has never been tested under them. DatGen is pretty much a windows program at the moment, for the plain and simple reason that Windows has more developer support and application integration features than any other OS. I can rapidly develop tools for windows, with .NET, that would take twice as much code and require ten times as much debugging time on linux or mac os. DatGen is already nearly 280,000 lines of code, and over the weekend it will probably grow by about 5,000-8,000 more lines. Once I get some SC4 projects from DatGen 0.6 ported to 0.7, it'll hit 350,000 lines in no time. That kind of rapid development just isn't possible on other platforms.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    i would love to help out, but i dont know how to program or anything of the matter, but i guess i could try to learn and see what i can do hehe

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    Interested programmers have a couple of ways you can get in contact with us
     
    the first is through datgen live chat where we develop our tools. The livechat is IRC based, so you'll either need a http://www.mirc.com  client or a copy of Trillian. You can then browse over to irc.thesimsresource.com and port 6667. We're in #datgen. For those people, please remember, mirc is not a fast response client. meaning people are on it 24/7 and dont always talk, so you dont always get a fast response. If you see lots of us online, but we're not answering, we're either asleep, eating, bathing, etc.
     
    you can also get in contact with us through msn, though IRC is much easier. Add an 01@hotmail.com to the end of my name and that's mine.
     
    Remember, it has to be done in .NET 1.1, and due to programming nature we can only directly support people programming in C# since we dont program other languages. You can write em, but we can only teach you the interfaces in C#. If you have the necessary programs to program for .NET1.1 then feel free to give us a shout and we'll begin teaching you the API, and how to write plugins. Don't plan on starting with something ultracomplex like S3D of course though. Better to do some easier Files first 2.gif
     
    @Cogeo regarding speed: Unfortunately this is already optimized. The reason that it goes slow (when it does go slow) is that all filetypes are not hardcoded into the program. That means we can add or remove filetype reading, without having to recompile. That feature cost us some speed and created a neural net to read filetypes (skynet? hehe) I might be able to speed up loading Simcity1 in the future, but I dont know by how much since it requires very complex softcode. That was one of the failings of Reader as because it was hardcoded we never had a way to make it load all the filetypes properly.

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account

    Sign In to follow this  

    • Recently Browsing   0 members

      No registered users viewing this page.

    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections