logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·31.10.26
← Back to news

An implementation of Conway's Game of Life for Windows 3.1x and later

Original article
muppetlabs.com|37 points|7 comments|by Bluestein|Aug 30, 2026

A Legacy Collection of Windows Software by Brian Raiter

For a period of roughly six years, my professional career centered on developing applications for the Windows platform.

Because of the legal constraints within my employment agreements, I am unable to distribute the majority of my professional work. However, I did create several projects during my personal time. I have made these available here, hoping they might provide some value or insight to others.

🕹️ Project Catalog

Program NameTarget OSPrimary PurposeKey Technical Interest
Game of LifeWindows 3.1x+Cellular AutomataHybrid 16/32-bit code
GDI Object FinderPre-Windows 95Memory Leak DetectionUndocumented API usage
Bulls & CowsWindows 3.1x+Logic PuzzleEarly commercial effort

1. Conway's Game of Life

This is an implementation of the classic cellular automaton designed for Windows 3.1x and subsequent versions. While the implementation itself is quite limited and not the most robust version available, the underlying source code offers several educational gems:

  • Hybrid Architecture: It demonstrates the integration of 16-bit C code with 32-bit assembly language utilizing winmem32.dll.
  • Graphics Handling:
    • Conversion between different Device Independent Bitmap (DIB) color organizations.
    • Sophisticated management of a restricted color palette.
  • System Logic: Implementation of background processing paired with window refresh cycles.

The logic of the game follows the standard rule: Statet+1={1if ∑neighbors∈{3} or (Statet=1 and ∑neighbors=2)0otherwise\text{State}_{t+1} = \begin{cases} 1 & \text{if } \sum \text{neighbors} \in \{3\} \text{ or } (\text{State}_t = 1 \text{ and } \sum \text{neighbors} = 2) \\ 0 & \text{otherwise} \end{cases}Statet+1​={10​if ∑neighbors∈{3} or (Statet​=1 and ∑neighbors=2)otherwise​

[!NOTE] While a formal help file is absent, I have provided a brief .txt file detailing the program's operation and the architecture of the source code.


2. GDI Object Leak Detector

This tool is compatible with Windows 95. Actually, it is not useful for Windows 95 or later. By leveraging toolhelp.dll and a few undocumented system features, this utility scans for GDI objects that were abandoned by other running applications.

Instead of a standalone help manual, the program provides guidance via the standard command-line help switch: gdi_finder.exe /?


3. Bulls & Cows (Mastermind)

This project holds sentimental value as it was my first significant venture into Windows programming and the first piece of software I ever sold.

I eventually refined the code and "Petzoldized" de-Petzoldized it. From a technical standpoint, the source code is unremarkable—especially since it is almost entirely devoid of comments. I've included it primarily because the game itself is fantastic.


📜 Distribution & Support

All the aforementioned software is released as free software under the GNU General Public License.

Current Support Status:

  • Source code available
  • GPL Licensed
  • Active technical support

Disclaimer: I have not engaged in Windows development since 1997. Consequently, I can no longer provide technical assistance on the subject, except for very basic concepts like WinMain() or handling the WM_PAINT message.

Legacy Software Icon

// Example of the era's entry point
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                   LPSTR lpCmdLine, int nCmdShow) {
    return 0; // Simplified for brevity
}