NOTE: If you hate reading, skip right to "The Basics"

Let me paint a picture for you. A dedicated Ace Attorney fan, having replayed all six games at least ten times, you are browsing on the court records forums...when suddenly, your eye catches sight of one single word in a user's signiture. CASEMAKER.

Instantly your eyes explode with wonderful visions. Your very own Ace Attorney Game? Rubbing your hands in glee, you realise when you create the BESTEST FANCASE EVAR, you shall be immortilised as a god until the end of time. Eargerly you click on the link, download PyWright, and are ready to start when -

Eh? You clicked on the PyWright program, but all it does is download sprites. Whaddafud?

Upon research, you realize, to your complete and utter horror, that PyWright requires PROGRAMMING. As the dark stain around your crotch grows bigger, you can practically hear your beloved dream shattering into a million pieces. Sobbing, you tear yourself away from the computer and go enrol yourself in a rather costly therapy session. From then on, you resolve never to touch PyWright again.

It doesn't have to end there.

True, PyWright does require Programming, but it is very, very, easy. Compared to stuff like C++ and even Javascript, PyWright is peanuts. I myself learned the basics of PyWright in three days flat, and my only background in programming is HTML(which is probably the simplest MARKUP language in the world). Really, PyWright's easy, as long as you have the time, patience, and dedication. (HTML's not even programming)

The BasicsEdit

Before I dive in, I'll like you to notice an important fact.


Download a fangame into PyWright, put it into the games folder, and play it. Then look around in that particular folder of the fangame, and you can take a look at the code, see how they actually did some of the things in their fangame.

Armed with the basics of this tutorial, you'll be able to learn quickly what exactly you need to do to perform that action in the fangame. Basically, that fangame that you downloaded is a model essay, to put it in metaphorical terms, something that you can refer to easily.

To start off, what exactly have you downloaded when you install PyWright?

(NOTE: I'm not famaliar with PyWright for Mac, so I'll only be going through Windows. Any experienced Mac User can add in for me)

When you install PyWright, it automatically creates a folder called PyWright. Inside this folder, there is PyWright itself, and a folder named games. There's also three important folders called art, sfx and music, but we're only concerned with these two things for now.

Your games will be created and saved in the games folder. Hey, why don't you create one now? Summoun a new folder, put it in the games folder, and name it whatever you like. How about Turnabout Awesome?

Now, in this folder, create a new NOTEPAD document, or, a text document in technical terms, and name it 'intro".

When you want to play games on PyWright, it looks for games stored in the games folder. The criteria for a folder to be considered a game? It must have a notepad doc named intro, the one you've just created. So PyWright is registering something called Turnabout Awesome and can play it. Of course, when you try to play Turnabout Awesome, all you get is a black screen, since you haven't actually done anything, but it's a start.

Next go to PyWright itself, and click updates. Here you can download anything you need for your game, backgrounds, sprites, music, anything. Go on, please yourself. Shop til you drop.

Now in this folder called Turnabout Awesome, you need to have three important folders. Copy and paste the following folders into Turnabout Awesome. They can be found in the main PyWright folder.




(NOTE: The downloaded stuff will go to the art and music folder in the main PyWright folder, not your folder in turnabout awesome. So in the future if you want to download anything else, copy and paste to the according folder in Turnabout Awesome.)

Now the stage is set. Open up your document named 'Intro' and copy the following code in.

What does it mean? I'll tell you later.

By the way, I'll assume you have downloaded the judge sprites. If you didn't the following code will not work.

bg judgestand

char judge e=normal


Include the quotation marks.

Done? Now save the document and open PyWright. Go to games. There's a option, Turnabout Awesome. Click on it.



That's right, my friend. You have created your first ever cutscene. Didn't think it was that easy, didn't you?

In fact, you probably half-know what the code means. See, it ain't rocket science.

bg means background. simply put, typing 'bg' followed by the name of your background image, will produce that background. How do you know the name of your background image? Go to your art folder, and go to bg. There's where all the backgrounds you downloaded are stored. Don't move them anywhere else, they need to be in your art folder for pywright to access them.

Now leave the bg folder, but stay in the art folder. There's another thing called port in your art folder. Go there, and you'll see a list of folders which names are ace attorney characters. This is where your sprites are stored.

Now look for the folder named judge and click on it. You'll get a list of images and accompanying text documents. Don't mind the text documents for now, look at the images. Some of them are named normal, warning, nodding, or whatever. These are the character's emotions.

There are usually two sets of images for each emotion, talk and blink. More on that later.

To look at what the character's emotions will look like in game, just click on the image to have a look. Now, to apply that emotion to the character, all you need to do this is this

char judge e=surprised

"Mr Wright, you suck."

And then this will bring up an image of the judge looking surprised and saying that you suck.

Note that I wrote the exact emotion, "surprised". You have to state the exact name of the emotion or PyWright will flounder around trying to find something that doesn't exist.

But how about the judge staring?

char judge e=surprised(blink)

pause 60 script

char judge e=surprised
"Just now, I was speechless. You suck, Mr Wright."

adding the (blink) bracket will make the judge just stare at you, blinking and saying nothing.

note the pause command? To freeze the game momentarily, just write pause and a number. The number will represent the time taken for the game to freeze.

The conversion rate? 1=1/60 of a second. So if I write "pause 60" it'll freeze the game for one second. What I

Note that I added the word "script" There are several methods of pausing. If I just write "pause 60" it'll pause teh WHOLE game. If I write "pause 60 script" it'll pause the script but not the animation.

For example, if I wrote "pause 60" then the judge will freeze along with the game. If I wrote "pause 60 script" then the judge will continue to blink, but PyWright will stop reading the script for one second before continuing.