Power & Pistons
Power & Pistons (PnP)
One move to rule them all.
Simple piston mechanics combined with nestable integrated circuits allow for highly compact yet infinitely complex machines in this min-style, max-tech hardcore logic, base building, automation MMOG. Explore an endless 2D world, mine resources, trade with other players, or fight them in the PvP realm.
Turing-complete and playable on mobile or desktop, this is a fulfilling experience for the nerdiest nerds and casual gamers alike.
Can you reach 100% automation?
This is a singleplayer only prototype.
Open source:
https://codeberg.org/Matz_tech/PnP
License:
PolyForm Noncommercial License 1.0.0
Nightly build:
https://matz_tech.codeberg.page/pnp/
| Updated | 13 hours ago |
| Published | 7 days ago |
| Status | Prototype |
| Platforms | HTML5, Windows, Linux, Android |
| Rating | Rated 5.0 out of 5 stars (1 total ratings) |
| Author | Matz2704 |
| Genre | Puzzle, Simulation |
| Tags | Automation, basebuilding, hardcore, logic, Sandbox, Singleplayer, Top-Down, turingcomplete |
| Average session | A few minutes |
| Languages | English |
| Inputs | Keyboard, Mouse, Touchscreen |
Development log
- Update 0.2.413 hours ago





Comments
Log in with itch.io to leave a comment.
I think a simple built-in help section or an item descriptor plus visual examples of uses would go a long ways.
It'd also be a decent game if the missions followed the nandgame path but with a focus on utilizing the different in/output for varying scenarios. A more tactile approach to the rather stale ones out. Given each map has large open spaces, there's enough room to hard-code in a sort of tutorial zone like a mechanics display where the player completes each step as a mission. At the end they have a line of contraptions that show what each component is does at a glance.
Resource management would be the biggest limiter on building anything of actual interest instead of just cleaning the map. There's not really much reason to build a whole suite of logic gates just to mine more of the finite blocks. The main draw of such a complex system is the hopes of building something complicated. Such an undertaking would take hundreds of units with their own nested/recursive units all with varying costs, I just can't see the current map sizes actually managing that. Rather than upscaling the world gen you can just make a renewable resource and crafting as the last bits of mission rewards. If you put them inside a unit then you would also save on clientside performance, staying loyal to the minimalist design.
*The first miner mission broke on me but I just assumed it was meant to put a piston on each output and hit complete afterwards. Miner 2 wasn't really a jump and more of a time consuming affair. Don't know what mover does and there weren't any new missions to skim hints from. Couldn't find any info on it, it also wasn't intuitive enough to figure out. Given the name I figured it synergizes with pistons somehow but for the life of me can't work out how.*
Thank you so much for your detailed comment!
There is a help section in the main menu (although incomplete). Did you see that? If not, I maybe have to move it somewhere more prominent.
The tutorial zone is a good idea, I will look into that.
I am planning to increase mapsize to a lot bigger and make this an MMO. But this will still require a lot of work and optimization.
If you are inclined to build some more complex mechanics, you may activate creative mode via the main menu (the button above the Run/Pause button) and build without resource limit. If you are looking for a more sophisticated challenge, some mechanics I have built are:
- Pulse Limiter
- Set Reset Latch
- T Latch
- 3 bit counter: I managed to cram that all into one unit without nesting units. Incoming signals must be only 1 tick long.
- A counter, that fires 1 pulse after counting 8 pulses, also no nested units.
- A walker: a structure that propels itself through the world without outside intervention. Bonus points, if you make it turn around when hitting something solid.
- A puller: a walker, that can pull another block
- 50 bit sequencer: a single unit that can receive, hold and dispense a sequence of 50 consecutive blocks in order. It consists of about 1000 blocks and has up to 4 levels of nested units (excluding the parent unit). I am sure, this can be built more efficiently. Right now I am designing a mechanic that is able to duplicate the sequence read from an existing sequencer. The duplication mechanism already works. I am still working on the recovery mechanism, that transports the needed resources into the duplication mechanism. The duplicator already has more than 3000 single blocks.
You can find the solutions to the challenges in the Examples section at the bottom of the help menu.
By renewable resource, do you mean a resource that respawns? Or like a seed that the player can plant, that will spawn new resources around itself over time. I was definitely thinking about spawning some npcs. Walker units, that randomly walk by, and may disrupt mining operations, but may be easily farmed for some extra resources.
I'm sorry about the mission breaking. It seems to be a networking issue. I am still trying to replicate that locally.
The mover is able to move the parent unit in the containing grid. When placing the mover inside a unit and powering it from one side, the parent unit will move into this direction where the mover is powered from. I included it as a means to speed up early game progression, e.g. automatically move miner units around. Combined with a collector this will lead to some easy early game mining automation.
I am still working on more missions and a progression system that makes sense and catches newcomers as well as logic puzzle veterans alike.
Thank you again for playing the game and leaving this detailed comment. If you have more questions or suggestions, let me know.
Didn't notice the help section tbh so my bad. I only used the menu to restart when I erased my starter piston(3 different times) then promptly forgot it existed at all. For the hints, I'd say to redesign the menu button(placement, size, color), I think I was subconsciously assuming it was a button for save files, map gens, and what not. After using the menu to reset the map/game, I subconsciously mixed up with a window minimizer for the right side, not a normal response tbh but that's all I remembered, I was actually surprised I forgot there was a menu button until your reminder haha.
If the later versions are planned to be expanded a ton to accommodate multiplayer, I'd recommend to have a customizable map size. I actually prefer the small size simply because my potato pc almost always gets over-ran by games that keep developing and adding to the base games. Keeping maps small is my only stopgap for managing any chaos. I still remember a 'don't starve' world where a griefer lit up the entire forest plus the base, I had to abandon the server entirely because I kept dying without being able to help much, all my gear and valuables burnt up and even my backups.
Creative mode...not really what I'm looking for personally, half the fun in building complex machines is having to gather all the resources for the different components myself. It gives the machine an extra layer of meaning that keeps me engaged in the process. Without that sentimentality(?), I tend to drift away from the game as a whole. Happened on Terraria when someone gifted me the endgame mining ufo when I was just barely entering late game. Because I was gathering tons of resources(even ones I didn't have the right level tool for) using it, they lost enough inherent value that I just played the game less and less. I actually had an imaginary divide in my base of stuff I really liked and not so much, which just so happens to be the additions before and after I got the ufo.
Left it at 'renewable' to keep it open-ended, but the greatest examples would be like those found in the sky block mod. Creating resource chain loops that slowly generates more than you put in. Upgrading the chain so that it incrementally creates more.
Another way would be like villager trading, though that's...the most boring way as it incentivizes farming the currency instead of gathering the resources(y'know playing the actual game). Trading is best left for the real end game, where you already have all the resource farms, but want a way to gather specifics en masse for those megabuild projects, at that point in the game building more/bigger farms is the last thing you want to be doing.
I mentioned putting it all inside a unit, because it'd be a way to clean up clutter in the overworld. Putting resource farms inside units like 'Sandship: Crafting Factory' helps keep the performance up because you don't need to render the farms, just the recorded input/output rates.
Kinda hate to keep doing it but Minecraft mods have the most obvious solutions! For the visual aids, I'd recommend something like the Foundry or Create mods approach to multi-block structures. Essentially a step by step guide to block placement for the absolute basic version of each machine. Expanding/upscaling it to your needs would still require you to do the rest.
Moving a unit...should've been obvious to me, but then again I guess I was too focused on using Minecraft as the analog for all this. I was just assuming 'flying machines' and those like them to be the 'walker' mentioned in the synopsis. Up to that point in the mission chain, I figured the only interact-able thing units could do was output power and mine/piston, with the moving being done by another piston.
This problem is basically what I was meaning for the 'tutorial' zone to solve. I just plain didn't know that units could interact with the world. The piston animations reaching outside a unit should've been a clue, but looking at the videos in the help section I was genuinely surprised when wires and generators were popping out the block too!
Ah, as a clue of how 'potato' my pc is, it was struggling with some of the embedded videos because it tends to buffer the first few seconds...which some for some the videos was all they had or where the mechanically most interesting bits occurred. Hence why I prefer more diegetic versions like Minecraft's ancient city redstone room, or the modpacks with a guidebook. Thaumcraft's book that expands as you learn is even greater, it gives out info and explains things plus visual aids where it helps.
Finally would recommend that you check out Introversion software's fail masterclass series. I only checked out the spacebot one as it was the one I was personally interested in their thoughts on as of yet, but it was an overall very informative video about the thought/design process that even an established team goes through.
Spacebot had a fundamental flaw that none of them could point out, until this video of them dissecting it which was that the game eventually abandons the main draw of programming bots and shifts into a 4x style before ultimately turning into a terraforming idler. Though tbh, I think it was mainly because the rest of the team weren't engaged enough to even play it to at all and ever find out that flaw for the guy.
This is a good game, somewhat reminiscent of Cell Machine and the Cellua mod.
Adding units is a great idea. You can create a huge circuit in them, but the circuit will be 1 block in size. (Almost like in real life, where a circuit with a huge number of elements can be the size of a fingernail)
But I found a bug: if you delete the head from the extended piston, the piston will simply disappear without adding it to the inventory.
I didn't know about Cell Machine and the Cellua mod, so that's a very valuable info for me. I guess, I have found my target group.
Yes, spatial restrictions were always a strong inhibitor, when designing complex mechanisms in similar games. With units, I tackle at least two things at once: Enabling local complexity and also movability of mechanisms.
Thanks for the bug report, I will look into it.