Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Lichtenstein
May 31, 2012

It'll make sense, eventually.
80 Days chat: I just crossed the North Pole to Gastown. Any particular road I need to take for the remaining journey for it to count as around the world? Going around the other one or something? Doesn't seem like much time left now!

Adbot
ADBOT LOVES YOU

Milkfred E. Moore
Aug 27, 2006

'It's easier to imagine the end of the world than the end of capitalism.'

Megazver posted:

The Ice-Bound Concordance is interactive fiction with a difference. The RPS review:

https://www.rockpapershotgun.com/2016/03/02/the-ice-bound-concordance-review/

I was really getting into this... but you need the Compendium book to progress.

As an Australian, this is unfortunate.

BiggerJ
May 21, 2007

What shall we do with him? A permaban, perhaps? Probate him for a few years? Or...shall we employ a big red custom title? You, the goons of SA, shall decide his fate.

Milky Moor posted:

I was really getting into this... but you need the Compendium book to progress.

As an Australian, this is unfortunate.

And weirdly, the site implies that it will never be reprinted after copies run out.

Original_Z
Jun 14, 2005
Z so good
Those who are fans of IF should check out the documentary "Get Lamp".

Also if you want to play the games on the go, the app "Frotz" lets you download and run lots of user stories.

There's also the "Lost Treasures of Infocom" app which lets you play the old classics.

Megazver
Jan 13, 2006
BBC did a pretty good interactive history of IF thing:

http://www.bbc.co.uk/taster/projects/skill-stamina-and-luck

Original_Z posted:

Those who are fans of IF should check out the documentary "Get Lamp".

This is good.

Accordion Man
Nov 7, 2012


Buglord

Lichtenstein posted:

80 Days chat: I just crossed the North Pole to Gastown. Any particular road I need to take for the remaining journey for it to count as around the world? Going around the other one or something? Doesn't seem like much time left now!
Just head back to London going eastward like you normally would.

Accordion Man fucked around with this message at 18:12 on Mar 6, 2016

Feast of Burden
Oct 9, 2008

WARNING: may cause indigestion and severe heartburn
De Baron (The Baron) was my introduction to text adventures. It redefined the way I looked at making choices in pretty much any interactive storytelling media. I'm not sure if anyone else feels the same way, but I still haven't recovered from whatever it did to me.

Megazver
Jan 13, 2006
The language Inkle uses for their titles is now open-source and ready to plug into Unity:

http://www.inklestudios.com/ink/

They also recorded a podcast talking about it:

https://soundcloud.com/inklestudios/ink-now-open-source

potatocubed
Jul 26, 2012

*rathian noises*
I haven't listened to the podcast but I've read the documentation on the language - it looks a lot like a beefed up Choicescript, which is no bad thing, but I'm not clear on how you turn your conversation engine into an actual game. Do you have to code your own front end in Unity?

E: I Tweeted them and asked. Yes, you have to code your own Unity front-end. The question I face now is "Do I want to learn Unity as well in order to use this language, or shall I try to crowbar this new idea into Twine?"

potatocubed fucked around with this message at 10:45 on Mar 12, 2016

Lord Windy
Mar 26, 2010

potatocubed posted:

I haven't listened to the podcast but I've read the documentation on the language - it looks a lot like a beefed up Choicescript, which is no bad thing, but I'm not clear on how you turn your conversation engine into an actual game. Do you have to code your own front end in Unity?

E: I Tweeted them and asked. Yes, you have to code your own Unity front-end. The question I face now is "Do I want to learn Unity as well in order to use this language, or shall I try to crowbar this new idea into Twine?"

Big fat "It Depends".

Unity itself as a base isn't that hard to understand. Lots of options, but they are mostly documented. You can also choose to program in Javascript which is a very easy language to pick and move with. Though it appears that they only provided C# bindings (Which is harder to learn, but normally ends up being the better supported) so some would have to be in C#.

If you're looking to upgrade from Twine, might I suggest Tale for Python. It's GPL so you can't sell and must give source, but Python itself is a lovely step into real programming languages. Lots of people just fall in love with it and at this point it can do almost anything any other language can do. Tale itself is loving awesome, if you want you don't have to distribute binaries and can run a web server with a single command.

I am a real programmer™ and if there is any interest I can run a short series on how to get started with Tale. I've been wanting to do an IF game for ages and I zeroed in on Tale as my choice to do it. It would just involve me taking pictures while I do everything :P

Lord Windy
Mar 26, 2010
gently caress it, I'm not well today and I won't get anything done anyway.

So you want to make a Text Adventure but want to use a big kid language

Part 1 - Hello World

For this project, we are going to be using Python 3. Python is one of the biggest languages out there and is extremely easy to learn. It is the language most people first learn in university these days, and once learned you can very easily move to almost any other computer language with ease. Javascript has a lot of similarities.

To install Python 3 (there is a difference between 3 and 2) we will be using a program called Anaconda. Make sure you 3.5, not 2.7, there may be fuckups otherwise. Anaconda is very easy to install, just follow the steps on the website. To make sure it works open up a terminal, command prompt or powershell and type in the command conda and afterwards type python (or in the case of Linux/Mac python3)




If you get something that looks like this, well done! You've got it working perfectly. If it doesn't ask me how to fix it and I'll do my best. If the python doesn't start with 3.5 than try python3 instead of python.

Now we've got conda working, we need to set up something called a virtual environment. A virtual environment separates your normal python environment from one you may need to have conflicting libraries or older versions of things for. Using them religiously will avoid some other issues you can get. It will also let you delete your mistakes safely. They are also super easy to set up. Type conda create --name if_test pip to create a conda environment.



If all goes well, this is what you'll see. If it doesn't, let me know and I'll try to help. Make sure you press y to proceed.

Basically if we break down the command: conda create tells conda we want to make a new environment. --name if_test specifies the name we want to use, it could be anything. pip is a package installer we want to use. It is very important, as it will be how we will install tale. Just to confuse you all, pip and conda are both package installers, but conda works as both package manager and environment manager. Pip has what we want, but conda is just easier to set up for newbies. It will also hook right into PyCharm, the IDE we will use.

Next, type in activate if_test.



This should be the easiest part. On windows, command prompt will likely fail here. Ever OS since Vista comes with powershell which tries to emulate a more traditional Unix console. Cygwin or Git Bash will work just as well otherwise. No command prompt works well. Powershell does not!

We are now in the environment. If you are on Windows, nothing will look different. Macs and Linux will get something at the new line letting you know that you're in if_test. At this point, we can get started with installing Tale. pip install tale will download



If you get any errors, read carefully. They are probably not life threatening or just provide instructions to do. If you gently caress up, create a new environment and try again.

Congrats, we now have almost everything we need to start developing. So let's get to the Hello World portion of this tutorial. It's been all boring up til now. Lets make sure we can run Tale at all. It comes with a copy of an example. We're going to run it as a webservice, mostly because that is my favored form of running games. python -m tale.demo.story --web



You should see this come up if all goes well. Again, tell me if it breaks.

Type/copy the address into your browser and if you're greeted by this:



Then congrats!!!

Part 1 - Complete.

Next will be the start of the game itself. I'll be running through how to create your player character, rooms, how to move between moves and maybe NPCs.

Lord Windy fucked around with this message at 08:42 on Mar 15, 2016

Bieeanshee
Aug 21, 2000

Not keen on keening.


Grimey Drawer
I'm old-school, Scott Adams and Infocom all the way. I played some of the Legend games, but they really didn't do it for me, and the simple noun-verb parsers other engines used drove me up the wall. I think my favourite game from that era was Trinity.

I've never really got into the newer stuff. Some of it's honestly interesting, like Galatea or Slouching, but a lot was just pretentious at best. This was probably ten years ago or so, and my attitude toward experimental media has become much more positive.

I still don't understand what people see in Photopia, though.

Silver2195
Apr 4, 2012

Bieeardo posted:

I'm old-school, Scott Adams and Infocom all the way. I played some of the Legend games, but they really didn't do it for me, and the simple noun-verb parsers other engines used drove me up the wall. I think my favourite game from that era was Trinity.

I've never really got into the newer stuff. Some of it's honestly interesting, like Galatea or Slouching, but a lot was just pretentious at best. This was probably ten years ago or so, and my attitude toward experimental media has become much more positive.

I still don't understand what people see in Photopia, though.

Here's an interesting article about "what people see in Photopia": http://lilith.gotdns.org/~victor/?q=content/analysis-adam-cadres-photopia

I'm not a fan of it myself, though. It's not really interactive, and before I read the article I wasn't quite sure what the "point" was supposed to be.

The maze puzzle was cool, though.

Milkfred E. Moore
Aug 27, 2006

'It's easier to imagine the end of the world than the end of capitalism.'

Bieeardo posted:

I'm old-school, Scott Adams and Infocom all the way. I played some of the Legend games, but they really didn't do it for me, and the simple noun-verb parsers other engines used drove me up the wall. I think my favourite game from that era was Trinity.

I've never really got into the newer stuff. Some of it's honestly interesting, like Galatea or Slouching, but a lot was just pretentious at best. This was probably ten years ago or so, and my attitude toward experimental media has become much more positive.

I still don't understand what people see in Photopia, though.

I'm a big fan of Photopia and I'll see if I can puzzle out the why of it.

Ghost Head
Sep 16, 2008
I love that part in Photopia where they suddenly add "fly" to your list of allowed verbs. It was a very subtle and cool way to give the player a kind of dizzying feeling when you contrast it with the more grounded, typical verbs you have access to for the rest of the game. Photopia is almost like an inverse Dear Esther or something. In Dear Esther you do one mundane thing constantly. In Photopia you don't really do anything until something comes along that would be meaningful to put into the hands of the player.

Milkfred E. Moore
Aug 27, 2006

'It's easier to imagine the end of the world than the end of capitalism.'
Photopia is one of my favourite IF stories. I agree with a lot of that article but I also know that my reasons for enjoying it don't really align with his arguments at all. I say this as someone who came to Photopia late. I want to say that I first played it around 2010 but I'm not sure and it might have been earlier.

I think dismissing Alley as 'wish-fulfillment' is missing the point. Of course the text manipulates you - every text attempts to manipulate you when you get right down to it, consciously or otherwise. I think dismissing a text as manipulative because you don't agree with it is pretty boring criticism. I also think dismissing that people enjoyed it because it made them feel something for a character who then died is a bit unfair, too, especially when you dress it up with a dose of 'gamers just aren't used to such deep stories like you get in real literature where people die'. Isn't that a bit of a weird thing to say about your core audience? It seems to be misreading the situation - people aren't used to video games hitting them in the heart like Photopia does because very few games are constructed to engender sympathetic emotional responses. Undertale is, maybe, one of the only games in recent memory to really do so. Most games, when they try and be emotional fall flat and feel cheap and, dare I say it, manipulative.

Alley is basically perfect. But she's also just a fourteen year-old girl and could go anywhere she wanted - she's smart, compassionate and artistic. It's why the fact that she's killed by a drunk driver works so well because it's not some grand plot that cuts her life short, she was just in the wrong place at the wrong time. I disagree that there's no feeling of powerlessness in the text - the car crash in the first scene hangs over the entire story. When you are in the car with Alley later, you know what is coming because you know there's a car crash and you know that the character you are playing will be hospitalized from it.

The strength of Photopia, and what drew me to it and why I play it again and again, is Cadre's writing. There's a lot of lines and phrases that have really stuck with me ('It was green, it was green...' and 'Suddenly the room seems colder', mainly). Some say it's a flaw that we don't see Alley's flaws. Personally, I think it's a strength of the text that we're only getting the dramatic moments. We get Alley almost drowning, we get the driver of the car in hospital, we get philosophical star-stuff discussions, we get two perspectives of the tragic moment. We get a rich if brief tapestry of all these characters who are going to be affected by her death from major (her mother and father) to minor (the boy with a crush). These might even be the memories that come to them later, after she's gone, the ones they dwell on - just like the player will dwell on them. Everyone involved, including the player, will wonder: could I have done something differently?

I think people have such a strong response to it because very few pieces of media, particularly interactive ones, make death out to be some random, unavoidable thing that can lurch up out of nowhere and kill someone you care about. Death always has a purpose in games, whether it's to give you a reason to hate the villain or to close out a heroic sacrifice arc. If it is pointless, like it sometimes can be in an RPG, is it because the player has done something wrong. It goes hand in hand with most interactive forms of media being about wish fulfillment. Gijsbers might say that we should just 'stop believing' that games are vehicles for wish fulfillment, like ignoring the wider context makes a reading more valid.

But a player of Photopia hasn't done anything wrong. They've done everything right.

I think Gijsbers saying that surely "it was possible for Alley's mother to remain in her office" is a bit odd, too, given that it isn't possible for her to say there, in the confines of the game. If you want to think of Photopia as some metaphysical real thing then, sure, Alley's mother could have remained in the office. She also could have not actually been Alley's real mother. This level of speculation is rather spurious. Photopia is not real. All created art is metaphor. In the text as presented, Alley's mother must, and always will, check on Alley. This is a deterministic view. I find his commentary about Wendy's father odd, too, given how he conflates player with player character.

quote:

In Photopia, the player is never really in a position where he (a) knows what is going to happen, (b) could plausibly prevent it from happening, but (c) isn't allowed to do so. One might argue that the scene where Wendy's father drives Alley through town does put us in this position, but this is a bit of a stretch: since Wendy's father cannot possibly know that something bad is about to happen, he could not plausibly prevent it from happening; and if he fails to prevent it from happening, this is hardly proof of his powerlessness, but rather proof of his ignorance.

I mean, let's examine this.

A. Wrong, the player knows what is going to happen if they've been paying attention the story.
B. Wendy's father could stop the car at any time. In a more typical IF entry, the player might even be rewarded for typing 'stop car', 'turn key', 'pull over' etc. In a modern RPG, there might be a 'secret ending', even. Here, however, you can not. The plausibility of it is kind of irrelevant.
C. The player isn't allowed to stop it.

Stretching this into Wendy's father being ignorant is strange, too, because one wonders how someone can be ignorant of something that they are in no position to stop, never have the chance to stop, and could never be aware of in the first place. It isn't normal to call the driver of a car, hit by another car running a red light, ignorant. The car will hit them and, unfortunately, Wendy's father isn't an omniscient being that can see the past and has seen future like the player is.

I don't think, however, that Photopia is a work that is concerned with determinism and free will more than most other works of IF are because, by their very nature, a lot of IF tends to touch on it (again, maybe this is something as someone who really only got into the medium in the past six years). However, a work that illustrates that characters have no choice about what they do, even when the player knows what's going to happen when Alley gets in that car, is a deterministic work.

He's right, however, that Photopia is kind of the story that even though Alley has died, she will go on to exist in the minds of those who remember her, and they will be shaped by her and their futures will be influenced by her. I also think Photopia's simple construction and the use of colors to introduce chapters is immediately intriguing. I think the touches from the game in response to verbs it doesn't recognise or inappropriate commands during the story sequences are part of the reason why people like it so much because it illustrates a high level of polish, precision and care.

It's late and I need to sleep, so, I'm ending this here. But I think it comes down to Photopia being a simple, accessible, easy to understand story that demonstrates a key point that is ignored by most forms of interactive media - death can be pointless and random. It dresses this story up with a simple but effective use of colors, a high level of polish, and puts the player in the same position as the viewpoint characters, looking through their eyes, and wondering the same things that the characters would wonder in the aftermath of Alley's death. What's more, the puzzle in the story reinforces the game's themes and narrative, as opposed to being a hurdle for the player to awkwardly get over before they can get more of the story.

Milkfred E. Moore fucked around with this message at 13:29 on Mar 15, 2016

SimonChris
Apr 24, 2008

The Baron's daughter is missing, and you are the man to find her. No problem. With your inexhaustible arsenal of hard-boiled similes, there is nothing you can't handle.
Grimey Drawer
Radio K

Speaking of Photopia, Adam Cadre is doing a podcast reviewing the most prominent IF works published since he dropped out of the community nearly 15 years ago.

Megazver
Jan 13, 2006

Lord Windy posted:

If you're looking to upgrade from Twine, might I suggest Tale for Python. It's GPL so you can't sell and must give source, but Python itself is a lovely step into real programming languages. Lots of people just fall in love with it and at this point it can do almost anything any other language can do. Tale itself is loving awesome, if you want you don't have to distribute binaries and can run a web server with a single command.


This is a fun way to gently caress around with Python but not what I'd recommend to anyone who actually wants to publish text adventures.

Bieeanshee
Aug 21, 2000

Not keen on keening.


Grimey Drawer
I think my issues ultimately come down to my perception of the genre's purpose. Like I noted, I cut my teeth hunting and pecking at Scott Adams adventures, and grew up on Infocom games which... let's face it, mainly used the term Interactive Fiction in the loosest sense possible. They were adventure games, and the titles that tried to have more than a cursory plotline felt very confining and awkwardly narrated. Ones with a graphical component tended to fare better with me, though I hated Journey and Companions of Xanth.

I suspect that it's because I really don't turn on for the fictional aspect of IF. I really don't care for what sometimes feels like a turn-based quicktime event to get the next few paragraphs, or pressing X to progress a JRPG's dialogue. My interaction feels superfluous, and requiring it feels manipulative. I'd get more out of a linear transcript.

At the same time, I enjoy walking simulators... so god knows what's going on in my head. Perhaps I just need a thicker illusion of not being guided down the narrative corridor that's part and parcel of playing a game with a defined end-point.

Ghost Head
Sep 16, 2008
i think my analysis was the best. gently caress all y'all.

Lord Windy
Mar 26, 2010

Megazver posted:

This is a fun way to gently caress around with Python but not what I'd recommend to anyone who actually wants to publish text adventures.

I disagree. GPL may not be ideal but the library itself is fantastic. Since it is just a library, anything you don't like you can just replace whatever you don't like with your own implementation. It has everything you need to get going. Plus, Python is probably the easiest real language to get into next to Javascript.

John F Bennett
Jan 30, 2013

I always wear my wedding ring. It's my trademark.

Lord Windy posted:

Nice tutorial

Well, I would really like to see the rest of this if you're still up for it.

edit: For those who want to create a text adventure but don't want to do programming, there is also Adrift. I have used it years ago and found it fun to create something with it.


John F Bennett fucked around with this message at 10:03 on Mar 16, 2016

Lord Windy
Mar 26, 2010

John F Bennett posted:

Well, I would really like to see the rest of this if you're still up for it.

edit: For those who want to create a text adventure but don't want to do programming, there is also Adrift. I have used it years ago and found it fun to create something with it.

I'm writing it up. Hopefully it will be ready tomorrow/day after. The example code was small, and the documentation didn't do a good job explaining how certain things happen. So I did a heap of playing around to get to grips with how Tale loads rooms/npcs/actors. It isn't necessary to know that to code with Tale well, but I wanted to be able to say how things work instead of leave it at 'here be dragons".

Twerkteam Pizza
Sep 26, 2015

Grimey Drawer

Lord Windy posted:

I'm writing it up. Hopefully it will be ready tomorrow/day after. The example code was small, and the documentation didn't do a good job explaining how certain things happen. So I did a heap of playing around to get to grips with how Tale loads rooms/npcs/actors. It isn't necessary to know that to code with Tale well, but I wanted to be able to say how things work instead of leave it at 'here be dragons".

Hey, if you want to make it into a more concrete form than forum posts, I could condense it into a PDF for yah. I mean you probably could too, but this is a neat guide and would be a fun skill to have for a liberal arts/social science double major like myself.

John F Bennett posted:

edit: For those who want to create a text adventure but don't want to do programming, there is also Adrift. I have used it years ago and found it fun to create something with it.

gently caress yeah just downloaded this gonnago to town once I'm done with bullshit today

tinaun
Jun 9, 2011

                  tell me...
I love the gostak.

very heamy glauds in that halpock is to pell and tunk!

potatocubed
Jul 26, 2012

*rathian noises*

potatocubed posted:

I am filled with desire.

Sadly, I am not also filled with money. It'll have to wait until payday.

It turned out my piggy bank was filled with money, so I bought a copy of the Ice-Bound Compendium. It arrived today, I started playing Ice-Bound Concordance about two hours ago, and I love it. I don't think I'll have a proper grasp of it until I try another playthrough (or maybe three or four) because my inner author is forcing me to keep to a limited set of themes rather than branching out wildly into whatever seems interesting, but it's extremely polished, technically brilliant, and utterly compelling. I care a lot less about the 'AI realising it's a real boy' plot than I do about just telling the stories, but that's going to be enough to keep me hooked for a good long while.

I got my copy of the book through Amazon US, which was both cheaper and faster to the UK than I'd imagined it would be. Maybe worth a look for Australian IF fans?

Dr Kool-AIDS
Mar 26, 2004

Does anybody know if Choice of Games have participated in Steam sales or Play Store sales? I know their games are pretty cheap to start with, but they have several dozen at this point, and I'm a fast reader, so I kind of want to wait for a sale if possible before I buy way too many of them.

Milkfred E. Moore
Aug 27, 2006

'It's easier to imagine the end of the world than the end of capitalism.'

Sinteres posted:

Does anybody know if Choice of Games have participated in Steam sales or Play Store sales? I know their games are pretty cheap to start with, but they have several dozen at this point, and I'm a fast reader, so I kind of want to wait for a sale if possible before I buy way too many of them.

I don't think I've ever seen them on sale.

Try Choice of Robots!

potatocubed posted:

It turned out my piggy bank was filled with money, so I bought a copy of the Ice-Bound Compendium. It arrived today, I started playing Ice-Bound Concordance about two hours ago, and I love it. I don't think I'll have a proper grasp of it until I try another playthrough (or maybe three or four) because my inner author is forcing me to keep to a limited set of themes rather than branching out wildly into whatever seems interesting, but it's extremely polished, technically brilliant, and utterly compelling. I care a lot less about the 'AI realising it's a real boy' plot than I do about just telling the stories, but that's going to be enough to keep me hooked for a good long while.

I got my copy of the book through Amazon US, which was both cheaper and faster to the UK than I'd imagined it would be. Maybe worth a look for Australian IF fans?

Thanks, I'll give it a look.

Dr Kool-AIDS
Mar 26, 2004

Milky Moor posted:

I don't think I've ever seen them on sale.

Try Choice of Robots!


Thanks, I'll give it a look.

Bummer, but thanks for the response. I have a long list of their games I want to buy, and that one's pretty close to the top. Choose Your Own Adventure was extremely my poo poo as a kid, so I was pretty excited when I found these.

al-azad
May 28, 2009



Sinteres posted:

Does anybody know if Choice of Games have participated in Steam sales or Play Store sales? I know their games are pretty cheap to start with, but they have several dozen at this point, and I'm a fast reader, so I kind of want to wait for a sale if possible before I buy way too many of them.

You actually missed a sale last month. I think it was during Steam's surprise Chinese New Year sale.

During one of Steam's special event sales you can expect at least a 25% off their games.

Dr Kool-AIDS
Mar 26, 2004

al-azad posted:

You actually missed a sale last month. I think it was during Steam's surprise Chinese New Year sale.

During one of Steam's special event sales you can expect at least a 25% off their games.

Awesome, that's good news. A lot of their backlog still isn't on Steam, but maybe they'll have more of it by the time the next big sale comes around. Either way, I guess I'm pretty safe starting with some of the cheaper older games for now and saving a bit on the more recent games later on.

Lord Windy
Mar 26, 2010
Part 2 - Let's get started with Python

Python

I can't teach your how to program basic python in the scope of this tutorial. I do want to make sure you understand that it is one of the easiest languages to learn and there are thousands of amazing free resources. Start at code academy and once you finish unit 4 you will basically have everything you need to get started. I can't really judge how long it will take, but I think maybe 2 hours. If you can, finish the whole thing but it isn't necessary to get started, it would be more to understand several things. You can find more tutorials for python after you finish code academy, but really all you need is Google after that. If you don't know how to do something, just google what you want to do in plain english with python at the end and you will get a result.

Don't be scared of code and programming. At this point in computers, it's pretty much just a craft like needlework, painting or carpentry. There is a minor mound of knowledge you need to know to get started, the first thing you make will be poo poo and you need to keep at it. Then you're going to think you're getting somewhere, make more mistakes and then finally everything will be easy. If you don't believe me look at this from other coders:



This guy explains it better than I could. So please keep at code when you reach the point where it looks hard and you don't think you can do it. It's just computers that are dumb and not you!

I will keep things as simple as possible. You don't have to worry about speed (writing or execution) on projects like these!

Intro to IDE's

An Integrated Development Environment is a fancy type of Notepad. They come with a bunch of nice things that make programming easy. The main two we are concerned about are "Intellisense" (Detecting errors and giving the reason and how to fix them) and a "Run" button (so you don't have to use a command prompt to run the code). Some people you know may have said IDEs are a crutch, just ignore them. I think they are fantastic to start with so you only have to be concerned with writing code and not build systems. If you like using an IDE, use it to your hearts content and ignore anyone who tells you otherwise. If you hate it, just use it for this example and move onto Atom, Vim or Emacs later on.


Pycharm

We will be using PyCharm. I'm not posting a picture of the editor just yet as I don't want to scare anyone off. Get the free community edition. You won't use any features of the Enterprise/Ultimate edition and it will be a waste of $200. Pycharm itself is excellent, I never normally use IDEs but their suite of software is frankly some of the best in the world. They only recently offered community editions. I don't know if you can sell products using it, but you can't sell Tale games anyway so we are the target demographic.

I will explain how to use the few features we need as we go.

Setting up our Project



Great so you've launched PyCharm, and you've been greeted with this screen. It is all very easy from here, select Create new Project



Extremely simple, name your project where I wrote your project name and select the environment we made. It should have python.exe at the end, and have the name of the environment in the path somewhere. It is VERY important that you choose the right one. If you can't find your environment select the little gear and choose 'add local'. If you have the environment ignore this next step.



You need to navigate to your anaconda installation and open up the envs folder. From there select your environment and expand. Inside that list a something called python.exe, this is what you must select and press ok for. For Macs and Linux, it will just be called python or maybe python35 and it may be in a second folder called bin. (That stands for binaries).

python.exe is the interpreter for python. It executes your program, and will look inside the folder it is in to find our libraries.



You should end up with something that looks like this. It doesn't look too hard now does it? I like how clean and simple PyCharm is. Most IDEs are honestly pretty frighting for newbies, but this one hides a lot of the stuff until you need it. Of course, this is probably the least complete IF in the world at this point. So let's get started.



Right click on the project folder, select python file and same it story.py.

It is extremely important that it is called story.py. Tale uses a very odd system to what I'm used to. It looks for a story.py file and then inside a zone folder finds all the modules and locations. There may be more, but I cannot find it in the documentation. This works exceptionally well, just different.




This is what it should look like. There should be an empty file called story.py.

We now get to do our first lot of programming. We're going to start with what is called the 'entry point'.



__main__ is where Unix and Windows goes to start a program. You don't necessarily need this to start a python program properly, it is just very convenient to get arguments from the command line. Like --web from before. The print statement is just to make sure it works.




To run, we right click on story.py and select Run. If we do it once you can choose the run button from the top for the rest of time.



If this is what you see this than everything is going well and we can move onto making it launch tales.



Yeah, things just started looking complicated. Don't be worried if this doesn't make much sense to you. You don't need to understand it to make IF.

gamedir is the directory where story.py is located. This is very important as I'll explain later.

gui, web, mud are true false for Tales. It gets set true if the first command after python story.py is something like --web.

run_story starts your MUD. Now this is where it gets weird, you don't do anything. Tale does it all. It will look for several things in the gamedir. Again, I will explain as I go.

If we run from here, we will get an error. You're going to have to do a few things first.

I'm going to leave it here for today. I thought I would get more done but as I tried writing out rooms, location and the main Story it was starting to get very long.

Part 3 We actually get started.

Potsticker
Jan 14, 2006


Lord Windy posted:

I never normally use IDEs

For what reason? Unless you're making very small projects with a minimal amount of files, I can't imagine any sort of programming evironment that not using an IDE wouldn't save you heaps of time.

Also, why push Python? It seems to me there are way better options for beginners that are easier to dive into, yet still offer depth when needed. If the idea is a simple CYOA-style, then there's Twine. Want a structured environment with easy to understand components and a graphical interface, there's RAGS. And if you're okay with a being a little less babied, there's TADS, whose basic form is still very human readable without programming knowledge. Adrift I don't remember too much about, except that I ended up preferring TADS or Inform at the time. Of course, now Inform is a mess of trying to emulate English sentences in it's syntax and last I checked (trying to help a friend debug some IF he had written) the documentation was badly arranged and incomplete.

Megazver
Jan 13, 2006

Potsticker posted:

For what reason? Unless you're making very small projects with a minimal amount of files, I can't imagine any sort of programming evironment that not using an IDE wouldn't save you heaps of time.

Also, why push Python? It seems to me there are way better options for beginners that are easier to dive into, yet still offer depth when needed. If the idea is a simple CYOA-style, then there's Twine. Want a structured environment with easy to understand components and a graphical interface, there's RAGS. And if you're okay with a being a little less babied, there's TADS, whose basic form is still very human readable without programming knowledge. Adrift I don't remember too much about, except that I ended up preferring TADS or Inform at the time. Of course, now Inform is a mess of trying to emulate English sentences in it's syntax and last I checked (trying to help a friend debug some IF he had written) the documentation was badly arranged and incomplete.

He likes Python.

I like Python as well. I just wouldn't write IF in it, unless if it was for the sake of learning Python.

Incidentally, I decided to get off my rear end and write something myself. Wrote a small piece in Twine. It turns out to be very easy to write in. I'll post it when I finish editing. EDIT: Actually, I think I have:

http://www.philome.la/captainperson/fatherhood-simulator-2016

The game itself was the easy part. I think I spent more time on the CSS and html.

Megazver fucked around with this message at 09:36 on Mar 17, 2016

potatocubed
Jul 26, 2012

*rathian noises*

Megazver posted:

I like Python as well. I just wouldn't write IF in it, unless if it was for the sake of learning Python.

I was going to say, it looks like the main advantage of Tale is that it lets you learn Python while you tool around on your IF project. Speaking only for myself, I find it a lot easier to learn a new skill when I have a concrete end goal in mind. (I got my first Python experience trying to code a roguelike many years ago.)

Megazver posted:

Incidentally, I decided to get off my rear end and write something myself. Wrote a small piece in Twine. It turns out to be very easy to write in. I'll post it when I finish editing.

Twine is currently my favourite IF development tool because it's so easy. It's not ideal for everything -- puzzly parser-based IF is better written in Inform or TADS, I think -- but if you're trying to do something CYOA-like it's an excellent starting point.

My current project is kind of sprawling and huge, but I'm aiming to have it complete enough to enter into the IFComp this year.

E: And yes, I swear the CSS on Dragonslayer took longer than writing the whole rest of the game. But that's because I didn't know anything about CSS when I got started.

Lichtenstein
May 31, 2012

It'll make sense, eventually.

Megazver posted:

I like Python as well. I just wouldn't write IF in it, unless if it was for the sake of learning Python.

With IF you don't have to deal with pygame :barf:

potatocubed
Jul 26, 2012

*rathian noises*

Accurate simulation of fatherhood 10/10.

Megazver
Jan 13, 2006

potatocubed posted:

Accurate simulation of fatherhood 10/10.

Thanks! I appreciate it.

potatocubed posted:

My current project is kind of sprawling and huge, but I'm aiming to have it complete enough to enter into the IFComp this year.

Are you going to do anything for this year's Adventure Jam in May? I'm thinking of giving it a try, hence the fiddling with Twine.

Potsticker
Jan 14, 2006


Megazver posted:


Are you going to do anything for this year's Adventure Jam in May? I'm thinking of giving it a try, hence the fiddling with Twine.

Since my schedule didn't allow me to do the 7DRL this year, I might give this a shot. Game Jams seem to get me more motivated to actually finish projects rather than leaving them all in partial states of implementation.

Adbot
ADBOT LOVES YOU

potatocubed
Jul 26, 2012

*rathian noises*
Yeah, I started a project for last year's Adventure Jam (Cat Carter And The Really Awful Hotel) but I realised pretty fast I was never going to get it done in two weeks. Hell, in two days I only managed to code 1) a bucket and 2) how to make sure that the player is always wearing one shirt, but never more than one shirt, while still allowing them to change shirts.

But maybe I could knock out something smaller? It's tempting...

potatocubed fucked around with this message at 10:50 on Mar 17, 2016

  • Locked thread