A Mind for Madness

Musings on art, philosophy, mathematics, and physics


3 Comments

Year One Roundup

Year one? But this blog is well over seven years old. As many of you have probably noticed, my posts have turned away from math and have had a heavy literature/writing focus.

The story is long and complicated and not the point of this post, but I should probably give some context. As many of you know, I left academia at the end of the 2013-2014 academic year. Almost none of you probably know that I left to be a full-time writer. I know what you’re thinking, “You’re such an idiot! You can’t make any money doing that. You could always just write as a hobby if you like it so much.” You’re right. But there’s more to life than money. I wrote a 3000 word essay detailing the complexities and difficulties in coming to this decision, so I can’t fully explain it here.

It’s hard to predict what a given person will find more shocking: leaving math or becoming a writer. I mostly went to school for math because I was good at it, so people told me to major in it. This led to grad school, because that’s what a 4.0 GPA math major does. I never recall making this decision for myself. Once at grad school, I didn’t find my research meaningful, and I wasn’t all that into teaching either. That meant academia would not be a good fit. There are plenty of people killing themselves for minimum wage adjunct positions. Why should I take one of those away when I don’t even want to be teaching?

As for writing, this should not be as big a surprise as many people make it out to be. At the top of this post, I pointed out that this blog has existed for over 7 years. I had a books blog for years before starting this one. I found the time to write about things even in the hectic schedule of grad school. It’s what I love doing and find time to do. I even wrote 50,000 words of my first novel during grad school. From the start, the blog has had a big focus on literary theory, analysis of literature, book reviews, and so on. My interest in this has been there forever.

So what’s year one? Well, I’m considering September 2014 – September 2015 to be my first year as a writer. As you’ll see, I didn’t really publish anything, but I consider that to be okay. I figured my first few years would be a learning experience. Like math, you may have been doing it your whole life, but you shouldn’t expect to publish a paper in your first year of grad school (first year taking it seriously). You have to build up the skills first.

Here’s my stats and analysis of what I did during year one. The point of posting this is to have it in an accessible place. It’s mostly for me, not you. This is not meant to be a “bragging” post or something. If anything, I’m embarrassed by my output, and showing it to the world should serve as motivation to do better in Year 2.

Weekly habits:
1) Blogged once a week.
2) Read a book a week.
3) Wrote a review of that book each week.
4) Wrote an album review each week.

I can recall no exceptions to the weekly habits, though they probably exist early on when I took the most time off (see the end for what this refers to).

Work produced:
1) Six short stories + a significant portion of a rough draft of another. These were submitted to 30 places. No acceptances, but one split vote on the editorial board. Several decisions are still pending.
2) Three essays published at Death Metal Underground (on analyzing/listening to avant-garde music).
3) One essay published at Imaginary Realities.
4) A novella (to be submitted mid-Sept).
5) A novel (to be submitted around Nov).
6) A chapbook of poetry (21 poems). The poems were submitted to 12 places. No publications, but one passed the poetry editor (vetoed by general editor).
7) About 20,000 words of a non-fiction book.

Stats:
1) Wrote approx 241,000 words.
2) Read over 21,000 pages.

A general issue this first year was taking time off. Between Thanksgiving and Christmas I took about a month off. I took another month off while finding, buying, fixing up a house, and moving. Other miscellaneous vacation included engagement parties, weddings, visiting parents, relatives visiting me, and 7DRL. I took close to 3 months of vacation in my first year of work. This isn’t good. I would have been fired many times over for this in a “real” job.

Goals for Year 2:
1) Keep weekly habits 1, 2, and 3 no matter what.
2) Write 6 more stories (one every other month is not bad when the primary focus is on a novel).
3) Double the number of places I submit to. Important! Acceptance is a numbers game.
4) Write a rough draft of a new novel (already outlined).
5) Complete this reading list.
6) Increase the number of words I write.
7) Only take one month or less of vacation. I’m not sure this is physically possible being a writer married to a professor. Our families would deem this excessively stingy: a week at Thanksgiving + a week each at Christmas + a week each in summer = 5 weeks already.


Leave a comment

Extrapolating Meaning from Ashbery’s “The System” Part 3

The previous section ended by pulling ourselves out of the futility of knowledge and the search for happiness. The next section begins by throwing us back into real life. This reminds me of the movie I Heart Huckabees in the separation of the philosophical and the real. We can achieve peace by solitary meditation, but as soon as we go back to living we lose that:

“…back to the business of day-to-day living with all the tiresome mechanical problems that this implies. And it was just here that philosophy broke down completely and was of no use.”

Real world problems seem so different than the abstract problems we worry about in academic settings. He proposes a labyrinth image for the path of our lives, but returns with some optimism. It only seems the labyrinth directs our steps “but in reality it is you who are creating its pattern.”

The next segment returns to the Frost symbolism of a fork in the road and can be read as almost a meditation on the meaning and application of the idea in real life. Ashbery points out that we take the straightforward path first and only after understanding its destination do we return to the convoluted and less traveled path.

In a previous part, I commented on the cyclical nature of using “track” instead of “path” and this returns as well. After going down the less traveled path you find out the two options actually join up at the end, and the end is actually the beginning where the fork was.

He goes on to condemn wallowing in the difficulties all this presents. Go out and live. “Do you really think that if you succeed in looking pathetic enough some kindly stranger will stop to ask your name and address and then steer you safely to your very door?” He then proposes many explanations for why you would stand there looking like that and references Robert Browning’s poem saying Childe Roland probably had that look as well.

As you change, words that have stayed the same take on new meanings. You hope for a moment in the future where you can participate in the play being performed in front of you; for a time where artist, viewer, actor, director are all one and the same, but there is no “indication this moment is approaching.”

The poem switches back to the big universal questions. “Who am I after all, you say despairingly once again, to have merited so much attention on the part of the universe?” It moves to grandiose language of dying and rising. I think this is a return to the knowledge issue: realizing everything you knew is wrong and revising your worldview based on this.

But “clouds of unhappiness still persist in the unseen mesh that draws around everything,” so this new life hasn’t changed anything. The language here is what I consider quintessential Ashbery. He takes the small and personal and expands it into the gigantic. The personal is you waiting for a reply. Look how he makes the transition so naturally:

“There is not much for you to do except wait in the anticipation of your inevitable reply. Inevitable, but so often postponed. Whole eras of history have sprung up in the gaps left by these pauses, dynasties, barbarian invasions and so on until the grass and shards stage, and still the answer is temporarily delayed.”

The reply comes, and it is God giving comfort. Yet you should not expect any more comfort in your actual existence from this. Ashbery switches from a long period of “you” pronouns to “we” which softens the harshness of the section. We all have childish wants and get angry at delayed satisfaction. We give in to impulses.

After coming full circle on the path, you end up rejecting “oneness” in favor of a plurality of experiences and diversity. Paradoxically, once embraced, you realize everyone is basically the same. He begins an extended movie metaphor. It starts out by claiming that the movie doesn’t lie. It will show us things about ourselves we didn’t realize. It then moves on to classic Ashbery paradox. “That is why we, snatched from sudden freedom, are able to communicate only through this celluloid vehicle that has immortalized and given a definitive shape to our formless gestures.”

In the last part, Ashbery comes back to the “new year” language. It is a strange summary of what you experienced. “These ample digressions of yours have carried you ahead to a distant and seemingly remote place, and it is here that you stop to give emphasis to all the way you have traveled and to your present silence.” It turns sort of David Lynch-esque. The film is maybe a mirror, and all the characters are played by the narrator. It is a return to the solipsism of the beginning and the poem itself comes full circle.


Leave a comment

Extrapolating Meaning from Ashbery’s “The System” Part 2

Let’s continue right where we left off. The poem had started down the dangerous path of extreme skepticism: can we ever know anything? It continues to darken as it then turns to the question of what purpose life has. Why do anything? This gets chillingly stated as a rhetorical question amidst many other thoughts and metaphors:

“…a life of suffering redeemed and annihilated at the end, and for what? For a casual moment of knowing that is here one minute and gone the next, almost before you were aware of it?”

Many poets talk about life as a journey along a “path” or “road.” This gives the impression that there is clear forward motion and progress. Ashbery uses the term “track” which draws up two different ideas. One is that we have no control. We can’t choose anything or wander into the nearby woods. The journey is fixed by the track ahead of time. Also, a runner’s track is an oval. There is no forward motion. You always loop back to the start.

The narrator laments that we are always lost. The track is not well lit. We have no idea where we’re going. Lots of people see the track and think they are no longer lost, but it is only an illusion. This whole section is the metaphor “life as career.” The next section is “life as ritual.” In life as ritual, we strive to forget the past and only look forward.

The narration then moves on to two notions of happiness. The first type is “frontal,” and occurs naturally. It is abstract (or not?) and is that sensation of opening up when confronted with the profound beauty that is life. Unfortunately, these moments are rare and few people ever experience them.

The other type of happiness is latent/dormant. This is a happiness withheld after waiting for it. Many people spend their lives hunting for it when they can sense it is just around the corner. When you read Ashbery’s description, I think everyone recognizes a bit of themselves. It is that thought, if I just had this one more thing, I’d be truly happy:

“And a kind of panic develops, which for many becomes a permanent state of being, with all the appearances of a calm, purposeful, reflective life.”

He then ties the forward motion motif to the happiness motif and the knowledge motif (pointing out the self-contradictory nature of radical skepticism as a philosophical stance) in an extended, breathtaking sentence:

“…when the common sense of even an idiot would be enough to make him realize that nothing has stopped, that we and everything around us are moving forward continually, and that we are being modified constantly by the speed at which we travel and the regions through which we pass, so that merely to think of ourselves as having arrived at some final resting place is a contradiction of fundamental logic, since even the dullest of us knows enough to realize that he is ignorant of everything, including the basic issue of whether we are in fact moving at all or whether the concept of motion is something that can even be spoken of in connection with such ignorant beings as we, for whom the term ignorant is indeed perhaps an overstatement, implying as it does that something is known somewhere, whereas in reality we are not even sure of this: we in fact cannot aver with any degree of certainty that we are ignorant.”

After some more discussion, the line of thought changes to offer us an out. He proposes a form of empiricism: “Yet this seems not quite right, a little too pat perhaps, and here again it is our senses that are of some use to us in distinguishing verity from falsehood.”

But this is difficult. Each day we’ll struggle to discern any truth at all. It will be “unsatisfactory.” We listen to the lessons life teaches us, and the truth makes its way in even if we don’t recognize it. Even if we can’t articulate it, we’ll come away changed by it.

We are then reminded that this is a discussion about the latent form of happiness. We can now see that it is a “fleshed-out, realized version of that ideal first kind, …, the faithful reflection which is truer than the original because more suited to us…”

If we achieve this happiness, we can forget about time and the changing seasons and all the chaotic and meaningless details and finally be at peace. We have “twin urges” to go out into the world and act, breaking our happiness, and to remain at peace. When you wreck the peace, you struggle to get back, but everything has changed so you can’t make sense of it anymore. This leads to a despair:

“The whole world seems dyed the same melancholy hue. Nothing in it can arouse your feelings. Even the sun seems dead. And all because you succumbed to what seemed an innocent and perfectly natural craving, to have your cake and eat it too, forgetting that, widespread as it is, it cannot be excused on any human grounds because it cannot be realized.”

Do not fear in this moment. What you had was real. Ashbery again gives us comfort. “The darkness that surrounds you now does not exist, because it never had any independent existence: you created it out of the spleen and torment you felt.”

I’ll end here for today. Hopefully the overall form of the poem is becoming apparent at this point. Ashbery starts down some line of thought and it wanders to an extreme and seemingly hopeless end. Then he reminds us where we started and offers consolation and a way around that terrible end.

We’ll finish this next time. I recommend reading the poem if you haven’t. My summary makes it look choppy, but it is kind of amazing how these disparate ideas flow together with all the metaphoric imagery to tie it together.


Leave a comment

Extrapolating Meaning from Ashbery’s “The System” Part 1

I’ve brought up John Ashbery a few times in previous posts. Over the past year, I’ve read his fifth book of poems entitled Three Poems (yes, it is a whole book, but only three poems long). These three poems are some of his most difficult and dense material (hence the year of non-continuous effort). Some parts can go on for pages without any stanza breaks, line breaks, or even paragraphs.

I want to dive into my favorite one, “The System.” Before we start, Ashbery is part of the New York School. Here’s a reminder of some things you may have heard about him. He uses pronouns in an interesting way. The pronouns often have no clear referent (he, but no one is mentioned). They tend to change throughout a poem. This can have a startling effect when done well.

He is also known for having a large amount of ambiguity and veiling of meaning. My favorite form this takes is in paradoxical language that sounds perfectly sensible in the context, but the harder you think about it, the less sense it makes. But then moving back out to the context, it makes sense again.

The above technique is why I’ve spent so much time with his work. “The System” in particular often evoked a strange sense that I had thought these exact thoughts, but they couldn’t be expressed. Then I would read some bit of nonsensical verbiage and realize it expressed the thought perfectly.

It is a sensation I’ve never gotten from any other poet (except maybe Wallace Stevens?) and is what started my fascination with him 12 years ago when I wrote a paper in high school analyzing a poem of his. I think my teacher was a little shocked that I didn’t pick Poe or Frost like the other students who wanted a rhyming fairy tale to explain.

The first hurdle for “The System” is its length. Most poems you can read 5 times in 5 minutes to get a feel for its main topics, images, form, etc, before thinking about its meaning. This poem probably takes more than an hour to get through once. There is no way to go into with a feel for its content.

I think this is done on purpose. One of the recurring themes is examining the nature of knowledge and the feeling of hopelessness one can have floating in a confusing system of information. The poem already sets the reader up to experience this sensation with the form and length of the poem.

Now that we have some background information, I’ll go piece by piece through this thing and give my thoughts. This is a highly informal, unresearched, non-academic reaction to Ashbery’s “The System.”

The poem opens up with a semi-narration. There seems to be at least two distinct voices going on. One is personal, and the words come across as reflections on the person’s day as he gets ready for bed. It is elusive, so nothing sets up a scene that definitively:

“As though this were just any old day…For instance, a jagged kind of mood that comes at the end of the day, lifting life into the truth of real pain for a few moments before subsiding in the usual irregular way, as things do.”

The other voice is more grandiose and confident. This voice sets out to explain something to us as opposed to the first voice which we are meant to emotionally identify with. Examples of the second voice:

“–these, I say, have hardly ever been looked at from a vantage point other than the historian’s and an arcane historian’s at that…the whole affair, will, I think, partake of and benefit from the enthusiasm…of the average, open-minded, intelligent person who has never interested himself before in these matters either from not having had the leisure to do so or from ignorance of their existence.”

I’ve pulled these lines out of several pages of text, but I feel like when you focus on these, the beginning gives a solid preamble to the rest of the poem. We are going to be given some sort of retelling of history entangled with a person’s more private reflections on life.

So it starts at the beginning, with the “great impulse” all things (even atoms!) feel: the attraction to find a mate. The poem is quite straightforward in the grandiose voice for a while. It explains how this impulse led to foolishness, chaos, and misunderstanding. The primary misunderstanding being the hope for unity and pure love as the only thing (probably a veiled reference to free love communes of the 60’s?). But this couldn’t last forever, because there is no good without bad.

“It seemed, just for a moment, that a new point had now been reached.” Ostensibly, this refers to the retelling of history, but it also begins a new segment which shifts to second person. The poem focuses in on the reader’s life rather than the impersonal large-scale ideas of the previous section. After placing you in a particular moment of your life (“a pass where turning back was unthinkable”), the pronoun shifts to “we” (a technique brought up in the beginning of this post).

This works wonderfully here, because it lets the reader know that we’ve all been in this situation. Not only that, but we are all in this situation at every moment of our lives. Time flows forward. We can’t go back. This segment continues the metaphor of constant progress and our conflicting opinions we have about this at different moments of life.

The narration continues zooming in on particulars. We went from large scale to your personal feelings and now it continues to a very precise moment: Sunday, the last day of January. Focus shifts to beginnings. The choice of day refers to the beginning of a year, the beginning of a new month, the beginning of a new week. The day passes, and there is nothing we can do to stop it.

Now we come to why I really like this poem. The subject turns from this entirely interior world to the manifestations of these anxieties in the exterior world. It starts by first noting how private and interior these thoughts are. Just look out in the world. Everyone goes about their day as if none of these things concern them. How can we even tell it is real?

“On the streets, in private places, they have no idea of the importance of these things. This exists only in our own minds, that is not in any place, nowhere. Possibly then it does not exist.”

The poem starts diving deeper into the rabbit hole any mind let loose will start down. We shouldn’t be concerned with time and choices we make and leaving a mark on the world. We should add to these anxieties that maybe we can’t even know anything. The universe is just too big and vast. We are too small; knowledge too fickle with so many imperfections in the world:

“…that knowledge of the whole is impossible or at least so impractical as to be rarely or never feasible…”

Maybe it’s even better to live in our own fantasies than be burdened with the knowledge of what the world is actually like.

We’ll continue this next post. It looks like this should take roughly 3 parts in total to finish.


Leave a comment

Should Roguelikes be Winnable?

A topic that I’ve been thinking about recently has to do with balancing roguelikes. If you haven’t heard the term balance before, it basically refers to making a game fair through adjusting values: enemy health, enemy strength, items you find, your health, your strength, and so on.

For a normal RPG, you balance a game so that a skilled player can win and so nothing feels unfair. An example of something an RPG fan might find unfair is an “out of depth” enemy that instantly and unavoidably kills you (this happens in many roguelikes).

Many developers and players think this is bad game design because the player couldn’t do anything about it. Why bother getting good at a game if you will just lose to unpredictable circumstances? The game cheated you somehow, and many players quit various roguelikes before getting better for exactly this reason.

This post isn’t so much on actual balance as it is on two distinct philosophies on the winnability of a roguelike. This is a design choice that must be thought about carefully in roguelike design, and it doesn’t even come up for other types of games.

The question: Should a skilled player be able to win?

Most modern game designers would laugh at this question. Their games are designed so that you don’t even need skill to win. Winning is the default position. Your hand will be held through the process. Checkpoints are made every step of the way so you can try something again if you mess it up.

This might be surprising to people not immersed in the genre, but many classic roguelike games have a steep enough skill hurdle that probably less than 10% who ever play will get a win (maybe even as low as 1%). Sometimes it can take years of playing a game to get good enough at it to win. But the game is balanced such that a really skilled player can win almost every time.

Think about that for a second. This is quite a feat. Here’s an analogy which isn’t perfect: think about running a 5 minute mile. Almost no runner (even ones that train very, very hard) achieves this. But once they do, they can reproduce it many times. This is what makes roguelikes great. The focus is on player skill and progression not on character progression. You get a sense of real accomplishment.

After I wrote this post, I did a search for the topic and found it discussed at the Brogue forums. It seems there isn’t an easy way to even define “winnable.” I’ll give you my definition in a bit, but I want to dispel the obvious one as not being a good one.

We already have to distinguish between the game being winnable and the winnability of a given seed (industry term for a particular playthrough). This is only weird for roguelikes, because the game is different every time you play.

One might try to define a game as winnable if approximately 100% of the seeds can be won with “perfect play.” But using perfect play is problematic in a roguelike because of the randomness. Perfect play means you play in a way that perfectly maximizes your chance of winning.

It isn’t hard to think of situations in which sub-optimal play will randomly luck into a win and optimal play loses the seed (e.g. you need magic reflection, so you check Sokoban, but encounter an enemy with a wand of death that kills you, but the unskilled player doesn’t check Sokoban and goes on to win).

This is kind of funny, because now we have a problem with defining winnable even for a seed. Should it mean: someone somewhere won the seed? This, too, seems problematic. I’ll try to explain why from the commentary at the Brogue forum discussion. One person claimed that at least 80% of Brogue seeds are winnable based on the fact that people got wins on around 80 of the last 100 weekend challenge competitions (not the same person).

Let’s digress to make the problem with the above analysis clear. Suppose we make a game. Flip a coin. If it is heads you win and tails you lose. Under the perfect play definition, the game is not winnable. In other words, perfect play does not guarantee a win. Under the definition that some person somewhere was able to win, it is winnable.

Here’s where things get interesting. If we think about what percentage of seeds can be won, we better find out that the answer is 50%, because this is our expected percentage of games a player that plays perfectly would win. But in the above Brogue analysis, the commenter takes a pool of players and asks if any of them has won. This should greatly inflate the win percentage, because it is like taking 5 coins and flipping them all at the same time and seeing if any were wins.

To get around this subtlety, I’ll call a game winnable if a single skilled player can get a win streak of say 10 or so. A good example of this is NetHack. The vast majority of people who play will never get a win ever. But Adeon has a win streak of 29, and many people have streaks of 10. This proves that it is a game that can be won basically every time (and many consider it so easy they self-impose crazy challenges and still win).

Other famous roguelikes that have this same philosophy are Tales of Maj’Eyal (on normal/adventure at least) or from the “roguelite” genre The Binding of Isaac (where people have 150+ win streaks).

At this point you’re probably thinking, what other philosophy could there be? No one could possibly want to play a game for which you work really hard for 1,000 hours learning to make all the best moves, and yet the design will still have you lose to random impossible scenarios. It wouldn’t be fun. It would be pure frustration.

But people do this all the time in other types of games. The best example I can think of is poker. It takes a huge number of hours of training to become good enough to make roughly the best plays. You can be the best in the world and still lose due to the inherent randomness. You can only see how good someone is through long-term averages.

One way to think of this philosophy is: losing is fun, winning is more fun, winning every time is too easy and boring. Traditional roguelikes are fun, because you get in seemingly impossible situations but with enough skill you can think your way out. You can have a lot of confidence that you will basically never be randomly put in an impossible situation. Losing is your own fault, and you can get better from it.

If you take this alternate philosophy, the fun comes from the fact that you don’t know if a given situation is impossible. Maybe you just weren’t good enough. Balancing so that there are impossible situations makes it so that the top of the skill curve can still feel challenged.

I think the biggest difficulty with balancing in this manner is that a highly skilled player may never reach a 10 streak, but they should probably still be able to win something like 6 or 7 of those 10 games. This would be a very difficult balance to achieve. It is much easier to make it winnable.

Roguelikes already have a very small market. Part of what keeps people interested is that when they lose, it is their own fault. They don’t feel cheated. A game that was upfront about containing a large number of impossible seeds would probably narrow the market even more. One way to mitigate the pain would be for the game to keep track of your monthly win percent. That way you can track your progress.

I haven’t heard of this before. I’d be curious if anyone knows of any roguelikes that fit this design philosophy. The two that come to mind are Sword of the Stars: The Pit and Brogue. Both feel like you can just not find the items necessary to get a run off the ground. But I’m not very good at either, so it could be player error. There are people with about 2500 hours of play in The Pit, so I’d be curious to see if they could get a 5 streak on Normal mode (most refuse to play that difficulty since they’ve won on much harder).


1 Comment

On Politically Correct Art Criticism

WARNING: This post will contain spoilers for many, many things.

I know this is a controversial topic, and I periodically keep coming back to it. But I can only read so many reviews that make these types of arguments before needing to say something myself. The main thesis of this post is that it is never a valid form of art criticism to say: this work is bad, because people with trait X ought not be portrayed doing Y.

Before going any further, I’d like to make the argument to show I understand the point of view I’m criticizing. Suppose Group X (women, blacks, gays, mentally ill, etc) has a negative stigma attached to it that manifests in real world discrimination. The claim is that making media that reinforces this incorrect stereotype causes measurable harm to society by perpetuating this discrimination indirectly. It also harms people in this group (particularly children) by not giving good role models to show the stereotype is not true.

I’ll even grant most of this argument by giving an anecdote from my own life. When I was growing up, I experienced a lot of frustration trying to find a positive portrayal of gay people in media. They either ended up dead from AIDS (Philadelphia, Longtime Companion, Love! Valour! Compassion!, Jeffrey), dead from gay bashing or suicide from bullying (Boys Don’t Cry, The Laramie Project, Brokeback Mountain, Defying Gravity, Bent), were pedophiles or molested as children (Mysterious Skin, L.I.E., Bad Education). It seemed the only option to live a life where something terrible wasn’t happening to you was to live a lie (Maurice, Far From Heaven, De-Lovely).

So believe me when I say I get that this style of criticism is coming from a good place. Here’s some examples of articles that use this argument from the recent past (I’ve read more, but didn’t save them anywhere). Avengers: Age of Ultron is bad because instead of having Black Widow killing men all the time, she also has a subplot of flirtation and romantic interests and concerns over her infertility. This pegs the whole movie into problematic territory, since group X (women) ought not be portrayed as caring about thing Y (men or having babies? more on this confusion later).

A recent, highly creative and interesting game Her Story was recently criticized for, can you guess? You’re wrong, because it has nothing to do with women! The game dared to allude to the main character having dissociative identity disorder (though many people believe she does not). The main character also committed a murder. Thus, it is clearly flawed because we ought not portray group X (mental disorder) doing thing Y (committing crimes).

And on it goes. Do you see the pattern? Let’s start with my opinion on the matter before breaking it down and giving better ways to go about this sort of thing. There is a divide between mass media and art. In the age of the internet, this divide is almost impossible to find. I think the argument for this type of criticism almost works for mass media. It fails miserably for art.

Art is art. No matter how good your motives, it is never, ever valid criticism to deride art because the artistic content has material you disagree with. To make that criticism is to say that certain topics are off limits for artists: a character with trait X can’t do thing Y. What if the character must do that thing in order for the art to be the best it can be?

It is hard to articulate exactly why this is not a valid form of criticism. The best way to invalidate it is to try to come up with any sort of plot where this type of criticism cannot be leveled against it. You can’t do it. You almost can by trying to make it have absolutely no conflict or drama. But as soon as any reasonably fleshed out character has any sort of conflict, you will be able to find a criticism of the above form. We’ll come back to this double standard with the Avengers example later.

Many people have embarrassed themselves by trying this exercise. The most prominent being Anita Sarkeesian who makes her living off criticizing video games from a feminist perspective. She sketched a game idea that she thought would be free from sexist tropes, but as soon as it appeared, people were able to throw her own tropes right back at her. It is easy to criticize, but to create something free from this form of criticism is impossible. That is why it is not valid. If it applies to everything, it applies to nothing.

The other reason is that these criticisms are nothing more than saying the work is not politically correct. When phrased this way I think everyone can agree it is poor criticism. An artist’s work is bad because it is not politically correct? When we see something like this, we should laugh at how lazy and dishonest this type of criticism is.

So where does this leave us? I think there is a valid way to raise these same issues. A valid form of criticism is to point out cliche and lazy uses of tropes. Doing this requires effort and justification. For example, in Her Story, if you try to phrase the criticism in these terms, it falls away as baseless. The use of dissociative identity disorder is done in an original way. In games, it is not a trope that mentally ill people are criminals. Such a subtle use of the disorder to create depth and thought-provoking moments is wholly original in games (and also it isn’t even clear the main character has the disorder!).

The Avengers example is a little more tricky. I alluded to a difference between mass media and art earlier, and something that grosses half a billion dollars enters the public consciousness in a way that an indie game does not. Maybe there is some ethical responsibility there. But I think this becomes much easier when we remind ourselves it is a superhero movie. The new Avengers movie could possibly be the least believable movie I’ve ever seen. It is hard to go a whole minute without thinking, wow, that is fake.

As I’ve pointed out, part of these types of arguments hinge on the idea that people will think the trope is real which will reinforce a harmful stereotype. Forgive me for not being able to put a kid who watches a teenager get beat up and tied to a fence to die because of who he is attracted to and thinks, “That could be me,” on the same footing as world where a human turns into a giant green killing machine and Thor exists. In other words, context matters.

But let’s get back on track. My main objection above is that this style of argument never ends. What could have been done differently? If Black Widow has children and a family, the complaint will be that the male superheros don’t have to split their time (though Hawkeye does!). This reinforces the idea that women can’t have it all but men can (or something? why has taking care of a family taken on such a negative stigma again?). But then if she doesn’t have children this reinforces the negative stereotype that if a woman has a career she won’t be able to have a family even if she wants one. Do you see how once you let this style of argument in, it never ends. It is lose-lose for the artist. The critic can complain no matter what choice is made.

If you want a real critique of Avengers you need only point to the cringeworthy damsel in distress trope that occurs 3/4 of the way through when Black Widow is the one captured and needs to be rescued. But for some reason, people focused on her romantic interests…

Anyway, I’m sick of reading these critiques that take this form. They had a bit more validity in the past when it was harder to find positive portrayals of certain groups of people. With our current technology of Hulu, Youtube, Netflix, Amazon, and on and on, it is just as easy to find the blockbuster as the indie film. Mass media doesn’t drown out diversity in the same way it used to. So let’s move on from this lazy, invalid form of art criticism to something more substantial.


Leave a comment

Basic Game Programming Part 3

Here’s an experiment to try purely in C++ (or the language of your choice). Print any character you want on a blank terminal screen at a specific location (say 10 characters over and on the 4th line). This is a crucial idea in game programming, because even something as simple as using the arrow keys to move something around a screen requires you to do this.

You’ll find it gets tedious quickly. Let me guess what you came up with. You have two auxiliary functions. One of them prints “\n” an appropriate number of times to move you to the correct line. The other prints a bunch of ” ” to move you over. It works.

Now suppose you want more information on the screen like health remaining or an inventory list. You can’t use that method anymore, because it depends on where the cursor ended during the last thing you drew. This, in turn, depends on information that could be changing (Health: 9 vs Health: 10 places the cursor one more space over).

Matters get even worse if you want to draw something on the right edge of the screen, because you have no idea what the player is looking at. One could use a standard terminal size, another could have maximized it to fullscreen. This changes the number of spaces on a line.

Until you actually try to do these things, or at least seriously attempt a thought-experiment doing it, you will never appreciate why adding an external library to handle this stuff is important. There are tons of these in existence, but probably the most common and universal ones are built from SDL (we will definitely not get into that today).

The simplest for C++ is probably ncurses. It stands for “new curses” and has a pretty interesting history (the name implies there was a curses). It effectively emulates a terminal, which sounds ridiculous at first (why not just use the terminal!) until you think through all the problems above. Today, we’ll make an “@” symbol move around the screen using the arrow keys.

For our purposes, the two most useful functions in the library will be clear() and mvaddch(). As we saw last time, clear() was annoying because it was OS and terminal dependent. Since ncurses emulates a terminal, there is one function that clears the screen independent of OS. The function mvaddch takes 3 arguments, the first two are ints and give the y-coordinate and x-coordinate where you want to place a character, and the third argument is a character that gets placed in that location.

Even though I want to think in terms of x and y coordinates, mvaddch actually takes the row then the column number. This means you put in y first and x second and the y-coordinate counts down from the top of the screen which can be confusing to new users of ncurses.

At this point, we understand the structure of the game loop, so you should basically be able to fill in the rest of the program. There are quite a few subtleties, though, so I’ll go slowly through it.

The only variables I need this time are the x-coordinate and y-coordinate, so I’ll make these global. I started it at (5,5) randomly. We get input using getch(). This returns an integer, but we don’t need to worry about what that integer is. Since we are using the arrow keys we can use KEY_UP, KEY_DOWN, etc which are integers corresponding to the correct arrow directions. Also, using integers is nice rather than characters, because in C++ we can more cleanly write a bunch of “else if” statements with a “switch.”

This lets us make the whole Update() function by changing the x and y coordinates depending on which arrow direction was pressed.

void Update() {
	switch(userInput) {
		case KEY_LEFT:
			XPOS = XPOS - 1;
			break;
		case KEY_RIGHT:
			XPOS = XPOS + 1;
			break;
		case KEY_UP:
			YPOS = YPOS - 1;
			break;
		case KEY_DOWN:
			YPOS = YPOS + 1;
			break;
	}
}

As before, our draw function clears the whole screen and then draws everything. Because of how ncurses works, nothing will be drawn to the terminal until refresh() is called. This is basically so you can store a whole bunch information about what is going to be displayed, and then it can work out how to display it separately:

void Draw() {
	clear();
	mvaddch(YPOS, XPOS, PLAYER);
	refresh();
}

The only thing left is to initialize a bunch of stuff, but the content of the program is really that simple. I commented the initialization lines so you can see what they do, but for the most part, you’ll just copy and paste that whole chunk in every use of ncurses.

#include <ncurses.h>

int XPOS = 5;
int YPOS = 5;
char PLAYER = '@';
int userInput;

void Update() {
	switch(userInput) {
		case KEY_LEFT:
			XPOS = XPOS - 1;
			break;
		case KEY_RIGHT:
			XPOS = XPOS + 1;
			break;
		case KEY_UP:
			YPOS = YPOS - 1;
			break;
		case KEY_DOWN:
			YPOS = YPOS + 1;
			break;
	}
}

void Draw() {
	clear();
	mvaddch(YPOS, XPOS, PLAYER);
	refresh();
}

int main() {

	//Initialize ncurses

	initscr(); //Tells it to make a terminal screen.
  	clear();   //Clears the screen.
  	noecho();  //When user types input, it doesn't appear on the screen.
  	cbreak();  //Typed character is immediately available.
  	keypad(stdscr, TRUE);  //Standard screen.
  	curs_set(0);  //Starts the cursor at (0,0).
  	mvaddch(YPOS, XPOS, PLAYER); //Draw '@' in the initial location.
  	refresh();  //Updates the screen to display the '@'.

	while(true) {

		//Input()
		userInput = getch();

		Update();
		Draw();

		if (userInput == 'q') {
			break;
		}
	}

	endwin();  //Closes the terminal screen.

	return 0;
}

This will probably be the last post in this series. I have one more topic I could do (decoupling the draw loop from the game logic loop). For the most part, you should now be in a position to look up tutorials on using fancier stuff like Unity or Monogame.

The problem I found with those tutorials is that they focus solely on how to use their engine and not on what these underlying components of the engine are (and why they exist). Hopefully after these posts, these concepts make more sense allowing you to more easily jump in.

(For the record, these posts keep getting the C# tag even though I type C++. It autocorrects it upon hitting the publish button.)

Follow

Get every new post delivered to your Inbox.

Join 261 other followers