Fandom: Any
The first thing that popped into my mind when I saw 'solitary' was 'solitaire', and for that you need a pack of cards, of course. My project originally focused on making actual playing cards, but it's also possible to use those graphics in the Windows Solitaire (and other card games), and that's what I ended up doing. I used GIMP to make the graphics, but any image editor with layer support is good.
I hope this is useful. If anybody takes this a step further, I'd be happy to see the results.
Create Graphics
1. The first stage is to design your card. I started off with making regular cards. But really, the sky's the limit (and more on that later). Note which elements repeat in between the different suits, and the different cards.
The actual graphics rely heavily on brushes, layers and layer transformation. This might be basic stuff, but for me it was all new, so I'll explain a bit how to do it.
For computer graphics, first go through how to change the graphics (see below), to see what you really need. If you will just be changing the back of the decks, you can skip most of the card making work.
2. Create brushes for your repeating elements. This is mainly useful for the suit symbols, but I also created brushes for the lettering.
In GIMP you create brushes by making an image with a transparent background. Use a 64*64px or 100*100px workspace. The image should be grayscale (image -> mode -> grayscale). After you create your graphic, merge all the layers and export as a *.gbr file. Save in GIMP's brushes folder (share\gimp\2.0\brushes). Right click on the Brushes dialog box and choose 'Refresh Brushes'.
3. Create the card faces - Real cards are 3.5 inches by 2.5 inches.
The easiest way to do this is to make all the cards in one image (ie, project), with multiple layers. Place each distinct design element (suits, numbers, borders, backgrounds etc) in its own layer. When you create the final images, choose which layers apply to the specific card.
For example, in order to create the 6 Spades card, I used 5 layers.

Layer #1 - spade symbol. I used the spade brush to make a little spade. Now duplicate the layer, and flip the new layer horizontally and vertically to get the opposing little spade. Merge the layer down.

Layer #2 - number six. I used a card font I found online. Make a little number six on a separate layer. Now duplicate the layer, and flip the new layer horizontally and vertically to get the opposing number six. Merge the layer down.

Layer #3 - Four spades. This is the base layer for the 4, 5,6, 7 and 8 Spade cards. Using my spade brush I made one spade on the upper left-hand corner of the card. Then I duplicated the layer, and flipped it horizontally to get the upper right-hand spade. Merge the two layers Now duplicate again and flip the new layer vertically to get the two lower spades. Merge the two layers again.

Layer #4 - Two center spades. This layer is used in the 6, 7 and 8 Spade cards. Using my spade brush I made one spade on the center left-hand side of the card. Then I duplicated the layer, and flipped it horizontally to get the opposing spades. Merge the layer down.

Layer #5 - Border. This is particularly needed if you intend to make real cards. Note that for real cards, the edges should be rounded to prevent folding.

While making the image I used a white background so I could see what I was doing. When you make the final images you can drop the background to get the paper color when you print.
4. Create the card back
Create Real Cards
To make your cards, print them out - you can print out on heavy paper, or print on regular paper and paste onto heavier paper. If you want to do professional work, I found a detailed explanation online. Or you can have them printed by a specialty company on paper or plastic.
At this point, just two days ago, I was about to finish making the graphics for the regular cards and post them as a starter package. But then two things happened:
1. I ran across this article about specialty decks, and I realized there are really so many options, there's no reason for a starter package. If anybody wants the cards I made, let me know.
2. It occurred to me there should be no reason I couldn't use these graphics in Windows solitaire. After some googling I realized there are a couple of reasons, but it's still possible.
Create Virtual Cards
Windows saves the card graphics information in a DLL. In order to play around with it, download Resource Hacker or a similar program. It's a bit of computer hacking, but the main risk is destroying your card games..
Resource Hacker will save a backup of the DLL for you, but it's always a good idea to make a backup of your own before you start working.
Windows is picky about having its DLLs played around with, so copy the DLL you're working on to a temporary directory.
Windows XP
The cards are saved in "Windows\System32\Cards.dll" as bitmap files.
Open "Windows\System32\Cards.dll" in Resource Hacker.
Right click on the Bitmap folder and choose 'save [Bitmap] resources'. Create a new directory for this. It will ask to save an *.rc file, but will also save all the *.bmp files together with it.

Make a backup of these files. Now you can either work with these files or make new ones. When you save your BMP file, save it without color space information.
In this example I replaced the back of the deck saved in BMP #55, but note that you can change practically every graphic within the game. I made a new image and then replaced the current resource in the DLL . There are two ways to do it.
Either scroll down to the image you want to replace, right-click and choose 'Replace Resource'.

Or on the top menu choose Action -> Replace Bitmap, and then choose the requested bitmap from the side list ('Select bitmap to replace').
In both cases you get to the replacing resource screen.
Click 'Open file with new bitmap'. Choose your new/updated file. Click 'Replace'
On the top menu choose File -> Save.
You now have an updated DLL. Now comes the hard part - convincing Windows it should use your updated DLL. Windows keeps a copy of its DLLs and will copy over any attempt you make at changing them.
To prevent that, copy your file into both:
c:\windows\system32
c:\windows\system32\dllcache (open via start->run)
Another option is to first delete c:\windows\system32\dllcache\cards.dll, and then update the regular DLL at c:\windows\system32.
If windows tells you it wants to reinstall say 'no' and confirm that you want to stay with your 'corrupted' DLL file.
The final result:


Windows 7
In Windows 7 the situation is slightly more complicated, but it's still doable. The graphics information is saved in "Windows\System32\CardGames.dll" in big JPG files which include all the card information.
First, give yourself control over the DLL (in its original directory). There's a full graphic explanation here, but the basic instructions are as follows:
In the explorer menu go to "Windows\System32\CardGames.dll", right click on it and go to 'properties'.
Click on the 'security' tab. Click 'Advanced'.
Click on the 'Owner' tab. Click 'Edit'.
Select your user and click Apply
Continue clicking OK/Yes until you exit the dialog.
Now right click on the DLL again and go to 'Properties'
Click on the 'security' tab. Click 'Edit'.
Select 'Users'. In the bottom part of the box, tick the box to allow 'Full Control' and click Apply
Continue clicking OK/Yes until you exit the dialog.
Now right click the DLL
Rename to .bak.dll
When you copy your customized file back in, you should have full control. If not, repeat the process.
The card graphics are saved in three separate areas:
Regular-sized cards:
DATA ->SHEETS\HIGHLIGHTSHEET1.JPG
Bigger cards, for when you make the window bigger, are saved in one big JPG which is split into four:
DATA ->SHEETS\HIGHLIGHTSHEET1X21.JPG
DATA ->SHEETS\HIGHLIGHTSHEET1X22.JPG
DATA ->SHEETS\HIGHLIGHTSHEET1X23.JPG
DATA ->SHEETS\HIGHLIGHTSHEET1X24.JPG
Deck graphics, used in the deck option dialog:
DATA ->DECKS\CLASSICTHUMB.PNG
DATA ->DECKS\CLASSICTHUMB_MCE.PNG
DATA ->DECKS\HEARTSTHUMB.PNG
DATA ->DECKS\SEASONSTHUMB.PNG
The idea is the same as with Windows XP above, except that it's easier to save every resource you change seperately. Right click on the resource in order to save it. Note the details of the name, as you'll need it later to replace it with your new file.

When you replace the resource, type in the full details under "Resource Type" (DATA), "Resource Name" (e.g. SHEETS\HIGHLIGHTSHEET1.JPG ) and "Resource Language" (e.g. 1033).

Don't forget to save the DLL once you're done.
I updated both types of windows. If you have any questions, I'd be glad to help out.
Comment Form