Foon →
Ludum Dare Explorer →
LD38 →
uP-8: Microprocessor
uP-8: Microprocessor
By space-man, Thor and Graveyardrain
View on ldjam.com
| Category | Rank | Score | Count |
|
|---|
| Overall | 164 | 3.75 | 60 | |
| Fun | 299 | 3.31 | 59 | |
| Innovation | 138 | 3.68 | 62 | |
| Theme | 585 | 2.96 | 58 | |
| Graphics | 360 | 3.60 | 62 | |
| Humor | 283 | 2.89 | 58 | |
| Mood | 243 | 3.50 | 58 | |
Comments
Nicely done. I enjoy the Zachtronics games, and yours is very much like that. I like the visual style as well. I wonder, though, how quickly the difficulty ramps up. I have done the first 5-6 puzzles and have been able to do everything with just loops and loc commands. Do the other commands become relevant?
Edit:
Just had a look at the source, and with only seven levels, they do not require anything other than the loops and loc, but great work in the 72 hours! That's a great start toward needing those other commands! I even may go back and try to write the programs to use other commands anyway.
spaceman
2017-04-25 04:14
@james-dunlap I'm glad you liked it. You can probably solve every level with just loops and loc, but I think it becomes easier to use sca in several of the levels. We didn't end up getting a lot of the harder levels into the game before we had to submit. I'm probably going to publish a post-jam version with some bug fixes and harder levels in a few days.
Edit:
Whoops, double post.
spaceman
2017-04-25 04:14
@james-dunlap I'm glad you liked it. You can probably solve every level with just loops and loc, but I think it becomes easier to use sca in several of the levels. We didn't end up getting a lot of the harder levels into the game before we had to submit. I'm probably going to publish a post-jam version with some bug fixes and harder levels in a few days.
This is awesome, I love these types of games, Zachtronic etc. I didn't complete it but I plan to return. I think I was getting a bit frustrated having the code board cleared each level when I'd spend a bit of time writing out some code that could've worked for both puzzles (e.g. the code to move up until you hit a wall). I think it would've been nice if you could preserve the code from earlier levels each time and instead the first few levels you're just adjusting your solution from the previous level to overcome a new challenge. Also encouraging people to write more reusable and satisfying solutions that can solve the entire game for example, rather than just the simplest one which is looping over the movement directions required.
Sorry turned into a bit of a rant but wanted to get that thought down. Overall, great entry for 3 days!
remco
2017-04-27 16:31
"We will find our own pitfalls thank you very much..." Wisdom for the ages :smile:
Is 'RUN' covered in the manual? Finding out how to make the code, er... run took me longer than the first two levels combined. (But that may just be because I'm very tired right now.)
On the plus side, it's awesome to have an actual Zachlike in the jam, including the requisite 20pg. manual! I think the graphics are awesome as well, please don't be so defensive about it! (Not everyone likes the same styles.)
On the negative side, it becomes pretty clear why Zach-games themself chooses to simplify or gloss over certain aspects of coding or harware. There is a lot of tedium involved if you stick that close to the actual inspiration... At least you can copy the ASM! :grin:
Some sound would help as well, with the mood you've got going you wouldn't even need music. Maybe the keypresses of one of those old IBM-keyboards?
One last thing: Re: The FarmVille comment in the manual: C'mon, snark is ok, but just, well, no need to look down on different gaming experiences and tastes y'know? Besides, not everything that looks cute has to be easy; have you heard of, say, ['Jelly no Puzzle'](http://qrostar.skr.jp/index.cgi?page=jelly&lang=en)? I mean: I prefer Zachlikes like this and hard puzzlers above a lot of things :nerd:, ... but you don't have to put others down to be great yourself :sunglasses:
spaceman
2017-04-27 17:23
@nuclearfriend I'm glad you liked it enough to comeback! Zachtronics was (obviously) a big inspiration for this game. As far as the code editor goes, you're completely right... I was originally planning to add "save" and "load" commands which would let you keep your source between levels, but it fell through the cracks during development. I'll add it to the list of things to add to the post-jam version.
@remco Yeah, we didn't get much of a chance to look over the manual before publishing, so it's a little disorganized (and we're realizing it's a bit hard to find the actual useful bits in all the flavor text...). The "run" command is in the manual though, on page 18. As far as the "Common Concerns" section goes, everything there is intended to be a joke... we didn't mean to come off as defensive or (especially) as putting anyone down. The manual was supposed to come off as being written "in character" I guess and doesn't express our actual sentiments. I can see how it could be interpreted as offensive, though. Sorry about that! We'll take another pass at it and try to remove anything that might be offensive...
The post-jam version will probably have sound, if we have time. For now you can just pretend the clicking of your keyboard is the in game sound, I guess :grin:.
remco
2017-04-27 21:45
@spaceman Hey, good to hear! I'm relieved honestly. I may have been too cynical and expected the worst. I think I just mostly got caught off-guard by the sudden switch from in-character *'unintentionaly hilarious company spokesperson from the 70s'* to sudden real world here-and-now references. Maybe you could replace it by a reference to Pong? :wink:
spaceman
2017-04-27 21:55
@remco lol, I think that's better than what we came up with!
Thanks for pointing it out though, I'm glad you took the time to tell us... It gave us a chance to change it to something better that was more in line with what we intended.
navot
2017-04-28 15:18
Damn this is impressive! This game seems to be quite complex (I couldn't actually tell; I got through the game just using loops). I have never really used Assembly before, so I finished the game by modifying the code example in the image. Hope the artist finds another job soon. The CRT effect looks really nice
saxops1
2017-05-01 04:48
I love the graphics style of this game! The CRT effect is awesome!
Would have been nice to not have to go fullscreen in Web so I could have the instructions open while I played.
smbe19
2017-05-01 11:25
I really liked the game and it was very interesting to play.
A few points where the game could be improved:
- While the CRT effect is of course very nice one should have the option to disable it as it might be distracting while starring at the code... - The manual contains some errors: Page 12 `(%bx)` instead of `[%bx]` and page 18 `menu =` instead of `menu -`. - The manual is humorous but it's a bit annoying that you have to read the whole thing before you can play the game. - A cheat sheet in the manual (or the game) would be helpful so I don't have to scroll around the manual all the time. - If you press ESC it deletes all the code which is not a nice thing to do. - The code should be kept between levels. - Why the difference between a wall and a rock? - The fact that the scanner also picks up the portal is kinda annoying as you have to handle this case separately and you can't just check whether the returned distance is 1 and then turn. - The assembly syntax is kinda weird: for the order of operands and the memory access (i.e. [%ax + $1] you chose Intel syntax but all the prefixes (i.e. % and $) are from GAS (or AT&T, however you want to call it). This is really confusing. Or was it like this for the original 8086? - Why would there be instructions to turn around the rover in a multipurpose micro controller? Also why would there be constants for the wall type and such? This is really specific for this use case. If you want to do it realistically you should have used memory mapped I/O and just specified all the constants in the manual. This way you also wouldn't need to declare an array just to do a scan and could just read it from the memory (e.g. `sca [$array]; cmp $T_WALL,[$array+1]` is just something like `cmp $7,[$42]` where `$7` is the constant for a wall and at position 42 the scanned type is mapped. - If you write `jmp` without a label this happily compiles but gives a runtime error. This could easily be checked during compilation.
shiitman
2017-05-01 12:32
I like the game and especially the visuals. I should admit, it is pretty difficult to begin with, it needs time to get used to.
spaceman
2017-05-01 13:55
Thank you everyone for all the feedback! When I have some time later I'll go through all of it (gotta go to class right now, thought).
@smbe19 I'm a little worried about the ESC bug you mentioned. It was single-handedly the most annoying problem with the game during development. I spent a bunch during the Jam fixing it can cannot seem to recreate it now. Would you mind explaining more specifically the situation leading up to the bug? I.E. what platform, level, run state. I'd love to fix the bug for the post-jam version.
I'll get a chance later today to look through the rest of the feedback more thoroughly. Thanks again for all the feedback!
smbe19
2017-05-01 14:13
I don't really remember which level it was, but it was close to the start (so probably 2nd or 3rd level). I think I just switched from the command window to the editor with ALT and then wanted to go back to the editor (so I probably didn't write anything in the editor). Out of "habit" from other programs I pressed ESC instead of ALT and all the code vanished and was replaced by one line of `---`.
I'm on Win10. Good luck with finding the bug ;)
@spaceman Came back to rate now that we can. I also wanted to add that after a deeper look at the source, I noticed that you are manually creating GameObjects that contain each level. It might be quicker, faster, and easier to use text files to represent the levels and then Instantiate the GameObjects as needed. That would very likely have sped up level design considerably, especially since multiple people can edit text files, but only one can open an instance of the Unity editor on the project at a time. Just something to consider now the jam is over. Still a great game!
nilead
2017-05-01 17:32
Loved the aesthetics. Reminded me of Pony Island but without the LSD driven story.
teekeks
2017-05-01 17:34
Whow there! I tried it a bit and I really love the artstyle and the idea of these types of games! Will save it and play it a bit more later when I can think again :D
The game is neat, the code writing and graphics match very well together. Here's my impressions:
Good: - Quite impressive concept and execution! - Great potential to become an educational game for teaching assembler - CRT Effect is awesome
Improvable: - Documentation could just be a short set of examples and it would be much easier to digest. - Levels could be more complex in order to force you to explore more complex programs (As of right now the game is beatable with basic loops) - Having to rewrite your code everytime is a bit tedious. One improvement could be to bring the existing code to the next level?
All in all, the game is great! Keep up the hard work!
I'm on a Mac. I had no lucking getting the WebGL version to run, and the desktop version didn't recognize my arrow keys when in the editor. This was okay for level one, but by level two the program was large enough that the lack of line-level editing was painful. Not knowing which line caused the malformed error didn't help. :disappointed: But I liked the premise and thought you guys did an impressive amount of work for the time allotted.
*UPDATE: BTW, the arrow keys worked in command mode to bring up previous commands*
spaceman
2017-05-01 19:13
I'm back from class now, so I've got some time to address some of the feedback (and go through and play all of your games)!
@geeisgeeitsomelaldy Yeah, I wish I could've gotten the controls working in WebGL. For whatever reason, Unity doesn't capture the "Alt" key consistently. On Chrome it caused the window to defocus and on firefox it caused the browser menu to open. This led to a really bad experiance. If anyone knows how to solve that problem, I'd love some help with it. In the post-jam version I'm going to fix this by using a different button for switching to the terminal (maybe control-T or something).
@smbe19 Thanks for the detailed feedback! I'm still trying to fix that bug (I think I might have the cause narrowed down, so hopefully I figure it out soon). I think you're right about the CRT effect, I'll add the option to the list of things to change on the post-jam version. We're still trying to figure out what we want to do with the manual for the post-jam version, but I agree that it can be hard to find what's necessary. Thanks for pointing out the factual errors in it, we'll fix those in the post-jam version. The manual talks about rocks because in the original design there were going to be rocks that could be moved around in some puzzles, but they never made it in the game. The scanner picking up the portal is actually intentional. You can use the second location in the array to check the type of the object. You are probably right about the memory-mapping approach for thematic reasons, but we wanted the rover controls to be more easily understood. We might change that in the post-jam version.
@james-dunlap We originally intended to make that a bit more scalable, but it never made it into the game. It's the first thing I changed in the post-jam branch (which is in the same repository as the main game).
@multiplexor Thanks for the suggestions! Hopefully we can make most of those improvements in the post Jam version!
@Scritorum Sorry about that! I'll see if I can't figure out what's wrong!
Great shader for an interesting gameplay. A funny project which reminds me the time when I developed some shellcodes. However I don't know if many players could understand how to play. ASM is a dinausor for them ++
The style is wonderful, and the game itself is really fun for someone like me! Much enjoyed!
I like the idea but it has such a high barrier to entry that it's hard to really enjoy.
spaceman
2017-05-01 21:45
@bobmandude @geckoo1337 I can understand that. We're hoping to put together a manual that's a little easier to follow for a post-jam version which might make it a bit easier to get into.
togimaro
2017-05-01 21:47
Really good! I love this kind of game! *(like TIS-100, Shenzhen I/O...)* Even if everything is possible with simple loop (I found `%cx` and `loop` way too simple) I had fun making more complex solutions with `sca` for example :smile: Also, maybe better explanation with a little example can be useful to start!
Good job!
redpanda
2017-05-01 21:50
Awesome game! Love low-level kind of stuff :D
Interesting idea, but since I am just a lowly graphics dude, I wasn't able to get very far. I do not have a programmer's mind whatsoever. I assume the controls really aren't that difficult, but it's a hill I don't really like climbing.
Because of this, I feel that rating your game in anything other than graphics (I do quite like the visuals) would be unfair - I am simply not the target audience.
Props for the concept, shame it's not a cup of tea I know how to drink.
spaceman
2017-05-01 22:28
@flaterectomy Thanks for giving it a try! I'm glad you liked the graphics.
pfeyffer
2017-05-01 22:59
Wow, this game is awesome! Brings back memories of back then :-) The manual itself is a work of art. Left alt to switch the terminal window was kind of annoying because I need that key for the square brackets with a German Mac keyboard. But somehow that added to the realism. It would be nice to be able to go back to a level you solved before to copy some code. But yes, learning by repetition. I can now add knowledge of up-8 assembly to my resume. Thanks guys!
Cool idea. I like the retro CRT screen too (maybe the fish-eye is a little too extreme on the help page though!).
I feel like I'm doing Ludum Dare all over again as I play...
Looks very good,
But near the start I had no idea what I was doing, even after reading the manual. Like no idea if the registers were getting set or anything, no idea what scn was returning or anything.
Being able to see what's in the register or like print out what's in a memory address to the bar at the bottom would have helped a lot just to understand what was going on, maybe showing the line that was getting executed as well. I set up a few arrays to hold distance to move and direction, then looping through and using jne and inc to check if I had reached the distance but the program kept going past the number I entered in the array. it was very strange to me
spaceman
2017-05-01 23:37
@jamesy012 Thanks for the feedback! Being able to see the value of a memory address or register is a good idea. I'll add a debug print instruction for the post-jam version which should help with that some. Maybe if I have time I can add some sort-of second display that can show the value of registers in real time...
I also like the idea of showing the line that's being executed. It was originally my intention to do that, but there were some technical limitations with the Unity GUI that made it sort of difficult.
Oh Man, this looks really unique and cool. I wish I payed more attention on assembly class when I was in the university, LoL. If someone uploads gameplay on Youtube please let me know.
By the way @spaceman can I ask you a question about my game (the one that opened in a really small window) can you run it again and hit the maximize window button (if it is available), if it doesn't maximize please let me know and tell me what Windows you are using, this is a major bug and I need to fix it, thanks in advance !!!
I have never really gotten my hands on some low level stuff before. Really inovative.
I tried to play, couldn't quite get the hang of it though. Maybe its niche thing for people who are into low level programming. The graphics are great and as far as I played it seemed to be well polished.
cethin
2017-05-02 03:18
I found you after you reviewed our game, so thanks again for that! I saw your game and had to try it. I love any computer simulator, and this one is very well done. I haven't had time to get very far, but it looks promising. Good work! As a complaint, I think the grain on the CRT effect is a little too high. The text becomes hard to read sometimes because of it. It's a nice effect overall though. I am personally thinking of making a C64 inspired VM to put in a game of some kind, so I love this.
This is amazing, I can't wait to finish my work day as a programmer so I can go home and finish playing this game. Well done on the visuals and the gameplay. It looks like you've added a good amount of technical details to make the game interesting without going too overboard, well maybe a little overboard ;)
It's pretty impressive you've been able to build this game in such a small time frame as well.
One suggestion though, when I started reading the manual it would be nice to have an example complete program that I can use as reference without going through all the commands. I think that would make it easier to dive into the game straight away.
kosmo
2017-05-02 03:59
Finished it -- those 5 years of college and 6 years of work experience finally paying off!
Proof: up8.PNG
Some comments:
As others have said, you provided far more instructions than were necessary. I generally won by allowing my robot to smash into walls continuously moving say Up and Right every turn until we got to the goal. The last two levels required (or at least it made more sense) to make use of scanning. This made the majority of the manual unnecessary. Perhaps you should add some hazards into the level requiring that you not run into the walls? or dare I say dynamic obstacles that require you to legit navigate through logic rather than brute force. I also understand not wanting to make the game even harder for the non-programmer however.
The biggest issue for me was that end and home keys did not work as I expected them to (end moved the cursor to the end of the document which required that I use the arrow keys to navigate). Additionally, some form of sfx would have greatly added to the game.
Overall I enjoyed your game as a career programmer. Thanks for the game :)
Wow! This game is so hardcore. I haven't programmed assembly in decades. I'm so impressed by even just the giant downloadable manual PDF alone! Just wow!!! Congrats for making this game!
I love TIS-100, so it was fun to see this game! Could really use a debugger or something, though, because when something goes wrong, it's very difficult to tell what it was. Particularly with the SCA command, I thought.
breno-m
2017-05-02 17:35
Nice entry! I like this type of game. The postprocessing and mood are fantastic and the puzzles' difficulty are very fair.
The fact you were able to get a fully functioning CPU in 72 hours is amazing! I'll probably need to do a bit more reading into the assembly language in order to fully beat this game, but from what I can manage this is pretty fun, could make for a good educational tool to teach kids hardcore programming!
Hopefully you can sort out the post-processing so that you don't have to run the game in fullscreen mode.
Wow! This game is like the game called Duskers. Super cool and well executed! GJ!~
spaceman
2017-05-03 16:01
Thank you all for the great feedback!
Everyone on the team is in the midst of finals right now, so we haven't had a lot of time to read over all of it, but we're catching up... slowly. I'm also trying to try all of your games during my breaks from studying!
The manual was a great touch. The CRT looks great. Really well executed concept guys.
This reminds me so much of TIS-100, It is very good looking and polished though, and I love the concept of these type of games. Nice job!
...this is so crazy and awesome that all I can really do is offer up the meta-complaint that I totally don't have time to delve into this right now, haha. I typically only plan on spending like 5 minutes on Ludum Dare games, but I could easily see myself getting hours out of this one because of how amazingly fleshed out it is. Besides, I'm right in the middle of Shenzhen I/O!
Phenomenal work, I think? (Kudos for the Albert Camus shout-out!)
Before even starting the game, have to give high marks for the "Common Concerns" section of the manual. It is nothing short of brilliant as it both addressed any feelings I was having about the game and referenced one of my favorite existentialists, just awesome. Well done!
Wow. How did you manage to squeeze 18 pages of manual into your Jam?!? How? :)
I've played Shenzen before, it feels similar.
As a comp. sci. who once made an C->ARM compiler and then an interpreter (for a small subset of ARM assembly), I appreciate your effort very much.
At first I had no idea how to move, but in the end, I just needed to "Read the manual"!
Can't write anything else because I have 11 pages more to read :)
Well done, guys. Well done!
YAY!
Screenshot 2017-05-13 13.08.27.png
Finally an assembly simulator game I actually was interested in playing!
First thought was "oh man, how is this game gonna do in a jam?". I usually go for simple and understandable games to keep the audience interested. But you managed to achieve that anyway. You made it simple enough and it was so rewarding when you actually got the hang of it. To make someone invest so much effort into reading a manual, there's a high stake that they will be pissed off if they don't find the game rewarding. But that guy is not me. I loved this!
Really well executed!
If you're gonna develop this further I'd LOVE to see subroutines in this one!
I think i spent about an hour on this game, honestly. I'm a programmer by heart and will not accept shitty algorithms, so i actually spent most of my time on lvl 2 to come up with one, and i did. It checks for walls and acts accordingly. I hate hard coding and this game allowed me to not do so.
I'm totally gonna check out the source code on this! Love the CRT effect and I'd love to learn how to do it. Also, I'm really interested in how you managed to create a virtual memory. Oh man, I'm looking forward to diving into the code!!!
Also, i wanna thank @thor for leaving some feedback on my game [Infecteria](https://ldjam.com/events/ludum-dare/38/infecteria). We're gonna develop the game further during the summer and all those minor gripes will be gone!
Thanks for this awesome experience and hope to see you guys in the next jam!
// Rasmus (one half of [LiquidBrain](https://ldjam.com/users/liquidbrain/))
I want to play this, but arrow keys not working in the editor is a deal-breaker.
spaceman
2017-05-17 01:28
@stuntddude What platform are on? The arrow keys are supposed to work in the editor.
@spaceman I'm on OSX 10.12, using the desktop build V1.2.1. The up arrow works in the terminal, though - in fact, if I press the up arrow while in the editor, it seems to be captured by the terminal instead, and causes the previous command to be displayed there.
spaceman
2017-05-17 02:10
@stuntddude Thanks for the info. I don't currently have access to a Mac, but at the very least I'll try to fix it for the post-jam version.
2017-06-05 12:43
Super interesting game. I included it in my Ludum Dare 38 compilation video series, if you’d like to take a look :) https://www.youtube.com/watch?v=IwLATN0OA3Y