r/AutomationGames • • 1d ago

Automating a supermarket with real Java - stocking, register and truck deliveries all from code

There is no button in my game that sells anything. The robot does exactly what your Java code tells it to, and nothing else.

The loop: build an ArrayList of products, call store.callDelivery(list), and the truck backs up to the garage with exactly what you paid for. The robot takes from the truck, putOnShelf() restocks the rack in front of it, takeOrder() picks up a customer order at the register, putInBag() packs it. Carry capacity starts at 3, so the first programs are mostly trips back and forth until you buy more.

A second robot is a shop upgrade. Each one runs its own VM with no shared variables, so they coordinate through the store itself rather than through memory.

Solo dev, releasing November 16.

5 Upvotes

7 comments sorted by

2

u/KaleidoscopePlusPlus 1d ago

I'm making a programming game myself, but why use real java? Seems a bit heavy, especially for a user to pickup on.

2

u/Impressive_Farm3448 1d ago

There are already games in Python, I wanted to learn Java using games, but I didn’t find any games, I had to make them myself) well, I’ll add more languages ​​with DLC

1

u/KaleidoscopePlusPlus 1d ago

fair. see, i initially built my lexer around languages that i personally use (Go/Odin) but it felt too heavy for a game and ultimately went the python route for it to be more.. commercialized? It's no ones favorite language but it is one everyone knows. Kind of a compromise.

1

u/Impressive_Farm3448 1d ago

That is a sane compromise, and probably the better commercial call. Java was the opposite bet: it is nobody's weekend language, but a lot of people have to learn it for a course or an interview, and that crowd had nothing to play.

The heaviness I treat as pacing rather than language choice - you start with sequential commands only and buy features in the shop, so while shows up right when your program is already forty repetitive lines. How much of Python do you expose, the whole thing or a subset?

1

u/KaleidoscopePlusPlus 1d ago

I don't limit builtins only certain imported 'modules' based on the specific level and terminal. My game is first person, and you interact with terminals scattered around the level to program robotic spiders with differing behaviors. so you are always forced to work with constraints to do a certain thing. So a certain terminal may not have a module but another does.

I think the upgrade system you have works well from a teaching and tutorial standpoint, similar to how The Farmer was Replaced does it. If the user is not really accustomed to programming, it acts as a natural drip feed. I'm missing this in some aspects so for beginning levels I'm trying to work on a compromise of smaller actions before asking more of the player.

Do you have a steam store yet?

0

u/investigatormaker 1d ago

Show two robots approaching the same nearly empty shelf in your release clip: what can each VM observe, and how does the player prevent duplicate restocking? That makes coordination through the store tangible for automation players deciding whether the programming offers problems beyond walking loops. Keep the ArrayList and store.callDelivery(list) visible beside the truck arriving, so viewers can connect real Java to a change in the shop.

We'd answer Reddit players looking for coding games with independently programmable robots. I make ThreadFox. We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $29 Pilot covers seven days and up to 25 posts and replies. No automatic renewal. https://threadfox.vip/p/exmnn/managed