danya02 / undertale-clone

An attempt to replicate Undertale with Pygame.
GNU General Public License v3.0
11 stars 9 forks source link

How the hell do I run this? #2

Closed Username13211 closed 4 years ago

Username13211 commented 4 years ago

Answer my question, I have no idea what I have to do.

Btw, I did read requirements but it just said to get pygame. What am I supposed to fucking do to run this?!

danya02 commented 4 years ago

First, I see from your activity history that you're interested in current Undertale-related content. However, this project is far from current. I wouldn't call it abandoned, but it's definitely far down on my priorities list. As such, I do not recommend using it -- unless you'd like to do a large-scale refactor, of course, in which case pull requests are welcome.

Now for the question, you may have noticed that, if you run main.py, the Pygame screen shows the "annoying dog" screen. The original Undertale uses this screen as an error handler: if there is an unrecoverable error in some places in the game, this is what will be shown. For most exceptions -- which will have been caused by my own code -- my version shows a traceback on this screen.

But in the original Undertale, this error screen is almost always caused by the actions of the user. If they do something stupid -- like, say, delete file0 -- this is what the game will do on launch. My version mimics that behaviour. But out of the box, there is no file0 in the repository, which causes this output in console:

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Load FAILED because:
Traceback (most recent call last):

  File "/tmp/test/undertale-clone/frisk.py", line 189, in load
    f = open(file)

FileNotFoundError: [Errno 2] No such file or directory: 'file0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/tmp/test/undertale-clone/frisk.py", line 193, in load
    i = f.read().split("\n")

UnboundLocalError: local variable 'f' referenced before assignment

This shows that the original error was caused by the missing file0. The solution to this is to copy your Undertale file0 into the folder with the code. If it is unavailable, a quick workaround to make the program run (confirmed to work for the version as of this writing) is to make your own file named file0 (without any extension) containing around 1000 lines with a single zero on each line:

yes 0 | head -1000 > file0