Showing posts with label games. Show all posts
Showing posts with label games. Show all posts

November 7, 2010

THE LAND OF LISP

It's been a while since I've been able to run through a code book, with life throwing me so many welcome curveballs since the summer. But I'm finally taking the time to work through a book like old times; this go-round is with Conrad Barski's Land of Lisp. I probably wouldn't have gone for it, but the music video he made was just too cute:



The book is peppered with cute cartoons and a whimsy feel that is endearing, not overbearing. I highly recommend it, if only for the comics (though working through the examples is fun, the games you make really highlight Lisp's strengths).

Some may recall that I've dabbled in CL before; sadly that affair was over before it started (curveballs!), but my next project after ScrabbleCheat will likely be in either Haskell or Common Lisp ^_^

And how goes ScrabbleCheat? Quite well, actually! The technologically adventurous can download and play with it now. What I'm working on now is a simple UI in ncurses, which will probably take another week or two. But as soon as that's up, the program should not only be functional (which it mostly is now), but usable!

October 27, 2010

CS Pranks: Push it!

While working as a Sunlab consultant at Brown, my buddy and I would frequently find ways to 'spice up' the workspace. If we ever found the other person's workstation empty without being properly xlocked, we'd usually pull pranks on each other: 'alias ls='eject; ls' being a popular harmless one, or writing zwrite <username> -m "PAUL LOGGED OUT" on my .logout file, executed anytime I logged out.

The sad thing about these pranks was that occasionally someone else would do a more malicious one, and we'd get blamed :( But there's still so much fun to be had from finding ways to shake things up.

This tweet by Coding Horror's Jeff Atwood gave me the idea for the next one:

by law, every fifth push to DVCS must be followed by this video link http://www.youtube.com/watch?v=vCadcBR95oU

Naturally, the youtube link plays this:

Gotta love the 80's.

Were I still there, I would love to institute this. But for now, I'm setting it up on my machine, to keep things from getting too boring. To do this yourself you'll need the following:

  • mpg123, a simple command-line mp3 player. Easily installable.

  • An mp3 of Salt-n-Pepa's Push It


Given all this, the rest is easy as pie. There are surely more elegant solutions than what I did:

  • Store the number of pushes in an external file echo "1" > how_many_pushes.txt

  • Write a script to keep track of and increment that number as time goes on. Here's my Ruby script:




  • Execute git config --global alias.psh !push_wrapper.rb.



Now just use git psh instead of git push, and have a surprise every now and then ^_^

September 30, 2010

Some Professor Layton Prolog!

Time to combine two of my favorite things: Professor Layton and obscure languages! There was one puzzle (of the hardest difficulty) that I could have spent 40 minutes working out, but instead spent an hour and half solving in Prolog (for those unfamiliar with Prolog, check out this post for a description of what this magic language is!).

I'll post the puzzle and solution here; hopefully someone finds it fun!


No 151 from Professor Layton and the Diabolical Box: Colin's Score


Four students took a test where every question had two possible answers, A or B. Each question was worth 10 points, for a total of 100 points.

The students' test results were posted as seen below, but the teacher forgot to tally Colin's score. Colin was heading to the teacher's office when Mary called him back, saying they could figure out his score using the results from the other tests. Can you figure out Colin's score?

Mary: 70 points


12345678910
BBABABBABB


Dan: 50 points


12345678910
BAAABABAAA


Lisa: 30 points


12345678910
BAAABBBABA


Colin: ?? points


12345678910
BBAAABBAAA

-----

Below is the program I wrote to solve it. Verbose by contemporary language standards, but almost no thinking required, and the answer in an instant! Note the original version didn't have so many comments; these are to guide the curious reader. Sadly, github's gists don't know how to color Prolog syntax. Also, due to this terribly lame layout, I would suggest the 'view raw' feature at the bottom of the gist to see it in plaintext glory.



Edit: I also gist-ed my Prolog poker solver, which I wrote about in my first Prolog post. It was my very first prolog, and there are probably shorter ways of doing what I did, but hey! Give it a looksee and hope you enjoy it ^_^

September 26, 2010

Repost: Professor Layton and the Hell Yes

My last blog before this got digitally bulldozed: I was hosting on a pay-per-webserver and when I got a new credit card forgetting to update the account, they sent one spam-collected warning before they deleted my site. Luckily I was able to salvage most of the posts via Google Cache, with the hope that I could write a script to de-WordPress-HTMLize them, and upload again so they could see another day. I haven't done it yet, but might still. The main reason I haven't is because a) those posts had lots of images I hosted on the server as well, which makes them uglier, and b) those posts are like these, but much more boring.

But I might re-post one or two every here and there. Here's a re-post from September 4, 2009, when I was playing Professor Layton and the Diabolical Box. I just got the sequel, Professor Layton and the Unwound Future (official site, trailer), and most of my sentiments are still the same:

-----


Anybody following my tweets for the past 4-5 days knows I've only really tweeted about one thing: Professor Layton and the Diabolical Box.

This is a breath of fresh air. Not even: I've written before about growing up during the Hollywoodization of the games industry, and in that context games like this are a fresh salad in a strip mall full of Krispy Kreme's. This game is a bargain for twice the price.

It would take a much-better planned post to cogently and coherently explain this game's genius, but to take a line from the movie Spy Game, I'll try to achieve "twice the sex with half the foreplay":

  • The game's puzzle mechanic is innovative and damn fun. While scores upon scores of mini-games and puzzles in the larger game isn't new (Nintendo owned and made a fortune off this mechanic previously with Brain Age, Mario Party, etc.) Layton's puzzles operate in a radically different context. Most games have puzzles that are competitive and/or timed, with their primary mechanic some physical or reactionary task and how rapidly you can achieve it (mash buttons! Simon says!).

    The context of these puzzles change everything. The puzzles are non-competitive. You have unlimited time. They are cognitively fun, stimulating puzzles.

    I feel that Parappa the Rapper sort of emerged in this way, in that timed button presses weren’t themselves new (TASVideos demonstrates that completing most games could be thought of as a sequence of timed button presses, but Excitebike is a better example of a game with it as a central mechanic), but the context and presentation made it feel new.

  • This game is beautiful. Also like Parappa, the game launders its play style though gorgeous original artwork and design. Who can't love Professor Layton, with his quaint accent, speech, and manners? Who can't love Don Paolo, the eeeeevil scientist who is such a cartoon villain? Who can't love the soundtrack, the villagers?

  • It's always great to have a touch interface that doesn't suck. Have you ever tried designing a touch-screen interface? Or used one? Most of its proponents swear touch interfaces are more "natural," but most touch software sucks. This game feels great, however, so much so that my brother's girlfriend could feel inclined to pick it up and log 15 hours of game time in 4-5 days.



If you have a DS, get these games. If you don’t, ask to borrow mine ^_^

September 8, 2010

Life Update/Book Burning


Time for a small life update, as the posts have slowed down for a while and some narration is due:

I just moved to San Francisco after graduating from Brown in Providence, RI. For a myriad of reasons I didn't spend much time at home over the summer, and have been living in and out of boxes since May. Just last week I moved in to my new apartment, and will slowly, surely become a normal well-adjusted human being again.

Despite the change in locale, the main reason I've not updated (or been so fast to move, or had much time to play) is that I'm happily and proudly an engineer at Adobe Systems, working on their AIR product. It's really a fantastic product, I suggest you all give it a look.

Products built on AIR that I particularly like are Times Reader, TweetDeck, and (in a silly and simple way) Webcam To Gif. It's the first time I'm programming professionally, and I can't be happier.


Mouth OpeningNervous Eyes
DENIEDOh yeah


Of course, it also doesn't help that Starcraft 2 was released on my second day of work. I rarely get to play, but when I do, look out for sicp, the Platinum Zerg Menace on the US server.

Occasionally, I can still program for fun. I picked up ScrabbleCheat again and virtually re-wrote the little I had: the previous approach was quickly demoable, but hits a wall as soon as you try to generate moves from an existing game board. Besides, the sooner I finish that, the sooner I can work on my AIR app, SlashR ^_-

---

Now, forgive the language, but there's no better way to describe it: there's some stupid-ass shit happening right now regarding Muslims in this country. First there's the manufactured Cordoba House controversy (I think Greenwald sums it up best: if you think past a fourth-grade level about the opponent's arguments, what they really want but obviously can't say is a Muslim-free zone of unspecified distance. This set of photographs is telling.).

Then we get arson of a mosque in Tennessee.

The most personally insulting is "Burn a Koran Day," since it's clearly an unoriginal, hateful knockoff of Everyone Draw Mohammed Day (I describe the event and my participation here). Clearly, they misunderstood Everyone Draw since they're doing it all wrong.

Never mind the fact that these are Christians, apparently:


In Everyone Draw, there were direct threats and acts of violence being perpetrated in response to a specific, concrete expression of freedom of speech, the result of which unambiguously terrorized people from exercising their Constitutional rights. If we were threatened and attacked by McDonalds, we'd be agitating McDonalds.

The people behind Burn a Koran Day aren't in any direct danger and don't have their rights directly threatened. They're doing this simply because they hate and wish to hurt all Muslims simply by virtue of being Muslim. If they try to give an explanation, it's normally some vague babble of being a response to 9/11. Please. Yes, some (crazy few) Muslims want to kill you and I. I'll bet that so do some (crazy few) Jews, some (crazy few) handicapped people, and some (crazy few) vegans. This doesn't mean I should eat a lobster-bacon cheeseburger while caning an invalid just to prove a point.

Is their religion stupid? Definitely. So is yours. You all have the right to peacefully practice your silly superstitions, and you have every right to insult them as badly as you want. Neither of you have the right to escape criticism, and those of you planning this are the most stupid, hypocritical, and pathetic people of this news cycle (and there is some stiff competition).

Really kids, what would Jesus do?

June 27, 2010

Video Games, and the failure of the word "Art" Redux

UPDATE (7/20/10): A little old, but Ebert closes the book by saying that, while he still thinks he's right, he shouldn't have brought it up in the first place. He essentially says "I'm not wrong, but I can't explain why I feel that I'm right." It's actually a pretty nice piece.

---

I wrote about Ebert et. al. being naive and/or lame when they don't allow games to be art. This great little reddit thread "Saddest moment in a game?" shows that, like the NYT summarizes rather well, it's more a generational misunderstanding of what 'art' should mean rather than one rooted in any actual thinking. See how many you've encountered yourself!

At the very least, I see how deficient I am for not having played any Metal Gear Solid beyond the first (which was excellent). Also glad Majora's Mask is getting a fair bit of love in that thread; it's the masterpiece nobody's played, like Skies of Arcadia.

June 23, 2010

Playing Video Games Again

A brief summary of my video gaming:

  • When I was 3, I started on NES games. From there on in, I played almost exclusively console games until I was about 14.

  • A friend of mine from high school introduced me to Warcraft III, so I played that a bit. I was terrible. I more or less stopped playing games, except for Warcraft III, and Super Smash Bros. Melee. I flirted with the DC area of the high-level Melee scene, and got murdered.

  • In college, I played Warcraft my first year. Found the competitive gaming scene, and a great site for competitive Warcraft.

  • I didn't play for the four years following.


I mostly mention this because starting a few weeks ago, I started playing again. This has partially to do with my madly brilliant neuroscience friend (now, girlfriend ^_^), and let me say, I'm glad to be back.

You see, video games are the closest thing I have to sports, at least the role sports are usually cast in, in both participation and viewing. I'll contrast with my dad: he can go to bars and talk about why X trade was good for the Nationals, or to discuss Jordan's very brief career with the Wizards.

I don't know enough about my teams to do this, but I can talk about why I prefer watching ReMinD over Moon, or why I still play solo DH against most races. And while my dad likes to DVR games and watch them before bed, I love loading up a good replay to end the day.

But also as a player, video games give me something to work on and master. This video is a bit long, and is good apart from this specific point, but describes what I'm trying to very well:

Namely, that we enjoy doing things and getting good at them, for giggles. Like practicing your foul shots, there's a great feeling that comes from getting better at games.

Luckily for me, I feel these things about programming too. But video games have a softer learning curve (there's SO MUCH to computer science and programming) and aren't going to be my job.

With all that said, for those who don't know and love the pro scene already, here are a few videos that may illuminate. The first two are favorites: (context: in Korea, Starcraft games are televised, with many professional players. Luckily for us, the announcers learned from Latin American Soccer Announcers rather than the dry English-speaking ones. Here's an epic casting of Plague, a Zerg spell):

A similar description of the death of a Reaver (count how often they say it):

Some Pro Smash (Melee), for those who've never seen it:

Finally, a great epic game between my favorite Terran and Zerg players in the Starcraft 2 beta that has been shoutcasted. Skip around if you don't watch the whole thing (which you won't ^_^. The game starts at 3:05):

May 15, 2010

Another game on Android Market!

My games group is happy and proud to release Momenta (development title Platformer) to the Market today!



As with my first Market release, you can click here if you're browsing from an Android phone, or search "Momenta" in the Android Market.



What would you pay for this Eyjafjallajökull eruption of fun? You might say $10,000, but wait, it's free! Download it, PLAY IT, enjoy it, and please provide feedback!

April 29, 2010

Videos with me!

ME ME ME! <STOP>



MY GAME IS BETTER <STOP>



THE GAME I MADE WITH MY TEAM <STOP>



I WILL TRY TO WRITE MORE, FEWER VIDEO-ONLY POSTS <STOP> UNLESS OF COURSE YOU LIKE VIDEOS <STOP>

April 23, 2010

Video Games, and the failure of the word "Art"

Roger Ebert decided to revisit a topic that got him a lot of attention a few years ago, where he claimed that video games weren't art. Now he's strengthened his claim, stating that video games can never be art.

My reaction to this was mostly along the lines of Penny Arcade: there's nothing to see here. An older person who's never really played video games decides to classify them ungenerously. Whoop whoop.

And normally I would let it rest, but then PZ Myers decided to weigh in (he agrees with Ebert). Now PZ is all about thinking rationally, letting evidence trump prejudices, etc. So it surprised me greatly that he made such a claim with such little knowledge, and such poor understanding. It's very un-PZ.

Here are a few pennies for the conversation. This is really about two separate issues: not knowing about the medium you're criticizing, and more broadly, having a stupid question to begin with.

---
Regarding video games, there are a few major blunders in PZ's argument. PZ believes (emphasis mine):

Art is a kind of distillation and representation of human experience, filtered through the minds of its creators. A great painting or poem is something that represents an idea or emotion, communicated through the skill of an artist, to make you see through his or her eyes for a moment. Computer games just don't do that. No team sits down to script out a video game with the intent of creating a tone poem in interactive visual displays that will make the player appreciate the play of sunlight on a lake, for instance.

But they do, at least as much as producers of any other 'artistic' medium do. Compare Hideo Kojima's process with any filmmaker's. Look at the Flower example given in the TED talk that inspired the whole discussion. Stating that "this simply isn't something game makers do" is like an old Pythagorean stating that irrational numbers don't exist: it's simply not true, by very observable counterexample.

Even if you don't accept my examples (Ebert's discussions in particular are full of monkey-patches and amendments to definitions to ensure that no example is quite right), making a sweeping generalization about an entire expressive medium because someone hasn't done a specific project you prescribe (or template for a project) is simply bad logic. There's nothing stopping me from doing it myself, today, and poof! I've beaten your argument in its own, irrational territory.

PZ continues:

Video games will become art when replaying the performance becomes something we find interesting, when the execution of those tools generates something splendid and lasting. It just doesn't now, though. If you want to see something really boring, watch someone else playing a video game. Then imagine recording that game, and wanting to go back and watch the replay again sometime. That's where games fail as art, which is not to say they can't succeed as something comparable to a sport — we may want to explore the rules of a game at length, and repeatedly, and we may enjoy getting better at it. But no matter how well or how long you play a game, it's never going to be something you can display in your home as a representation of an experience.

To quote an old TA of mine, "isolated but incorrect assertion" on the "watching others play video games is boring." The only times I fire up video games is to watch strangers play Warcraft III, and Starcraft is on TV in Korea. YouTube is loaded with video game clips, and we know this is only for sporty demonstrations, not because the games have had a transformative effect on someone!

A less "sporty," more personal example: while growing up my siblings would often come into my room to watch me play Final Fantasy VII or Skies of Arcadia. They didn't have an interest in playing, but were very invested in my playing it for them. "It's like watching a movie, but better," they would say.

Finally, you also can't take this argument seriously when, if you follow it through, you see it enters a heads-I-win-tails-you-lose loop. You see, there are games where playing them and watching the outcome is very much an artistic experience: think Mario Paint, UmJammer Lammy, or the Everyday Looper. Then they would argue that the games themselves aren't art, that they are more akin to canvas, paint, etc. since they take the role of tools, and you only produce art when you play them, get the distinction? But here, PZ wants to classify them as art only if playing them is such an experience that you could hang on the wall. So the definitions he prescribes has it both ways so that he doesn't have to accept a new medium as being viable to the others.

---

Which brings us to the second major point: the whole argument is stupid because it concerns the biggest failure in the English language: the word "Art." The word is completely meaningless; its use almost always means someone trying to dodge a more difficult discussion involving more precise terms.

What is art anyways? Does it need to have an audience? Can anything be art in the right context? These questions are never answered because the word means whatever its listener wants it to mean at the moment they say it. Asking if X or Y is Art or High Art is like asking how many angels can stand on the head of a pin at one time: we can combine all we think we know about angels, pins, and the nature of standing, but it doesn't make the collection anything less than a clusterfuck of misunderstanding to no fruitful answer.

If I defecate into my hands and spread it on people around me, I'm a candidate to be institutionalized. But if I do the same in a theatre, and say I'm doing it for Art, I'm to be taken seriously and you should be more open-minded. The word Art, like God, is frequently invoked to tell people to stop thinking and allow idiocy to pass for proper, constructive thought.

So when I made arguments in the first section responding to PZ's quotes, I was a Copernican using what I knew to be weak Ptolemaic arguments to convince a stubborn Ptomaine who could hear nothing else. Just like the most reasonable answer to most "holy questions" is that there may simply be no God, the most reasonable answer to "can video games be art?" is usually "ask a better question, or clarify your terms."

February 19, 2010

Fruits

I made a video game! Czech it out ^_^



Follow my progress, as well as the rest of my games group, at our blog!