SimCity 4 modding, for the uninitiated

Within the SimCity 4 (SC4) modding world, there are a variety of ways modders classify themselves. Among others, 3D modelers (or BATter in SC4 lingo, named after the Building Architect Tool used to create 3D models in a format useable in the game), and lotters typically use the assets created by others in new or interesting ways. Many members fulfill a hybrid role between the two, but I am purely a lotter. Lotters create "lots", the foundational building block of the game. A lot can contain 2D textures to define what the ground of the lot looks like (is there grass, dirt, asphalt, sidewalks, a parking lot), and 3D assets like buildings and props. Props can be literally anything: cars, plants, fences, lightpoles or anything else to make the lot look "alive" in game. Lotters commonly will use assets 3D modeled and published by other community members and assemble them on their lot. While many community modders took a hybrid role in both modeling and creating the lots, I stuck purely to creating lots.

The image below is an example of one set that I created and uploaded to a public exchange for members of the community to download and use in their cities. I combined the grass/dirt/cobblestone ground textures, and houses, trees, cars, fences, and other items all modeled by different community members and assembled everything together on a lot. These are examples of low density residential lots that the game simulation will grow while playing.

My projects

I have been playing SimCity 4 since at least 2005 and have been an active member of the modding community since my first upload in 2013. Through the years, my experiences modding the game have allowed me to experiment with a wide vareity of skills, including graphic design in Photoshop, Photoshop scripting, HTML, CSS, JavaScript, Excel, and now C#. That is in addition to all of the specific game knowledge on aspects of playing the game and how its simulation works, as well as how to create effective and well-made mods for other players to use.

My main projects can be broken down into two categories: Lotting Projects, and Development (coding) Projects.

Lotting Projects

B62 Remastered

B62 Remastered was a comprehensive lotting effort to release all of the content created by Bobbo662, aka B62. B62 was a prolific BATter in the early days of SimCity 4 modding around 2004 or 2005. As was common in the early days of modding the game, players were constantly learning new things about the inner workings of the game. After releasing a ton of content on community exchanges for players to download, a parent cohort modding error was discovered in all of Bobbo662's files (which caused them to not appear in the game at all - a serious issue) and he removed everything from the exchanges with two exceptions.

After contacting him personally to use the removed files for personal reasons, he was incredibly kind to send over all of the content he still had sitting on a hard drive. This is the beginning of the B62 Remastered collection.

However, Bobbo662 was only still in possession of about half of the content he created, so with assistance of community members tariely, DavidDHetzel, brad88, and pclark06 who all sent the B62 content they each had stored, the full collection was pieced together.

Much of the process in creating and sharing the B62 Remastered collection was logged in my lotting thread at Simtropolis, dating back to 2014. Samples and drafts of my earliest work was unfortunately lost when the SimPeg forum went under in 2015. All uploaded content is included in the table below.

Albertsons 60s Retro Grocery Azul's Bistro Bar & Grill BJ's Wholesale
Bradlees Caldor Circuit City
Circuit City 70s Cub Foods Culvers
CVS Dominos Pizza Giant Food 60s Retro
High's HyVee Supermarket Kmart Supercenter
Little Caesars Lowe's Home Improvement Lowe's IRM
Pick'n Save Pizza Hut Red Robin
Red Roof Inn Safeway 60s Safeway 70s
Sam's Club Saverite Sears Grand
Service Station Mega Pack ShopKo Target SuperCenter
UStor Verizon Substation Walmart Supercenter (Style 01)
Walmart Style 02 Walmart Style 03 Wawa Gas & Car Show
Winn Dixie
Creator Packs

Upon conclusion of the B62 Remastered collection, I started a series of smaller similar projects to reimagine content uploaded by other creators. These are called Creator Packs, and each highlights a series of uploads by different authors.

Creator Pack 01: Ceafus 88 Creator Pack 02: dk1 Creator pack 03: Gn_leugim
Creator Pack 04: Delecto Creator Pack 06 : Aarsgevogelte
Community Contest Entries

Some of my content was created for and featured in community contests, netting two 1st place finishes, three 2nd place finishes, one 3rd place finish, and one 5th place finish.

VIP French Pavillions CM Centre Commercial City Tourism & Information Kiosk
Andrews Fashion Centre Streetside Parking (SSP) Palacio Cristal
Allianz Arena Target Supercenter Complex
IRM Remakes

This content was created to fit alongside the Industrial Revolution Mod (IRM) by T Wrecks. The IRM completely revolutionizes how industry is grown in game.

IRM: Distribution Center & Freight Yard Lowes Distribution Center (IRM Version)
on001222 Relots

A set of relots of content originally uploaded by user on001222. These were my first public uploads. This is how it all started.

Thai Wah Tower Lotus Temple Relot Arnorma Hotel Relot
Other Projects
nos.17 Essentials Andisart Homes Redone El Cristo Redentor
Feyenoord Stadium HBS Lowes HBS Mall Del Sur
Staples Center Street Stalls Mattb325 US Retailers

Development Projects

SimCity 4 Prop + Texture Catalog

Hosted online here, the Simcity 4 Prop + Texture Catalog is a much expanded version of the original catalog posted at SC4Devotion.

The intent of this tool is to provide an invaluable resource for content creators (and especially lotters) who are looking for more and better content to incorporate into their work. Looking for a motorcycle to add to your lot? Then filter only prop packs that contain vehicles and/or motorcycles. Looking for seasonal trees? Look through all packs that contain seasonal trees until you can find the right ones for you. Want to use all High Definition rendered props? Scour all packs that contain HD props to find the ones you want.

In addition, if you are playing with mods and load into the game without an asset the game is expecting, you will be presented with a dialog box listing the missing assets. However, it only presents you with a list of IDs that are generally not at all helpful to a player. Using this tool, a user can input that number and have a chance of finding the actual file that ID belongs to.

I wanted to create a resource that is much expanded from the original (a lot of new content has been released or changed since the first version in 2011) and simultaneously make it much easier to use.

Early versions (1.x.x - 2.x.x)

The early versions of this catalog were HTML and image based, with JavaScript to allow for dynamic filtering and sorting of prop and texture packs. The source code can be found in the GitHub repository.

The catalog provided the option to search for prop or texture packs by category,

Dynamically filtering prop and texture packs by a category

or search for props by TGI (a unique identifier used by the game), author who created the prop, or the prop name.

Searching for a prop by TGI or Exemplar Name or Author
Later versions (3.x and up)

As the size of the database grew past 50,000 items in an HTML table, the performance of the JavaScript solution quickly began to degrade. Future versions will need to handle a table of at least a hundred thousand rows, so a proper database is required. The new version uses a SQLite DB to store the catalog information, and an ASP.NET front end interface. This means far better performance when returning thousands of rows, and also far more flexibility and options for implementing other user features like filters and more advanced queries. The site is currently hosted at https://sc4proptexturecatalog.azurewebsites.net/

csDBPF : A C# DBPF library

csDBPF is a C# library for reading and writing DBPF files. DBPF is a file archive format used by Maxis, the developer of early Sims games including SimCity 4.

Writing this library afforded an excellent opportunity to learn C# coding and Visual Studio, and also provides the unique experience of software development from three different perspectives: the person writing the API/library, the person using the API to write a program for users, and the users making game content with the programs. This project is simultaneously a personal challenge to learn and accomplish and it will provide a starting point for numerous further development projects I would like to achieve to make player's Simcity 4 modding and playing lives easier. This includes ideas help automate repetitive and sometimes complex modding tasks and lower the barrier of entry for players, and also modernize existing community modding tools that haven't been able to be updated in decades after the source code was lost over time.

Some of these ideas are laid out in a a post I made at Simtropolis about a way to index and catalog all content ever uploaded to public exchanges to make fetching and updating mods much easier for newer players, or players who just want to play the game do not want to spend the vast amount of time it can take to acquire the mods they want to use. This neatly folds into updated versions of the SC4 Prop + Texture Catalog.