PUZZLE
BETA
1753
5
5

INJECTION

by

INJECTION is a programming puzzle game.

Added more story and stuff! Three more levels. Also a significant graphical overhaul.

Most importantly, there's now an interactive Python crash-course tutorial built in to the game!

Roasts

desdemian 1 year ago

Tutorial/Learning Curve
I already know how to program. But not in python.

Opening an extern website with a coding tutorial? No. If this game is about coding in python, Teach me. If I was any user i would quit right now.

My keyboard is in spanish, but when I type into your game, it converts to english layout, which makes it very hard to type anything that makes sense spacielly with symbols.

Now I'm stuck in this console and don't know how to go back to the game. Remember me how to get out always.

I'm back at that first room. I don't know any 10 word phrase.
Try dir() hint() info()... everything is useless.

I quit this. This game makes no sense. You have to give an idea of what I'm suppose to do. Don't make the level dissappear when I'm coding. Give me any hint about the game, not only the commands... info() about what? Objects() just gives me something I have no idea what it means.

This game need a lot of work for beginners.
Reply

schilcote 1 year ago

Sorry about the key mapping issue, it's a bug with the library the game uses for graphics and input that I can't fix. I tried a workaround but since I don't actually have a non-US computer to test it on it never worked. :P

The resources the tutorial pulls up are meant to be used as reference material. You're _supposed_ only look back at them when you decide there's something you don't know how to do, like pull something out of a list. I should probably remove them, actually, since the hint system seems to be better at teaching basic syntax anyway.

The last hint you can get from the hint system actually straight-up tells you how to solve the level. It looks from the telemetry that you only called hint() once. The first hint should probably mention that you can call it again for more hints.

It'd be great if I could pull off a Mario-style invisible tutorial, but... if you have any ideas on how a game can teach programming language syntax without text, I'd sure as heck like to hear it.
Reply

neros 1 year ago

Mechanics UI Graphics
This game sounded like a ton of fun. I am an experienced programmer, but I've never used Python. After a quick skim of the provided Python 3 tutorial, I was ready to go. However, on the first level, [SPOILERS....] when I was almost finished entering the passphrase, a nasty bug happened. As soon as the words I was typing reached the edge of the terminal window, they started repeating infinitely on the screen, so I was unable to finish typing the passphrase. (I'm on Windows 10, btw.) This game seems really fun, but now I'm really disappointed that I can't continue past the first level. You should make it possible to either copy-paste text in the terminal, or to resize the terminal, or both, that way I wouldn't have to type it in and it wouldn't go past the edge and repeat.

Overall, great concept, but seems to be poorly implemented at the moment. Needs some work.
Reply

schilcote 1 year ago

I never actually expected anyone to try to type in the passphrase! You're supposed to change it to something shorter and type that in.

Looking at the telemetry, it looks like you actually accomplished an acceptable solution to the level; calling objs[0]._trip() should've opened the door. What happened there?

Did you know you can pull up hints by calling hint() or did you miss that? It *is* only actually mentioned once.

You ran into pretty much all the remaining bugs that I know about. :P They're bugs in the underlying graphics library and they're damn hard to work around. The rest of the game is way less glitchy, I promise. Maybe give it another shot someday?
Reply

Jmerzian 1 year ago

Physics Game Graphics
So, I absolutely love the concept/idea of the game, however it's still a bit buggy. There are a lot of times when I go to get info about a specific object and I can only read half the info as the rest is just "..." and there isn't any way to actually go through that and so I can only read half of the info screen.

My only other problem with the game is that it needs more levels... fantastic game!
Reply

Jmerzian 1 year ago

Apparently I can't edit comments... I just saw up a little higher in the comments you mentioned that you already knew about the issue and it's hard to get around... So, different complaint.

I feel like if you're going to use ascii art and make a game about programming it needs to be more hardcore and so I shouldn't be able to just keep inputting hint() until I get the answer, You should make the player sweat, and have to consult the internet, to find that nobody has found a way around this level either... Then again that's, like, an opinion. Also, maybe only a good idea if you hate the players... In any case.
Reply

schilcote 1 year ago

The bug only happens with _input_, not stuff in the info screen. I assume you're referring to the attributes being truncated? You can see the whole attribute by entering "print(objs[0].whatever)".

Ultimately I think the hints are necessary - I know nothing frustrates _me_ more than being locked out of half a game because I'm just not thinking along the same lines as the level designer. Considering how easy it is to cheese the game - you can almost literally just call the win_game() function yourself after all - I figure it's on the players to restrict themselves to solutions they find satisfying.
Reply

roastchicken 1 year ago

Mechanics Tutorial/Learning Curve
It looks like a pretty good game. As others have stated, the tutorial is lacking, giving someone a webpage with a ton of python info is not the right way to teach them. You should simply introduce them to things as they go along, instead of forcing them to refer to some documentation. hint() is good, but you should guide them a little by default.

The things you can and cannot access is confusing, and so is the checkbox with the green checkmark or the red x. It seems so trivial as to what it will block or not block. It would help if the reasoning as to why you can't access something is more clear.

I've gotten "stuck" on the second level with a drone. I don't understand the attributes. They don't persist across different functions, so I don't see how you can store a value in them, Because you need to initialize it in your program before using it, you can't have it persist across ticks other than it being always equal to the same thing. I tried this code, but it says that NewDroneProxy has no attribute direction.

def backandforth(self):
try:
self.direction
except NameError:
self.direction = false
if self.direction:
self.move(0,1)
if self.direction != true:
self. move(0,-1)
if self.bumped:
self.direction = not self.direction
Reply

schilcote 1 year ago

Changing out the first four lines for:

self.direction=getattr(self,"direction",False)

(translates to "return the "direction" attribute of self, unless it has none in which case return False")

makes it work, but that's a relatively obscure trick and you shouldn't be expected to know it offhand.

I'm planning out a more dynamic and reactive hint system that should just tell you stuff like that when it notices you have that kind of trouble. Aside from that, all I can say is that you should have the docs up and study them from time to time. ¯\_(ツ)_/¯
Reply

CoreGG 1 year ago

Mechanics UI Graphics
Hey. Great & unique idea. I think that you should add some UI elements just to make things easier.
Reply

schilcote 1 year ago

Hmm. What specifically do you think it needs?
Reply

SuperJustin5000 1 year ago

Mechanics UI Graphics
Maybe add some syntax highlighting like most IDEs have. I think that would help out a lot of people, especially those not as familiar to programming. But overall looks fantastic.
Reply

jlvc 5 months ago

Mechanics Controls
I was actually enjoying the game, but I can only enjoy it so much when it keeps crashing on me!!! Please fix the bugs. I can see myself playing the game and enjoying it. I do script in python (2, not 3). I like the graphics, I like the concept and I like the gameplay, but the crashes, man!!! Ignore the "Needs most work" part, I just didn't know what to put there, just know that it is the crashes that keep me from playing Injection. Keep it up, and let me know when you have a working version. I'm on linux. By the way, cool that you're using pygame!!

Error I get:

Aborted (core dumped)
Reply
Roast Em
SHARE THIS ROAST

Related Games