Activision's Little Computer People inside a (Docker) container. 🕺 🐕 🏠
┌────────────────────────────────────────────────────────────┐
│ LCP Container │
│ │
┌─────────┐ │ ┌──────────────┐ ┌────────────┐ ┌──────────────┐ │
│ Web │ │ │ (HTML-based) │ │ │ │ │ │
│ Browser │ │ │ VNC Viewer │ │ VNC Server │ │ C64 Emulator │ │
│ ◄─┼────┼───┼─► ▲ ◄─┼────┼─► ◄─┼────┼─► ▲ │ │
└─────────┘ │ └───────┼──────┘ └────────────┘ └───────┼──────┘ │
│ │ │ │
├───────────┼─────────────────────────────────────┼──────────┤
│ │ [ LCP game binary ] ─┘ │
└───────────┼────────────────────────────────────────────────┘
│
---------------------------│----------------------------------------------------------------
(optional) │
┌─────────┼─────────────────────────────────────────────┐
│ LCP CareService Container │
│ │ │
│ ┌─────┼────────────────────┐ ┌───────────────┐ │
│ | | | | │
│ | Automated Browser Action | | Cron Schedule | │
│ | ◄─┼────┼─ | │
│ └──────────────────────────┘ └───────────────┘ │
│ │
└───────────────────────────────────────────────────────┘
- Web Browser: Any HTML5 capable web browser.
- Container OS: Debian
- VNC Viewer: noVNC
- VNC Server: x11vnc
- C64 Emulator: VICE
- Browser Automation: Puppeteer
- Cron Scheduler: Debian Cron-Daemon
- Docker (and docker-compose) installed on your system.
- The Little Computer People game binary (in disk or tape format).
- An itch for nostalgic entertainment. 🕹️
-
Clone this repository:
git clone https://github.com/4ch1m/LittleContainerPeople.git
-
IMPORTANT:
Place your D64-binary of LCP into the cloned directory and name itlcp.d64
.
(The tape version can also be used; see "Customization" below.) -
Execute:
docker-compose up
(This will build and start the container(s).) -
Open a web-browser and navigate to
http://localhost:8080
. -
You should see the output of VICE in your browser.
(Note: It may take a few seconds until VICE finished loading the disk/tape; so be patient.) -
Enjoy! 🤓
Simply create an .env
file right next to the docker-compose.yml file and set the values as needed.
LCP_BIN
: The file that gets auto-loaded by VICE upon container start (default: "lcp.d64").LCP_PORT
: The port under which the web interface can be reached (default: "8080").LCP_VICE_OPTS
: Additional options/settings for the VICE emulator (default: "-VICIIfilter 0").
e.g.
LCP_BIN=lcp.t64
LCP_PORT=8181
LCP_VICE_OPTS=-speed 500
This is an optional sidecar container that can help to keep your LittleContainerPeople alive without having to actively interact with it all the time.
Every fifteen minutes the service will send these three keyboard commands to the running LCP instance; covering the essential physical needs of your LCP:
- Ctrl + F (:hamburger: send food)
- Ctrl + W (:cup_with_straw: fill watertank)
- Ctrl + D (:canned_food: send dogfood)
(Prevents the LCP of getting sick. 🤢)
Additionally, a random activity from this list will be sent:
- Ctrl + A (:alarm_clock: alarm clock)
- Ctrl + C (:phone: make phone call)
- Ctrl + P (:wave: patting)
- Ctrl + R (:cd: send a record)
- Ctrl + B (:closed_book: send a book)
(Should improve the overall mood of your LCP.)
If needed, you can configure the target URL which the careservice connects to:
LCP_CARESERVICE_TARGETURL=http://yourhost:8181
(Should only be relevant if you host the lcp
and lcp_careservice
containers on different machines.)
You can disable this feature completely by commenting out or removing the according lines in docker-compose.yml.
- Helpful information about the game: C64 Wiki
- LCP Tools from Snowdog: CSDb
- YouTube videos:
- C64-Longplay | DerSchmu
- The Sims wouldn't exist without This | Nostalgia Nerd
- The secret way every Little Computer People floppy disk was unique | Retro Recipes
- What was Artificial Intelligence like in 1985? Ask Little Computer People! | Retro Recipes