Mini shaders is a programming puzzle game (inspired by the awesome games that zachtronics makes) that acts as a very high level and simplified version of shader programming. This isn't super related to the theme but in my head I was thinking "computers are basically small worlds, oh lets make a game about computers, oh lets make a game about programming, oh shaders are cool"...
In this game, you are required to match your grid with a given reference grid using a set of provided commands. These same commands run for each grid cell so you are required to rely solely on state to determine what actually gets drawn.
These instructions and tips are given in the game, but for completeness sake, here they are: - The commands are executed for every grid cell - Commands can take any built in variables or numbers, defaults to 0 if not supported - Built in variables are r, x, y - x and y are the cell coordinates, (0,0) is bottom left - Hidden boolean c checks if current command is to be executed - +, -, %, *, / store result in r - \>, <, = store result in c as (c AND result) - Set makes the square colour green - if c is false, next non-comparison command is skipped - c is reset back to true once the relevant command was skipped or executed - / or % with 0 gives 0 instead of undefined - The cost is determined by the cell that had the highest cost, lower cost is better - The Editor is scrollable
Tools used: - Unity - FL Studio for music - Hitting my keyboard really hard for sound effects - Inkscape for the graphics... which is really just a bordered square that gets used everywhere - www.dafont.com for fonts
Cool idea. It's not for everyone and that big block of text can break the experience, but I'm sure there will be some programmers that will enjoy the game. Good job!
Very complex game, but I think the intensity is that right? If you put a small step-by-step tutorial to slow players is It would be great to get the gameplay fast. The art is minimal like a console, i like this. Good Job.
This is a fun little coding puzzle game. One idea I had in case you are interested in taking this further: The instruction set can get progressively more advanced as new hardware is introduced. For example, v2.0 of the instruction set can have stack capabilities, which would allow more complex puzzles AND possibly allow prior puzzles to be completed with fewer moves. Overall, great job!
Took me some time to realize that I can also input variable names in the fields:-) After that I beat the game, most of the levels were easy, except the diagonal double stripe one, which was a bit trickier:-) Anyway, the game is very nice!
I have to admit, when I first saw it, I was like "oh no! I have to think!" But once I got the hang of it, I really enjoyed learning how the machine worked and what all the commands did.
PRE-PLAY ===================================== First impressions of the game before playing: Looks like an interesting one, definetliy more unique than all the others I've seen. But also looks quiet complex.
Then I played the game
POST-PLAY ===================================== -Music The sound fit, especially the sound effects, and the music, but the music got repetitive after a while
-Gameplay It was very, very hard to understand at first. I had to seriously read the instructions a few times, and even then it just reminded me that I have math notes to do xD The text and UI was also pretty small for me, so I a changeable screen size is recommended.
However, once the player truly grasps the full gameplay (which I still think I'm doing somewhat wrong) the game or puzzle itself is quite interesting and intriguing. However, I agree with one commenter, using y+ to go down is a bit strange.
I think a tutorial should be added, that explains things one by one (although I know how hard tutorials can be in Unity)
-Theme To my best knowledge, this didn't fit the theme very well, but it didn't really matter
-Innovation: The game itself was innovative, and much, much different than all the games I have rated so far.
EDIT -Graphics The graphics fit the overall aesthetic of the game, and it had a nice simple, clean feel to it with that still daunting display of commands and such. It added to the game really well.
OVERALL ===================================== It was a unique, fun little puzzle game that was very hard to understand at first.
Cool retro feel and music. Bit overwhelming at first but in a good way, things look interesting so it makes me want to figure out what's going on. Then again I am a programmer, so maybe that won't apply to everyone.
Pity about the try again button bug! I had to redo some levels...but not that much of a train smash. Would be cool if there were goals to try to achieve in terms of number of operations.
Hey all, thanks so much for the comments, it's really cool to see that people managed to get past the clutter and actually figure out the game (I was definitely worried that it might be a bit dense).
To address some of the comments: -I definitely agree that both a better difficulty curve, as well as a tutorial would help a lot. If I were to work on this further, that would definitely be quite high priority. -Definitely agree with the confusion of 0,0 being bottom left, luckily this is quite easy to change -The stack idea is really good, and is definitely a good extension to the current model. I also think adding more commands such as abs would be good as it allows for distance calculations, resulting in shapes such as circles etc.
Neat game, but needs lots of work in the UI and instructions. Maybe a short tutorial? Also games like this really benefit from having something like a debugger / stepper, so you can see what your program is doing step-by-step.
I loved it, but not finished it as level 4 is too hard for me. So I'll suggest to add some step by step showing registers states to help debug, this should help debug/search when the player do not understand how to solve a level.
It's a shame this is Windows-only, as cross-platform builds are one of the selling points of Unity... still, I love Zachtronics games and this looks super interesting, so I'll play it as soon as I get my PC working again.
This is neat! I could spend a lot of time here messing around. Good work for 48 hours. Played about 15 minutes or so but had to push on because I'm streaming these games -- though a pro shader programmer would have cleared it in 10 minutes :)
This is awesome! I love zachtronics games (we made a zach-like too...) and this was a really cool twist to their formula. It took me a while to figure out that all the variables were lower case since the font only has upper-case letters. It would save some frustration if the variables could be upper or lower case. I thought the music and the art fit really well (though I think the scanning lines looked a bit odd when they went underneath the output area, but that's just a nitpick). I think some of the initial confusion could be mitigated by having a help screen that can fit more words. It also took me longer than I'd like to admit to grasp the way comparisons worked. Something like the +/- system in Shenzen I/O would probably make that a bit easier to understand.
I also liked the score screen at the end: I got 3,3,5,6,5. I'll probably comeback later and come up with better some better solutions.
This is impressive... Gameplay is a bit complicated, but it rewards taking the time to read the instructions and understand how to play. I think an introductory/tutorial level that explains how to play would make it more inviting to players who aren't already familiar with programming concepts and writing shaders. Really nice overall tho!
Proper review after playing the game for real: basically, I really like it. It has all the elements of a good Zach-like. But I do have a few criticisms:
- The instructions aren't written very well, so it can be hard to figure out what they mean at first. "Hidden boolean C checks if current command is to be executed" sounds like out-of-context word salad unless you already know what the "hidden boolean C" is all about. The explanation of control flow would likely have been better without mentioning a "hidden boolean" at all. - Not being able to reorder commands isn't a big deal now because the programs are all so short, but it would be a real pain for larger programs. - Due to only containing a few levels, most of the commands go unused. - I'm not sure why there's a countdown between levels. I already verified that I'm ready to start the next level, so why make me wait? - Clickable UI elements should - I want more levels!
I'd love to see a post-jam version of this that adds more levels and possibly more features. I had a lot of fun trying to figure out optimal solutions, but in the end my scores were 2, 2, 6, 4, 5... clearly not all optimal! Maybe I'll have to revisit it later.
Took me a while to get it, but then it worked nicely. Having 0,0 in the bottom left is irritating, I prefer 0,0 in top,left.
Beat all 5 stages, with 3, 2, 6, 4, 4 moves.