Twine Dev Blog 1

Avatar image for nta_luciana
NTA_Luciana

411

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

Edited By NTA_Luciana

Twine Dev Blog Or: How Do I Get In the Game Industry? Ask a Bad Question At a Giant Bomb Panel.

Post 1: Why Depression Quest Is Secretly a Technical Marvel

Before I get into the post proper, a few things bear saying.

One: I am working on a Twine project of an incredible scale and scope. Do not take this as a product announcement, and do not take it for granted that this project will ever see the light of day. But whether it eventually comes out in some form or not, I can say with some certainty that I am working on it right now.

Two: I would not be working on this project had I not asked an ill-conceived goof question at PAX East this year. If you have depression, or even if you don't, you might understand why being hated by the entire Giant Bomb community might not put one in the best mind-state. And, not being in the best mind-state, I put together a piece of rudimentary interactive fiction using the Giant Bomb blog system to simultaneously work through and convey my feelings at the time, while also staving off any rash decisions. Being that its content was somewhat worrisome, it was quickly deleted by the mods. The desire to preserve that piece of "interactive" "fiction" led me to investigate Twine in earnest, which I had heard about before, but previously had no interest in working with.

Three: I would not be working on this project if not for Zoe Quinn. The aforementioned piece of interactive fiction was inspired by (and posited itself as an unofficial sequel to) Quinn's Depression Quest. In addition, my goals for the project I'm currently working on largely consist of following the trails that she blazed. Namely, the goal of getting the project through Greenlight and onto Steam proper. In my case, depending on how it comes together, my project might also have the budget to justify charging for it. That should be fun. Nothing bad could possibly come out of that.

It can be difficult to see why the game industry's favorite cyborg made something so special with Depression Quest. If you're a traditionalist, you may question its status as a video game. For one, there's no video. Second, it's barely a game. People who argue that DQ is not a video game are, of course, wrong, because by that measure, Zork is not a video game, and no one's qualified to make that call.

I admit, when I first played DQ in August of last year (AKA The Month Where Video Games Went Kablooey), I accepted it as a video game purely on an academic level. Yes, people who said it wasn't a video game were wrong, but I could see where they were coming from. It's not until I started working with Twine myself that I could see Quinn's technical wizardry at work. Or would it be technical witchcraft? Let's keep it gender neutral and go with technical sorcery.

The sorcery is apparent from the moment you turn the game on. If you're not familiar with Twine, it may look unremarkable, but Twine games don't normally look like that. The earlier version of that game (which I just linked to) is more representative of what most Twines look like, but the newer version doesn't look much different. When you're making a Twine game yourself, it's at the point where you try to change Twine's default look that you realize that, as easy as Twine is touted to be, it's not a cakewalk by far. Granted, it's easier if you have a background in web development, because to get Twine to look how you want, you have to learn CSS. It can be somewhat difficult to go from "What the hell is CSS?" to getting your game to look just right, though it's definitely not impossible (I was able to do it after all). For something that was said to be so easy, I expected it to have a WYSIWYG editor, but to really get major stuff done in Twine, you need to have a working knowledge of HTML, CSS, and even a little Javascript. If I polished my skills in those three areas and learned SQL and PHP, I could market myself as a qualified web developer.

The second major thing I noticed is that the game has controller support. I thought nothing of it when I played the game in August, but playing it again before writing this, my jaw literally dropped. I don't know if I can properly convey how fucking nuts it is that there's controller support. I haven't played every Twine game out there, but I feel pretty confident in saying that this is the only one to have this feature. I have no idea how it was done, but it's now something I have to seriously investigate.

The degree of interactivity is also something to be lauded. Twine is a tool for creating interactive fiction, but a lot of Twines ignore the "interactive" part of the phrase (Trigger Warning: homophobic language). Which is not to say that those stories have no value, because some of them are really fucking out there. But DQ is notable for having choices with actual consequence and impact that lead to one of multiple endings. There are variables and status effects. For all of people's whining about how DQ isn't a game, it's actually about 2-4 times the video game that most Twines are.

If you looked at any of the Twines I linked to in the previous paragraph, you may have noticed that none of them have audio. This is because, by default, audio is not accounted for by the Twine engine. There are a numberof waysto implement audio in a Twine, but none of them are intuitive. However, DQ doesn't merely implement audio as an afterthought, it incorporates it into an integral part of the experience. Of particular note is the layering of synth pads onto the background piano track, which are always in key. I'm not sure if this is a function of the composition of the music or if there's actually adaptive audio going on. Whichever it is, the audio further elevates DQ from most Twines.

It's well known that DQ went through some trials and tribulations to get through Greenlight and onto Steam. Less known is that it's likely that even the road to submit it to Greenlight was full of obstacles. In order to submit to Greenlight, games need to be a standalone executable, which Twine does not export. Other than its own project files, Twine only exports a text-only file for proofing purposes, and a .html file. What the hell are you supposed to do with that? If you have a Twitter account, you can host it on philome.la, but your audio won't work. You can upload it to itch.io, but it will be embedded and not fullscreen. You can host it on Neocities, if that's your thing, or you can host it on Google Drive if you draw the right transmutation circle and chant the right incantations (I don't know how that person figured that out, but it's a great thing for everyone that they did). But none of these options get you on Steam. I haven't tested the solution I came to for converting .html files into executables, but chances are it's not the miracle program it advertizes itself as. The credits for DQ mention that someone else is responsible for the "webkit port," but even after perusing the webkit homepage, I can't really figure out what, exactly, it is.

In my research, I found a simple walk cycle animation made entirely with CSS. The demo was also on YouTube, where the comments were filled with the sentiment that "That's a shitty animation, you could do this so much better and easier in Flash." I wanted to reach through my computer monitor and shake them by the shoulders, saying "YOU FUCKING IDIOT, THAT'S NOT THE POINT." In the same way, people see a text-based game on Steam and think "WTF, that's so easy to make. That's not a real game." They say that not realizing that there was actually a lot of work that went into it. Even if DQ was the only thing Zoe Quinn made (and it isn't), based on that, I wouldn't buy the argument that she's not a "real" game developer. It's almost like there's some other reason why she's so hated.

Avatar image for mbdoeden
mbdoeden

329

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

As someone very interested in Twine, especially the technically impressive Twine games I've found floating around, I'm pretty happy to see this blog starting up. Good luck, can't wait for updates!

Avatar image for evanwalsh
evanwalsh

3

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

As for making a standalone app containing a Twine game, I recommend looking into NW.js or Electron.

Avatar image for nta_luciana
NTA_Luciana

411

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@evanwalsh: Thank you, I'll definitely look into those.

Avatar image for planetfunksquad
planetfunksquad

1560

Forum Posts

71

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

There are some great Twine games out there. The stigma attached to them is totally unfathomable to me. Like, even if they weren't games, which they are, so what? Why do they make people so angry?

Either way I'm excited to see what you come up with! If you need any help on the CSS front (or jQuery, if you wanna hook that in there) I could use an excuse to brush up on my skills :)

Avatar image for franticrain
FranticRain

155

Forum Posts

92

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

#5  Edited By FranticRain

First off, don't get me wrong. I'm excited that you have the drive and determination to do this, but lets get things straight. Programming isn't "sorcery," its work.

The sorcery is apparent from the moment you turn the game on.

Don't you mean the effort? Sure, you go on to extrapolate about how hard CSS is, but really, if you're a half decent programmer like Zoe, its not exactly a big deal. Sure, at first blush CSS doesn't look very simple, but just like anything it just takes time and effort.

Granted, it's easier if you have a background in web development, because to get Twine to look how you want, you have to learn CSS.

And this is the thing that gets me. As if people expect tools to allow them to make games with "No programming required!" Look. You are creating a piece of software for a computer. Either a piece of software someone else made is going to generate a limited section of code for you, or you could code it yourself. That's the really funny thing here, if you just made the whole thing as a website, you don't even need Twine, and you could make a better product. Just add <a></a> tags for screen navigation.

If I polished my skills in those three areas and learned SQL and PHP, I could market myself as a qualified web developer.

Exactly! If you learn these skills making something fun like a game, you have real world marketable skills! Isn't that awesome? Not only can you make something you are passionate about, but you can make a living off of the talent you gained. That is what is so AWESOME about programming!

I don't know if I can properly convey how fucking nuts it is that there's controller support.

Once again, a little bit of an overstatement about how impressive programming is. There are dozens of Javascript based controller libraries. And once again, if you are programming from scratch, this is even easier to implement.

But DQ is notable for having choices with actual consequence and impact that lead to one of multiple endings.

Yeah, it's pretty awesome that she put actual effort into it. But once again, you might be overstating programming a bit.

it's actually about 2-4 times the video game that most Twines are.

Here's where things REALLY start to rub me the wrong way. It's clear that you are comparing DQ to other Twine games and lauding it for being so much better than other Twine games. Here's how I equate this:

A bunch of kids are at a swim meet. Its hot as balls, and they are all rearing to go, ready to plunge in and swim their hearts out. They all line up ready to dive in and secure the fastest time. Tensions rise as the timers ready their clocks. Without warning, the starting gun is fired (in my experience it was actually a weird noise through a megaphone, but let's be dramatic here.) All of the kids jump into the pool, excited and eager to win. However, as they make their way down the stretch, they realize that they weren't so fit after all. This swim is taking so long, and eating up so much of their free time. They simply decide to stop. Slowly but surely, 3 of the 8 contestants come to a stop about 25% down the straight. 5 swimmers still remain, ready to claim their prize. Two more drop out at about the 50% mark. As the three remaining swimmers come close to the wall, tensions are incredibly high. One swimmer touches the wall and stops. Her race is finished, she only signed up for a 100 meter freestyle. But the other two bounce off the wall, kicking their way into another mad dash, they have so much more of the race to complete, for they are not done.

So heres how it works out. Those 5 swimmers that dropped out are people who started making games, be them Twine or otherwise, and stopped once they either got tired or felt like they were done. Zoe is the swimmer who made it all the way, while other indie devs making fully fledged games are the ones who kept swimming. Zoe had a goal and she achieved it. She did a great job of it, but her swim wasn't nearly as difficult as the others. You are simply pointing at those who didn't finish the first sprint and saying "Look at those kids, Zoe did so much better than them!" But thats the problem I have. Zoe is a pretty great programmer, she is capable of so much more. Seeing her stop at the 100 meter mark is disappointing to me, because she could have kept sprinting toward the finish line, and beat the pants off of the other two kids.

So yeah, she did finish 2-4 times the sprint that those other kids did, but did she truly finish the race?

games need to be a standalone executable, which Twine does not export.

Man, the programming world is all over getting web developed stuff to run on computers as native applications. Its a weird side effect the popularity of the app concept on phones. But as @evanwalsh mentioned, its just a matter of finding the right tool for the job.

(I don't know how that person figured that out, but it's a great thing for everyone that they did)

Twine is a web page. Google drive is a web server. You put the web page on the server and have it serve the page. Boom! Instant web-based video games! Once again, programming is not magic.

"YOU FUCKING IDIOT, THAT'S NOT THE POINT."

I'm sorry, but you are the one missing the point. CSS was never designed to do animations such as that. There are a lot of much better ways to do animation for the web. But when all you have is a CSS hammer, the whole world is a CSS nail. For example, much less time spent in flash could have been exported to a .swf that could have been easily embedded on a webpage. I don't recommend you use flash because it is the devil, but hey that's your call! I've found a lot of libraries over the years that replace CSS's animation with truly powerful animation engines that run much better. You should try one of those.

So in conclusion, programming is a marketable skill that you would be well served to learn. Video games are intensely a programming based experience. If you aren't good a programming, you are going to have a very hard time making a truly remarkable experience. I hope you have fun and learn a lot along your journey making games. And please please please understand, programming is not magic.

Avatar image for nta_luciana
NTA_Luciana

411

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

Of course programming is magic. Just like friendship is.

If you want to kill me for that joke I'll load the gun for you.

Avatar image for planetfunksquad
planetfunksquad

1560

Forum Posts

71

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@franticrain: You just wrote a dozen paragraphs bitching about a guy being excited about learning to code. This shit does seem like magic at first. Pointing out that it isn't as complex as he may think is fine, but theres no need for the attitude. Let the dude be excited about it.

Avatar image for franticrain
FranticRain

155

Forum Posts

92

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

@lucien_lachance:Hahaha. I'll pass on the opportunity, as long as you sit in the corner and think about what you've done!

@planetfunksquad: You seem to have completely missed the first half of my post where I applauded him for his interest and excitement for a subject. I've seen too many people put so much time into things like this only to stop after they realize how much work it is. My main goal was to temper the expectations of people to understand that making a game isn't just waving a wand and saying the magic words until a good one pops out, its a lot of effort and work!

People getting into making games is well worn territory, and many of us fall into the same traps that those before us have. I just want to temper expectations, because making games isn't fun. Its a soulless experience that demolishes your love of the things you once held dear.

Avatar image for nta_luciana
NTA_Luciana

411

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#9  Edited By NTA_Luciana

@franticrain: Oh I already know there will be ups and downs. Even with just the two dumb things that I've already made I've experienced some things that I have to assume are what every developer/programmer feels (although on a super, super micro level). For example, with DQII, maybe it was because I was just starting out, but I had plenty of experiences of "WTF why won't this just work," and then subsequently "Oh, it wasn't working because I'm an idiot." I also had the experience with that game of a major feature being broken on release (the music).

EDIT: I'm also realizing now that the itch.io version is severely broken because for some reason you can't scroll. Here's the Google Drive version, if anyone's interested (TW: Suicide). I'm beginning to see what you're talking about with this shit being soul crushing.

Also, with the 2nd game, I was participating in Porpentine's Twiny Jam, where the challenge was to make a game under 300 words. With that I was working at the last possible moment before a deadline, and also tried to implement new tech before realizing I had absolutely no time for that and made compromises so I could "ship" it. Not saying that I totally know what gamedev is about by any stretch, but I know it ain't fun and games all the time.

As for destroying my love of things I once held dear, I don't necessarily know about that, but I know it will at some point destroy my enthusiasm for my own projects and my confidence in my abilities. I don't know that I'll ever be able to view anything I work on as a cohesive whole, only as a series of parts, and even after release I'll be kicking myself because I could have assembled them better. But right now, I'm too green to be so world weary. I don't have the experience necessary to be so pessimistic. I'm sure I'll get there eventually, though.

Avatar image for franticrain
FranticRain

155

Forum Posts

92

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

@lucien_lachance: Oh man, you've actually already released stuff! That's awesome. One of the worst holes people fall into is making a massive game on an insane scale to start out. The fact that you have two released projects with relatively small scope so far shows that you are on the right track. Congratulations, and good luck!

Re: Destroying video games for you: I can't even play video games anymore because it feels like I'm wasting my time that could be spent doing something else. The only game I can play right now is Hearthstone, which I absolutely abhor. Its just something about "Okay get in the game, follow the order of progression, make the reaction, oh you lost to someone with a clearly superior deck" that burns the time the way I want it to.

Avatar image for planetfunksquad
planetfunksquad

1560

Forum Posts

71

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@franticrain: I mean it was the first paragraph of like 10, not the first half. I don't disagree with what you're saying at all, coding games is difficult, I just think you came off as incredibly negative. Dude wants to make games and presumably learn how to code and he's at the stage where it all seems like witchcraft.. That's cool. We should try to nurture that in people while pointing them in the right direction, not try to put them off. At least you seemed like that's what you were trying to do.

Avatar image for nta_luciana
NTA_Luciana

411

Forum Posts

2

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@franticrain: Yeah, in my teens I've already made the mistake of saying "I'm gonna make a huge RPG!" and then burning out on that as soon as I realized what that entailed. What I failed to realize at the time was that the reason FFVI and Chrono Trigger are so beloved is that they weren't fucking easy to make. If they were, everyone would have been pumping out FFVI's and Chrono Triggers.

That said, I know myself pretty well and I know that I'm terrible at finishing stuff, so that's why I'm not actually announcing the project proper and being careful not to commit to too much right now. I do hope to finish at least one thing in my life, and I hope this will be it.

Avatar image for franticrain
FranticRain

155

Forum Posts

92

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

@planetfunksquad:I wholeheartedly disagree with you. When you first start a project, you have incredibly high drive and desire to complete the project. If you can smash through the brick wall right off the start, you're good to go to the finish line, but if you coast of a while, a simple brick could send you spinning off into the ditch. By grounding your dreams, you can prepare better and optimize your time and effort. Coddling someone along like a baby is just going to make him or her dependent on other's approval.

@lucien_lachance: I don't want to ruin the sentiment, but you DID already make 2 Twine games. Thats a whole lot of completed things.