How It's Made: Hyper P.T.


Some people were interested in how I made Hyper P.T., so here we go.

HyperJam

On April 1st, 2020 I learned that the Merveilles community was going to be hosting a game jam using HyperCard that weekend: from April 3rd through the 5th. Always one for learning esoteric, archaic software, I quickly got to work setting up HyperCard on my machine and learning the ins and outs of the software. I was amazed at how easy and intuitive it was, though there were a lot of tricks and edge-cases to learn. (More about using HyperCard can be found on the jam page)

I was trying to figure out what I wanted to do; I knew I wanted to import the art, and I wanted a point and click movement system like Myst. I thought about porting older projects I've abandoned, or doing a weird esoteric short story based on all the media I'd been consuming at the time. Somehow P.T. popped into my head and I made this little art test from a YouTube still:

I posted it on the Merveilles Mastodon page and got some enthusiasm from it. I still wasn't convinced, I'd never been one to make a fan game. I wasn't entirely happy with the art test either; it felt wrong to me because it couldn't have been made back in 1988.

The first day of the jam was coming to a close at this point, and I hadn't nailed down what I wanted to do yet. I went to sleep and the next morning I decided I didn't want to fail at finishing something yet again, so I chose to do the easiest thing and swallow my pride. Thus began my work–


At first I was just going to do the art by eye in HyperCard using the grid and line features. While it had its charm, I knew it would feel too wonky once I got to more angles, and I knew I wouldn't be happy with it. I decided to model the whole thing in Blender and take renders instead.

I wanted it to be as accurate as possible so I tried to find the data-mined P.T. assets, but to no avail; I tried contacting previous PC porters, or even finding downloads to the previous ports so I could rip the assets myself, no luck. I did find one version, but it crashed my PC every time I launched it. I'd have to do this the hard way–

I searched for blueprints of the hallway and grabbed the first decent one I could find. Turns out it wasn't very accurate to the game, but I did get to use a data-mined sideview image which really helped make the proportions look correct with the doors, windows, and wall heights.


Once I had the starting hallway built I tried a test render–

I have this habit of trying to setup the perfect workflow so that all I have to do is hit one button, and like a Rube Goldberg machine, the entire game will be spat out at the end. This never works. I don't have a screenshot of it but I tried Blender's Eevee and OpenGL renderers to capture what I'd modeled as just lines. Blender has a feature where you can mark seams on a mesh and then render lines from those seams, in my case at 1 pixel thickness. This did not work; I got lots of overlapping pixels and just general mess and image noise. I am also not super fast at placing cameras and maneuvering them in Blender, so this probably wouldn't have worked well anyways.

I'd been working on a game in Unity last year that used only vector lines; I'd gotten the whole art pipeline nailed down pretty well before I lost interest in the project. So, I thought, why not use that? Choosing this process did have the tedious side effect of having to place each line over the entire mesh in Blender, but Snap to Vertex helps a bunch with that.


Once that was done I got it into Unity using an importer script I had lying around; it takes an .obj (.fbx will not save lines) and spits out a mesh made of indices. Now I could finally start taking proper screenshots that I wouldn't have to clean up at all, right? Well, there's no depth testing when using just lines, so I had to place a bunch of white quads as cards to block the hallway from showing through–

I had to do this for every camera angle. It was quite imprecise and it was already almost midnight when I did this, so I rushed and decided I could make time to paint over any weird spots, this was also not a good idea.

The next morning I brewed some tea and got to work on all the images I thought I'd need.

I figured this process would take a couple of hours tops and then I'd have the rest of Sunday to implement the gameplay. This did not happen. It took me all day, non-stop, to fix up every single image. The windows and trim were particularly messy. I quickly began cutting non-essential views as well, like the closeups on the chests. It was about 10 PM when I got all that finished, so all I had to do was import every image into the Apple II emulator and then paste them into HyperCard. This went pretty smooth, albeit repetitive, and it took a lot of focus to make sure I wasn't messing up the HyperCard stack structure.

Something that was fun was filling in the floor and ceiling patterns with the paint bucket in HyperCard. HyperCard has a whole menu dedicated to dithering patterns, so choosing them and filling in my now-perfectly polished art was extremely satisfying.

At this point I only had time to setup navigation (without the fancy transitions, because I didn't know they existed) with no actual gameplay outside of looping when you clicked on the last door.

I put it up on Merveilles and thought that that would be the end of it. My work fell far below my expectations, but at least I finished it. The community played it and gave some warm comments. I was ready to try and seriously focus on a new project.

Haunted PS1 Wretched Weekend

During that week however, I learned that the Haunted PS1 community was doing a game jam as well. I figured, this is great, I'll polish up this tiny thing I was never going to touch again and maybe it'll be interesting and get some traction.

So that Friday I set about finishing the art again; if you didn't notice before, there were no picture frames. I felt the frames really added to the iconography of P.T., and in studying the game you realize just how much thought was put into not only the architecture, but also the composition of the elements in the space. I also needed to finish the cut angles.

In hindsight it probably would've been easier to model and place the picture frames and re-take the screenshots. But I had already killed myself polishing up the art during the previous weekend. So I decided to just put in all the picture frames by hand, for every angle, and make sure they line up mostly correctly between positions/views. This was my Friday.

Once I got all that done, and I had reimported the images, and I did the chandelier and light fixtures by hand, and I got all the dither patterns placed again in HyperCard, I could finally set about work on the gameplay.

Saturday: I had no bathroom, and I had no end hall basement/stairs. These are two kind of pivotal things in P.T., but I think cutting them reduced the complexity of scripting in HyperCard exponentially– you see, to make a game in HyperCard you pretty much have to use global variables. And the way that navigation works is, you have cards, and those cards have buttons. So you click a button and it goes to a card, pretty simple, right? Okay, now let's say you want to go to a hallway card with an X on a picture frame during a specific loop count. You have to check a global variable for that and you have to do it on all 10+ buttons that let you navigate to that card from all the other cards around it. It can get pretty complicated, especially when you have a second X card once a hole is punched into the picture frame.

So yeah, it took me a whole day of crunching to get the scripting for the game done, I uploaded it and had some friends test it. I fixed a few bugs and Sunday I sent some links to people in the press. Now I would for real get started on my next project, nothing would happen with this tiny game I'd made over two weekends at all.

The next morning, Monday, I check my Twitter and see that WarpDoor has posted about the game and a few hundred people have liked it. That's pretty amazing! I'm super stoked, I still wish I could've done more to make my recreation longer or match better, but what're you gonna do?

Throughout the day though Polygon, Rock Paper Shotgun, IGN, and other places start posting about it. I pretty much spend the entire day on the internet seeing what people have to say about it. It's all positive and that's super nice to hear and I'm grateful that people are enjoying it, but being that focused on the internet is also super unhealthy and it took me two or three days to really step back. I'd never gotten this kind of attention before. I'm really grateful but I feel like I didn't earn it because I'm riding off the coattails of P.T., but I did spent dozens of hours on it so w/e.

What's Next?

I'm running out of steam here writing this, my apologies. I thought about making a full horror game in this style, but World of Horror does exist with the exact same premise, though I probably wouldn't be as systems-focused in my game. I think the success of this project is entirely based on P.T. and the obsession/fascination surrounding it; it would be a mistake to make a 1-bit HyperCard-esque horror game and expect the same level of interest.

For now I'm working on an FPS game that I think will be very successful. If you want to hear more about it, join my mailing list!

Get Hyper P.T.

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Admin(+1)

Awesome post, thanks for sharing your process!

(+1)

It sounds very much like the making of this game was a terrible ordeal. But you pulled through to the finish line, and have created a splendid tribute to PT. Congratulations on a job well done, and for goodness sake stop kicking yourself! You did in fact "earn it" (attention) by putting in the hours of work! Who else?


Recharge your batteries, but don't wait too, long as the spotlight doesn't last forever! (Although you could probably jump-start attention again by re-releasing Hyper PT finished later).

Don't be discouraged from doing Hyper card projects in the future, as you have done (probably) the hardest part as of now; figuring out the software tools. I for one would be interested in seeing different horror stories in the future presented in this medium.

Anything 80's has been hot for a good while, and appealing to the nostalgia of people who were there, or those who still enjoy the products of the time, often pays off.

Good luck with whatever you choose to do. I'll be watching my feed. Stay safe and COVID-19 free.