# Millsberry Reborn Art Team

A simple guide for volunteer artists helping recover and recreate missing Millsberry artwork.

# 1. Start Here

The shortest path to getting started.

# Welcome to the Art Team

# Welcome to the Millsberry Reborn Art Team
Thanks for helping with the recovery. Pick one small thing that sounds fun, mark it on the project tracking sheet, and work from the best original references we have.
## Main links
- Project: https://github.com/gitupofftheflooranddosomework/millsberry.com
- Recovered assets: https://github.com/gitupofftheflooranddosomework/millsberry.com/tree/main/official-recovered-assets
- Full archive: https://github.com/gitupofftheflooranddosomework/millsberry.com/tree/main/official-full-backup
- Live recovery: https://millsberryreborn.com/
- SWF gallery: https://millsberryreborn.com/swf-teasers
- Discord: https://discord.gg/p8H9Dtajgz
If anything is confusing, post a screenshot or link in Discord. Nobody is expected to already know GitHub or Flash tooling.

# What Should I Work On First?

# What should I work on first?

Pick **one small thing** that sounds fun rather than trying to do everything. Use the project tracking sheet to claim it first so we do not duplicate work.

## 1. Millsberry / Millsberry Reborn logo

Original logo references:

https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=title_logo.png&type=code

Start with a clean high-resolution recreation of the original Millsberry wordmark. From that we can make a **Millsberry Reborn** version that still feels like it belongs with the original game.

## 2. Base Millsberry citizen/player

Buddy/avatar references:

https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=buddy_featured&type=code

Recovered assets:

https://github.com/gitupofftheflooranddosomework/millsberry.com/tree/main/official-recovered-assets

Start with **one really good base citizen** and get the proportions/body/face right before we start producing lots of clothes and accessories.

## 3. Missing stat icons

The known missing UI icons are:

- Fitness
- Civics
- Intelligence
- Prize/Award

References:

https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=stat_icon_&type=code

## 4. Navigation buttons

Current generated replacement list:

https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=GENERATED_NAV_IMAGES&type=code

Original navigation references:

https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=nav_start_1.png&type=code

The first group includes Sign Up, Start, The City, Downtown, Arcade, My Stuff, My Home, My Place, My Crib, Tour, and Customize.

## 5. One first character

Do not try to recreate every NPC at once. Pick one character with useful surviving references:

- **Mayor Oliver Trumble:** https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=Oliver+Trumble&type=code
- **Jenneira:** https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=Jenneira&type=code
- **Sylvie:** https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=Sylvie&type=code
- **Kai:** https://github.com/gitupofftheflooranddosomework/millsberry.com/search?q=Kai&type=code

A good rough project order is:

**Logo → base citizen → stat icons → navigation → one character**

As things are claimed and finished, we will add the next small batch instead of dropping hundreds of assets on everybody at once.

# 2. Finding Original Art

How to search the recovery and inspect old Flash artwork.

# Using GitHub Search

# Using GitHub search
Search results may show old HTML/code instead of a picture. That is normal. The useful part is often the original filename.
If you see `buddy_featured_v13.swf`, copy it, return to the repo, use **Go to file** (or press **T**) and search the filename.
Compare multiple versions when they exist. A newer version is not automatically the best art reference.

# SWF Gallery, Ruffle and Extraction

# SWF gallery, Ruffle and extraction
Start here: https://millsberryreborn.com/swf-teasers
The teaser gallery contains previews from hundreds of recovered SWFs, but a teaser may only show one frame.
Use the live recovery too: https://millsberryreborn.com/
Demo login: `testcitizen` / `millsberry`
For standalone SWFs use Ruffle: https://ruffle.rs/demo/ or https://ruffle.rs/downloads
A SWF that looks blank or broken may still contain useful artwork. Ask in Discord instead of fighting it for hours.
Before redrawing something, ask whether the original artwork can be extracted from the recovered SWF. JPEXS can inspect images, shapes, sprites and timelines: https://github.com/jindrapetrik/jpexs-decompiler
Artists are not expected to learn JPEXS; the recovery team can extract things when needed.

# Finding and Downloading a SWF

# Finding and downloading a SWF

A GitHub search result is often only the beginning of the trail.

If a search shows a filename such as:

`buddy_featured_v13.swf`

copy that filename and go back to the main repository:

https://github.com/gitupofftheflooranddosomework/millsberry.com

Use **Go to file** near the top of the file list, or press **T**, then paste the filename. If we recovered it, GitHub should show the actual file path.

## Check more than one version

You may find several files such as:

- `something_v7.swf`
- `something_v8.swf`
- `something_v13.swf`

Look at multiple versions when possible. A higher version number is not automatically the best reference.

## Download the actual SWF

Once you find the `.swf` file:

1. Click the filename in GitHub.
2. Use the **Download raw file** / download button.
3. Save the `.swf` to your computer.
4. Open it with Ruffle.

Ruffle web player:

https://ruffle.rs/demo/

Ruffle desktop downloads:

https://ruffle.rs/downloads

The desktop version is especially handy if you are going through lots of recovered Flash files.

## Also try the live recovery

https://millsberryreborn.com/

The live recovery already has Ruffle built in and sometimes runs an SWF better than opening the file alone because the surrounding Millsberry files and paths are present.

Demo account when needed:

- Username: `testcitizen`
- Password: `millsberry`

If the standalone SWF looks blank or broken, that does **not** mean there is no usable artwork inside it.

# Getting Good Reference Images

# Getting good reference images

For most recreation work you do not need to turn the SWF itself into an editable drawing file. You can use Ruffle to inspect the original and collect reference screenshots.

## Useful things to capture

For characters, try to grab:

- full body
- face close-up
- different expressions
- front/side/3/4 views if they appear
- several animation frames
- clothes and accessories
- hands and feet
- colours
- outline thickness
- shading style
- anything that clearly shows proportions

For UI/buttons, capture normal, hover, pressed, disabled, and alternate states when they exist.

For locations/objects, capture the full object plus any close-up that makes the outline/shading easier to understand.

## Take more than you think you need

It is much easier to ignore an extra screenshot later than to get halfway through a drawing and realize the only reference you saved cuts off the feet.

## Before redrawing something exactly

If the SWF clearly contains the exact original graphic we need, ask first whether it can be **extracted directly**.

Ruffle is mainly a player. Tools such as JPEXS can inspect images, vector shapes, sprites, and timelines inside SWFs:

https://github.com/jindrapetrik/jpexs-decompiler

Artists are not expected to learn JPEXS. Post the SWF link/filename and the recovery team can try to extract the original art for you.

A clean original recovery is always better than spending hours redrawing something that still survives inside a Flash file.

# 3. Art Standards

What to preserve and what files to submit.

# Original vs Recreated

# Original vs recreated artwork
Recovered original Millsberry files are our best references. Some files are only referenced but not recovered. Some live pages use Millsberry Reborn placeholders.
Whenever possible base new work on recovered originals, not our placeholders.
**Never overwrite anything inside `official-recovered-assets`.** Those files are archival material and stay exactly as recovered.

# File Formats and Layering

# File formats and layering
Use whatever software you are comfortable with. Nobody needs Photoshop.
## Finished PNG — required
Full quality/lossless, transparent where appropriate, RGB/sRGB, and keep a high-resolution master.
## Original layered source — required when applicable
Submit the native layered file you actually worked in: `.kra`, `.clip`, `.xcf`, `.procreate`, `.afdesign`, `.afphoto`, `.psd`, or whatever your software uses.
## Open/interchange copy — optional
OpenRaster `.ora` is useful when supported. A layered TIFF or PSD export is welcome as an extra but is not required.
## Vector art
For logos, icons, buttons and UI, include `.svg` when possible.
Keep useful parts on sensible layers and work larger than the tiny legacy asset when practical. Engineering can handle SWF/game integration.

# Resolution, Layers and File Naming

# Resolution, layers and file naming

## Work larger than the tiny original

Many Millsberry assets are very small by modern standards. Work at a clean larger master size whenever practical.

We can always shrink a good master down. We cannot turn a tiny flattened 80px image back into a clean editable asset later.

If the original/native size is known, it is great to also export a version at that size.

## Keep useful layers

For a character, sensible layers might be:

- body
- eyes
- mouth
- hair
- clothing
- accessories
- shadows/highlights

For buttons/logos/UI:

- background
- border
- text
- icon
- shadows/highlights

We do not need hundreds of microscopic layers. The goal is simply to let somebody change a shirt, expression, label, or highlight later without repainting everything.

## Simple file names

Use descriptive lowercase names with hyphens when practical:

- `mayor-trumble.png`
- `mayor-trumble.kra`
- `fitness-stat-icon.png`
- `millsberry-reborn-logo.svg`

For states:

- `nav-arcade-normal.png`
- `nav-arcade-hover.png`
- `nav-arcade-pressed.png`

## No SWF authoring required

The art team does not need to rebuild Flash packaging. Submit the finished art and editable source; development/recovery can handle integration.

# 4. Submitting Your Art

A no-command-line GitHub workflow.

# Fork, Branch, Upload, Pull Request

# Submitting your art through GitHub
1. Make an account: https://github.com/signup
2. Open https://github.com/gitupofftheflooranddosomework/millsberry.com and click **Fork → Create fork**.
3. Create a branch such as `art/millsberry-logo`, `art/base-citizen`, `art/stat-icons`, or `art/mayor-trumble`.
4. On that branch use **Add file → Upload files**. Include finished PNG, native layered source, SVG if applicable, and useful reference screenshots.
5. Do **not** upload over `official-recovered-assets`.
6. Click **Contribute** or **Compare & pull request** and propose your branch into the main repo.
In the PR say what you made, what original references/SWFs/pages you used, anything you had to guess, and your Discord name if different.
Contribution notes: https://github.com/gitupofftheflooranddosomework/millsberry.com/blob/main/CONTRIBUTING.md

# What Happens After You Open a Pull Request?

# What happens after you open a pull request?

Opening a pull request does **not** immediately change the live game.

It is basically you saying:

> Here is what I made and I would like to add it to Millsberry Reborn.

The team can review the files, compare them against the references, and suggest changes if anything needs adjusting.

## You do not need a new PR for every revision

If you update files on the **same branch** in your fork, the pull request updates automatically.

That means the normal flow is:

1. Open one branch for the art item.
2. Open one pull request.
3. Make any requested changes on that same branch.
4. The existing pull request updates.
5. Once everybody is happy, a maintainer merges it.

## Include useful context

In the pull request description, tell us:

- what you made
- which original pages/SWFs/screenshots you used
- anything you had to guess
- whether any part might actually be recoverable from an original SWF
- your Discord name if it differs from your GitHub username

This history is useful later when somebody asks where a recreated asset came from or why a design choice was made.

# 5. Help and Quick Links

Where to go when you get stuck.

# Quick Links and Getting Help

# Quick links
- Project: https://github.com/gitupofftheflooranddosomework/millsberry.com
- Recovered assets: https://github.com/gitupofftheflooranddosomework/millsberry.com/tree/main/official-recovered-assets
- Full archive: https://github.com/gitupofftheflooranddosomework/millsberry.com/tree/main/official-full-backup
- Live recovery: https://millsberryreborn.com/
- SWF gallery: https://millsberryreborn.com/swf-teasers
- Ruffle: https://ruffle.rs/demo/
- JPEXS: https://github.com/jindrapetrik/jpexs-decompiler
- Discord: https://discord.gg/p8H9Dtajgz
If GitHub makes no sense, a SWF will not run, you need a frame extracted, or you are unsure if something is original, post the link/filename plus a screenshot in Discord.