PictoPull is a puzzle game released on Steam and Switch in 2023. It was developed in the Unity Engine by Joseph Feldmann under the Screen Smith Studios LLC. The Switch port was handled by Bearded Ants. The game is heavily inspired by the Pushmo and Crashmo puzzle games by Nintendo. The Steam version of the game has 150 puzzles + a full level editor with Steam workshop support so users can create and share their own levels.
Development was started on a sequel to PictoPull, called PictoFall, which would have been a similar style game focused on a new type of level called "Crash Levels". These are based on the puzzles found in Crashmo. The sequel was abandoned as I (Joseph Feldmann) lost interest and wanted to work on other projects instead. Instead of releasing a sequel I am open sourcing the project as much as I can so that others can experiment with it or create a sequel themselves. This open source version of PictoPull will be referred to as Open-PictoPull and has some differences from the full version for legal reasons
Levels in PictoPull are made via a built in level editor. You draw pixel art and then the game converts that pixel art into a 3D block puzzle. The player solves the puzzles by taking control of a third person character that pushes and pulls on those 3D blocks in order to climb up them and reach a goal. Levels are generated and stored in the JSON file format.
Level Editor | In Level |
---|---|
![]() | ![]() |
The game contains Three types of levels:
-
Open the Project in Unity 2022.2.7f1
-
Open the scene titled "0-Open-PictoPull". This is the master scene which contains all of the game logic and menus. The other scenes in the project are basically just the 3D backgrounds that are loaded in based on the selected level.
-
Hit play button to ensure everything is working
-
The project is set up to use the Multitarget Build System. I liked this system as it allowed me to easily manage and build multiple different build configurations at once, something not possible in older Unity versions by default. One side effect of this is that the default Unity build system WILL NOT WORK, you HAVE TO build via the Multitarget build system. This can now probably be replaced with Unity's improved build system if the project is upgraded to Unity 6. You can also remove the multitarget build system and then use the default build system with no issues.
-
To Build:
- Go to "Edit->Project Settings->Multitarget Build Settings" - Choose an output directory - Create or select a build target - Press the "Build Targets" button
In order to open source the the project I have had to remove some artwork, code, and levels that I have the legal right to use in a game, but do not have the right to distribute as an open source project. I also removed some assets that could be legally distributed but require attribution, as I want to remove that and make the project require as little attribution as possible. Here is an example of the changed art style:
Steam/Switch Version | Open PictoPull |
---|---|
![]() | ![]() |
As you can see the art is now very barebones and is basically placeholder art. If anyone wants to make a commercial game out of this project they will most likely need to redo the character model and environmental art.
In the original PictoPull the gameplay took place in 10 different 3D environments which mainly served as functionless backgrounds for the gameplay. Some of those backgrounds were built with third party assets, textures, and models that I cannot distribute/open source. I have removed all non distributable third party textures/models from the game. This means many of the environments are currently broken and glitchy looking. I have changed the games data files so that instead of loading these old broken environments a simple mostly empty environment is now loaded.
Steam/Switch Version | Open PictoPull |
---|---|
![]() | ![]() |
The character model for the original game was Walking Robot Guy. I never liked this model so I replaced this model with the base Blockbench humanoid 3D Model.
Old Model | New Model |
---|---|
![]() | ![]() |
Unfortunately the steam workshop integration for the Steam version of PictoPull was made with a third party asset Steam Workshop - Easy Steamworks Integration I have removed this asset from the project. It will have to be re implemented if you want Steam workshop support.
Certain levels from PictoPull were based on pixel art assets packs I had bought. I had the right to use them as levels but I cannot distribute the artwork as an open source project. These levels have been removed. It is only ~10 levels out of 100+.
- Unity Game Engine - Game engine used
- Blockbench - Used to make and texture 3D models in a low poly pixel art style
- Blender - Used to make and edit 3D models
- Aseprite - Pixel art editor used to make textures/levels
- HSV Color Picker - Open source color picker prefab used for the level editor
- Simple File Browser - Open source file browser system used for the level editor
- Steamworks.NET - C# Steamworks implementation used for steam achievements
- Multitarget Build System - Open source build system
- Kenney Input Promps Pixel 16x - Pixel art icons used for controller icons
Music by Tahir Rogers
SFX from Kenney and Liu Jiajun
If you make a game using this project, you do not need to attribute me, however you must attribute all the projects listed above in a similar manner to how I have attributed them.