• Content count

  • Joined

  • Last visited

Community Reputation

696 Good

About Facehat

  • Rank
  1. I think knowing your languages well is the big thing. Game programming is just regular programming with some domain specific stuff mixed in.     Otherwise I'd just say jump in with and go though. Learning stuff on your own isn't really like learning something in a class... there are no predefined "prerequisites", so you'll basically just be learning your prerequisites along the way. The main thing is just plowing through frustration.     Personally I'd recommend against Unity if you're just starting out though. Don't get me wrong, I really really like Unity (I'm using it right now), but IMO it's more of an expert's tool than a beginners. YMMV though, try it out at least. 
  2.   I think the more salient question is: why do you care what other people are doing on their own time? Personally I don't like sour cream, but I don't get angry if a stranger orders a burrito with it.
  3. 4D perlin noise terrain

    You might want to look into Simplex noise (like perlin noise, but N-dimensional and potentially faster).
  4. My greatest triumph

    I feel like using list comprehensions to set global function definitions on the currently running namespace is an underappreciated art.
  5. My greatest triumph

    Like many languages, python has a distinction between "statements" and "expressions". I wanted to see if I could write an entire program only using expressions.   BEHOLD! THE TRIANGLE PRINTER!   (lambda: not globals().__setitem__('sys', __import__('sys')) and not globals().__setitem__('this', sys.modules[globals()['__name__']]) and not globals().__setitem__('time', __import__('time')) and #program [setattr(this, k, v) for k,v in { 'set_color': (lambda c: w(['*', ' '][c])), 'abs': (lambda t: (t + (t >> 31)) ^ (t >> 31)), 'w': sys.stdout.write, 'smash': (lambda t: -((t * -1) >> 31)), 'color': (lambda n,k: set_color(smash (k & (n - k)))), 'col': (lambda n, k: k <= n and not color(n,k) and col(n,k + 1)), 'row': (lambda n: not w(' ' * (40-abs(n/2))) and (col(abs(n), 0) or True) and not w("\n") and (abs(n) < 63 or n < 0) and not time.sleep(0.05) and row(n+1)), 'triangle': lambda: row(-60) or True and triangle() }.items() ] and triangle() )()  
  6. There are many kinds of ugly

    I'm in agreement on all of this, although I will add that I'd rather work with messy code than code built by architecture astronauts (to use another spolskyism). I think you hit on an important point that some problems are just naturally messy, and trying to work with code that uses excessive abstractions to hide that fundamental truth is a lot more irritating than code that's just naturally messy but at least explains why it has to be messy. That's not to say I'm not in favor of good design or finding abstractions that suit a problem, but sometimes people read Design Patterns and start seeing a lot of nails for their new shiny hammers..
  7. Clint Hocking gave a thought provoking and interesting talk -- complete with allusions to electric elephants, communism, and russian film icon Lev Kuleshov -- in an attempt to answer a question Chris Hecker raised during earlier GDC's. Specifically: How do games mean? No that's not a grammatical error or a joke. It's a play on the question "what do games mean?" There are many problems with the question "what do games mean?" The largest might be that we don't have a particularly good way to systematically answer it. The question of "how do games mean?" (or more gramatically: "how do games create meaning?") is more answerable, and more importantly, the answer is perhaps useful in creating games that are rich with meaning. So how do games mean? I'll try to summarize Mr. Hocking's view here, although it's quite intricate. Mr. Hocking has an interesting answer to that question, but before getting to that, it might be instructive to look at the history of film. Lev Kuleshov is an iconic figure in film. He's best known for discovering the Kuleshov Effect. From Wikipedia: [quote] Kuleshov edited together a short film in which a shot of the expressionless face of Tsarist matinee idol Ivan Mozzhukhin was alternated with various other shots (a plate of soup, a girl, a little girl's coffin). The film was shown to an audience who believed that the expression on Mozzhukhin's face was different each time he appeared, depending on whether he was "looking at" the plate of soup, the girl, or the coffin, showing an expression of hunger, desire or grief respectively. Actually the footage of Mozzhukhin was the same shot repeated over and over again. Vsevolod Pudovkin (who later claimed to have been the co-creator of the experiment) described in 1929 how the audience "raved about the acting.... the heavy pensiveness of his mood over the forgotten soup, were touched and moved by the deep sorrow with which he looked on the dead child, and noted the lust with which he observed the woman. But we knew that in all three cases the face was exactly the same."[1] Kuleshov used the experiment to indicate the usefulness and effectiveness of film editing. The implication is that viewers brought their own emotional reactions to this sequence of images, and then moreover attributed those reactions to the actor, investing his impassive face with their own feelings. [/quote] Here's the important bit in all of that: through the creative use of editing, the audience can be brought to find meaning in something that is otherwise ambiguous. Ivan Mozzhukhin's face was the same in all shots, but by allowing the viewer to interpret his reactions, the editing created meaning that was otherwise non existent. So what does that have to do with meaning? Well in Mr. Hocking's view, films create meaning through editing. Narrative might direct the experience, but editing is the basic building block -- the "how", if you will -- in which meaning is constructed from. Well that's great for film, but how do games create meaning? Dynamics, would be Mr. Hocking's answer. Wait what are dynamics? Dynamics are the behavior of the game itself, the way it interacts with you in response to your actions. This is where meaning is created. In this sense, cutscenes or stories wouldn't be the primary creators of meaning -- because they aren't part of the behavior of the game. They can frame and reinforce the meaning of the dynamics, but they aren't where meaning is created. As background for where this "dynamics" term comes from, one model of thinking about game design is the "Mechanics, Dynamics, Aesthetics" model. You can think of it this way: Mechanics = Rules Dynamics = Behaviors that arise from the rules Aesthetics = Feelings that result from the players experiencing the behaviors There's the "message model of meaning", in which mechanics overrule dynamics. You could think of this as a more authoritarian view of how you should view the game, in which the designer uses the rules of the game in order to enforce a specific message. There's also the "abdication of authorship" model, in which dynamics overshadow mechanics. In this model, player agency is maximized, but the trade off is that with extended player agency, the designer's control over the experience is reduced. Games can fall upon a spectrum in this sense, with some games reserving the creation of meaning for themselves, while other games allow the player more control over what the meaning of the game is.
  8. I spent most of today and yesterday at the social games summit, at various tracks. I was going to write them all up as individual posts, but there were a lot of themes that seemed to cut across talks, so it makes sense to also write about them as a group. I have to admit that a large part of the reason why I went to the social games summit was because I don't really get the appeal of social games. I don't have particularly strong feelings against them, mind you, I've just never been able to understand the audience they appeal to. With that regard, I think Eric Zimmerman and Naomi Clark's talk on "The Fantasy of Labor" was by far the best attempt to explain the popularity of these games, and I should have some coverage up on it soon. While I'm coming from a place of curiosity, I think the more general sentiment is contempt. For instance, during Patricia Pizer's talk on "Putting Social in Social Network Games", she asked the audience how many people in the room actually enjoyed Facebook games. There were about two hands, out of a few hundred people. [1] I think that's pretty telling. A similar experiment was conducted during the "Are Social Games Legitimate/Evil" debate with similar results. Speaking of that debate... wow. The audience was quite packed with self-identified social game developers, but the vibe seemed distinctly against social games. I'm not sure if that's just because the anti-social (har!) crowd was more vocal, or if there's just a lot of dissent within the social ranks. During that debate, Ian Bogost had an interesting metaphor. He compared social games with being similar to the situation we have with ADM and High Fructose Corn Syrup. Like HFCS, social games (and the relationships they encourage) are cheap, convenient, ubiquitous; but they're also a poor substitute for other activities that could be healthier. Evil? Probably an overstatement, but they don't seem to be doing much to make society (or relationships) healthier. Another journalist suggested that perhaps part of the vitriol towards social games might be because of its perceived threat toward the current AAA model. The thinking is that if you can beat the sales of a $60 million dollar game with something far cheaper and more simple to make, even if the quality is vastly poorer, at some point people are going to question why we're working on these very big expensive games. I think that's an interesting point, but I disagree. The gulf between the audiences is huge, I can't think of many hardcore gamers that are also social gamers, or vice-versa, so it seems both can easily coexist. The attitude I've mostly gleaned from both the AAA developers and indies is more a feeling of contempt than actual anger. They don't like what the social crowd is doing because they think it's sketchy. [1] An astute reader might point out that there might be other explanations, such as that they may have been distracted. During the Q&A someone brought up this exact point, and so the question was raised again. With a retally the numbers ended up being pretty much exactly the same. The base case question of "who here likes computer games in general" obviously got a much more favorable and unanimous response.
  9. Motivation

    [quote name='kseh' timestamp='1297105973'] Pretty interesting stuff. Thanks for the link to the video. [/quote] Thanks!
  10. A couple of hours with Unity

    Nice work! That looks pretty cool. I still can't decide if I like Unity or not. On one hand, when things work, they seem to work brilliantly. On the other hand, it's a total pain in the ass to debug; and a lot of things that seem like they should be easy end up being confusing and awkward (like instantiating objects from code). It's very content-focused, and while you can do cool things in code, doing things from code is not the natural workflow. I often feel like it occupies this awkward spot between AAA and indie where it's not [i]quite[/i] suited for making AAA games, but it's also not great at making your standard indie game either (it doesn't do lo-fi well out of the box). I also don't like how actively hostile it is to version control. (Seriously, try to use SVN with it, I dare you). Even after all those complaints, I still sort of like it though.
  11. Motivation

    This is a pretty cool animation of Dan Pink's talk on motivation at the RSA. (I didn't make it, just linking it here). I think he also did a similar talk at TED; and if you haven't read Drive yet, you should. [media]#[/media] A connection I think worth making here is that, in terms of game design, a lot of being a game designer is being a professional motivator. You want to motivate players to engage in some sort of activity (presumably a fun one -- but; I'd argue it doesn't have to be fun). If you're good they'll continue to do that task for a long period of time, and if not, they'll quickly move on to something else. I know that's a leaky abstraction, but it's a potentially useful way to think about it. Now, the most interesting point of that video comes about two minutes in when he's talking about how rewards affect motivation, and the surprising conclusion that science has come to, which is: adding rewards to tasks only increases performance for activities that are cognitively rudimentary. Once tasks require more than basic cognition skills, rewards actually hurt performance. So, if I were to give you a dollar every time you pressed a button, you would press that button a lot more, but if I were to give you a dollar every time you solved a puzzle, it's likely that would actually solve fewer puzzles, even though you'd want to solve more for because it would net you more money; and increasing the reward seems to magnify that effect. When you think about casual and social games, which tend to lean very heavily on reward systems to motivate players, it becomes obvious why they tend to be so stupidly simple. It has to be something anyone can do without thinking, or else it will become frustrating. Now, what I'm curious about (and I don't have an actual answer for this), is this: while we know that changing how we motivate players affects performance, it's unclear to me how it affects engagement. I mean, Farmville/Cityville/Whateverville games are not an intrinsically interesting activities on their own merits, I'd say. Those games rely heavily on intermittent reward schedules and social obligations. Yet they're pretty engaging to the people who play them. On the other hand, games like Dwarf Fortress and Minecraft don't rely on extrinsic motivation at all (if anything they tend to arbitrarily punish players), yet they're also quite engaging to the people that play them. So it seems to me that both intrinsic motivation and extrinsic motivation can be effective, but it's not clear to me if mixing the two motivation types can amplify the amount of engagement they provide, or if they're fundamentally incompatible. I'm guessing it could potentially amplify, but I couldn't say for sure. As a thought experiment, say you put a leader board into Minecraft for who mined the most gold. Would that detract from players enjoying the game as a creative sandbox? Would players then not view the game as a sandbox, and instead focus solely on the most efficient way to dig for/find gold? Would that be less fun? I suspect the answer might be yes to all of those, but it's something to think about.
  12. Wherein I attempt to reimagine the basic MMO design

    @jonathanasdf Haha, with regards to it sounding like minecraft with fighting, I actually had a similar thought after I wrote it out. I was thinking "awesome, it sounds like I just reinvented minecraft a year too late". I'm not sure how much it would look like minecraft the more I think about it though. I mean construction systems can be quite varied, and I think minecraft's is pretty unique to itself. I don't think you'd want to copy the uniform block based approach; as it's just too much of a minecraft signature. What shocks me is that nobody (that I know of) is trying to use marching cubes/isosurfaces to do world construction (the algorithm demo scene coders always use to make the [url="http://en.wikipedia.org/wiki/Metaballs"]meta-balls[/url] effect). It's pretty efficient, used a lot outside of the game industry (like for medical scanning and such) and really cool looking. I think with regards to what you're saying about combat power, my counter would be that it still doesn't affect player skill, which will inevitably grow over time. And if the primary enemies are other players, the combat stays interesting even if you don't fundamentally change things every week. I mean, people still play chess even though the pieces never change. I'm just not sold on this idea that you have to constantly provide new content for the game to stay compelling, and I just don't think the game needs to artificially augment player skill by giving handicaps (levels) to more experienced players. I'm not even suggesting a skill based system here, I'm litterally saying that the only way to get more powerful is to get better equipment/better weapons, and even then the effect should be minor.
  13. One way I like to come up with new ideas is by adding arbitrary constraints to an existing well known design and seeing what the consequences would be. For example, what would an FPS look like if you weren't allowed to have weapons? If you go down that line of thinking it raises a lot of obvious questions, like: * In what setting would being helpless make sense? (Horror?) * What are the player's tools for survival if they don't have guns? (Stealth, objects in the environment?) If you keep going down that line of thinking you might end up with something like Amnesia, which is, you know, awesome. It's not the only way to get there of course, but it's a nice hammer to have in your toolbox. MMO's are really interesting to do this with, because a lot of the conventions that exist in the genre came about more as a reaction to managing griefers and social issues, not because they added a lot of fun to the game (ie, "safe zones", opt-in PVP, etc). Ralph Koster's postmortem on UO gives a lot of insight into how a lot of the genre conventions came into being. At the core of the issue is how do you provide players with more agency (ie, the ability to have meaningful choices that affect the world), without the entire thing falling into chaos? Well, here are some ideas. I'm going to start lopping off aspects of MMO design I don't like and see where it goes. I don't know this will result in anything that works (probably not), but hey, being an armchair game designer is free. The most common way of addressing griefing is just to make certain behaviors impossible. If there's an issue with level 60's going around crushing level 1's, we put the level ones in a magical safe zone where the 60's can't use their weapons. We're not going to do that, because it ruins the coherency of the game world, and a coherent game world is what I want. I'm defining "incoherent" as "has rules imposed on the world that don't mesh with the fictional reality". Or something like that. If we need to police something, it can't be from meta-rules like "when you walk into towns your weapons just stop working". How do we discourage griefing? Maybe that's the wrong question. Maybe a better question is: how do we turn griefing into part of the fun? How do we let some players play the villain, without it getting out of control? First off, we get rid of levels. There shouldn't be a level sixty and a level one; we can't let player's be exponentially more powerful than each other. It's too divisive, and it creates too much of a hierarchy. MMO's have levels because it's a very easy way to create a compulsion loop, but they aren't the only way. We still need some other mechanism to give the game our addictive secret sauce; but that's ok. You don't see any levels in Sim City, do you? The compulsion loop there is in the building of things, and the acquisition of stuff you need to build more things. The key is that you need to give players some way of advancing that doesn't turn them into invincible battle tanks. I can think of a few ways -- let them build things (buildings, forts, items, towns), let them build connections (ie, use friend counts as a scoring system -- hey it worked for facebook when they started), let them acquire stuff/resources (people always want more stuff). Another interesting aspect of allowing players to build things, and making it a core part of the gameplay, is that you also solve the content problem. That problem being that you have to continuously be creating content (quests, items, etc) or players will grow bored and leave. Content sucks. It's expensive to make, and players can only experience it once before it becomes stale. Modern MMO's are about the consumption of content, but it strikes me that it would be more economical to make them about the creation of content. We've seen that building things can be a very powerful compulsion loop, and it automatically creates quests when you throw in limited resources and resources that interact in interesting ways. We still need to address griefing though. I think that griefing often occurs because players feel disengaged from the world. I doubt most players are sociopaths -- rather, the combination of anonymity and boredom turns people into jerks. So what if you take away anonymity? What if you had to play with your real name from your credit card? I'm not saying that's necessarily a good idea, but, I suspect people would be a lot more civil towards each other. Another possible solution is to reconsider what the "massive" in MMO means. What if the world size consisted of 150 people instead of 3000? And what if the world itself was a very dangerous place -- you need the help of others to survive long term, because you're weak. Since we've taken out leveling, your connections with others, and the things you build, become very important if you don't want to die regularly. If you were a griefer you would become very quickly known and outcast, and your gameplay experience would consist of lurking around in the woods trying not to get mauled by grizzly bears. Sounds about right to me. I think, all the same, you want griefers. It should be viewed as a valid play style, but it should also be a very difficult play style. If you're having people building worlds, you want people who occasionally come through and wreck 'em, otherwise things get stagnant. Creative destruction. Griefers provide a real service in that context. You just need to keep them down enough that the creation part can happen before the destruction part does. So that's how I would fix the MMO. I'd remove leveling, premade content, let griefers run free, and remove the massive part. So basically, not really a MMO anymore. HA! Not sure if it'd work, but I'd like to play it.
  14. Quote:Original post by stevenmarky If so what is it telling you to do? KILL THEM. KILL THEM ALL.
  15. Skill vs Levels. Also classes.

    Quote:Original post by Cygnus_X Someone posted this article a while back that I think is spot on: http://en.wikipedia.org/wiki/Reinforcement Great link, very handy to have on hand :) Quote: Unfortunately, items in-game don't just 'have' value, the player has to be made to believe the in-game items are valuable. So, providing a solution to this problem is where I believe all the magic happens. I dunno man, I think you're overestimating the difficulty here. You put a number on almost anything and people will want to get more of it. I mean, I remember back when they used to have a page showing something like the "top 10 posters" (in terms of post count), and people would game the forums just to have the highest # of posts. Or somewhere like reddit where people are constantly karma whoring. Honestly you can turn almost any activity into a game just by adding some form of "points", even if they aren't intentionally supposed to be points.