Why are we addicted to social networks?

Posted on 22nd March 2011 in Something Daily

I had a facebook account for about two and a half years, a time during which I used it, as many of my friends did, for the bulk of my social planning and interaction. For a while, mainly in mid-high school, I accepted it as the status quo of social life.

The reason I originally stopped using Facebook, back in October, was that I felt like it was becoming too much of an artificial world for me personally. That is, I started to notice that a lot of the social constructs it creates that were causing me anxiety were, in fact, totally artificial and unnecessary for my social life. Like I’d meet a cute girl in real life and then immediately be worried about how long I should wait to friend her on facebook, or why she hadn’t written on my wall yet, or something like that. Facebook was becoming way too much like real life, in the sense that its constructions were affecting me in a very real way.

I understand that the type of issues that I mentioned aren’t the fault of Facebook at all, but rather a result of the manner in which I was causing myself to experience it. They all stem from some deeper issue with me, I’m sure, but I noticed that a convenient way to get rid of that issue was to just delete my facebook. So that’s why I don’t have one anymore.

It just occurred to me that I would be a decent subject for a study on what happens to a mildly social internet person when you take away his facebook. Going in, in October, my first thought before actually doing it was that I would be completely free of the restricting online atmosphere I found myself in, that suddenly cutting my lifeline to my social network would cause me to happily revert to the use of phones and email to do my socializing. This was initially the case after I went through with the deletion, but, predictably, it lasted for about five days. That was how long it took me to realize that I needed some kind of online presence (for what reason I don’t know) and to set up this very blog. Also, about two weeks after that, I registered on Twitter. It would seem that, although I fully expected at the outset to be more or less content with no internet life, that ended up being very far from the truth.

The week of no social networks and my continuing lack of a facebook have both helped me appreciate telephony more than I ever had before, both for its convenience and its intimacy (compared to text-based internet communication), and this is a continuing process. Despite that, it seems that I was, for whatever reason, compelled to reassert my online identity hardly a week after ridding myself of it. The question on my mind now is why did I feel that need, and why am I now compelled to collect and hoard Twitter followers and blog readers, just as I hoarded facebook friends before? Is it a psychological issue that some segment of the population suffer from that causes us to seek the approval of people we don’t know? Quite possibly – I’m not at all ready to throw out that hypothesis. But what I’m more inclined to believe is that this issue is something that many (if not most) of my generation experiences. I don’t know, but I imagine it affects (or will soon start affecting) younger generations as well.

I feel like my generation (I’m lumping into that category people who were in middle or high school in 2004, the year that Facebook launched) have developed a compulsion to be connected to the world at all times, mostly through the internet. A lot of web companies started to blow up right around the time that socialization was becoming important to people my age, and the influence of organizations like Twitter, Facebook, YouTube, Myspace, Bandcamp, and Wikipedia is clearly visible by the impression they’ve left on our worldview. In a sense, these organizations have grown up with us. It’s uncommon these days to find a person between 17 and 25 who doesn’t have a facebook account, and even less common to find one who doesn’t use any social networking services. The point isn’t “check out how many people in this age group use these sites”, but really it’s “why do they all use them?” And that is a pretty good question.

Spaceratops: The Game

Posted on 21st March 2011 in Something Daily

Over the last few months, I’ve been working on a Java game entitled Spaceratops. I started it after finishing CS 101, mainly as a tool to learn object oriented programming. It eventually grew into a project that I envisioned in my head as a grand production in for which I would draw all of the sprites, compose and record the soundtrack, design and program the game engine – something that I would see through from beginning to end as my own learning project, but also something that I could hopefully come away from being at least a little proud of. So it may not be as ‘grand’ as I’d initially intended, but it is indeed finished. I took a break of about two and a half months after completing the engine, with the thought that it would never really be finished, and then, for some reason, I picked the project up again in January.

So I can definitely say that I understand object oriented programming much more than I did when I started. I also am a lot better at programming in general (which is, I suppose, what one would hope for after completing a project of some magnitude). It’s really good to finally be done, though. I don’t know how soon I want to start another one, but something tells me that it could very well be sooner than I expect.

Try playing it, let me know what you think in the comments. Here’s the link, just click “Launch”, select “open”, and the file will download and the run automatically. I’m having issues with the leaderboard right now, but gameplay is unaffected. Also, here’s my source code, which I have been staring at without much break for the past few months, and which I’m more than happy for you to look at now.

If you have any questions or comments, please make them known. And if you finish all fifty waves, I’ll buy you lunch. Seriously. If you do, tell me your score. Thanks for playing!

comments: 1 » tags: , , ,

Are you telling me, that my mom, has the hots for me?

Posted on 21st March 2011 in Something Daily

Believe it or not, I saw Back to the Future for the first time last night. It’s one of the movies that everyone is so surprised to discover that you’ve never seen, like Star Wars or The Sound of Music or something. I went into it knowing pretty much all of the classic lines already, just because they get thrown around so much in cultural references, and I ended up finally discovering the original context of all of them. Interesting to see where exactly it was that Doc (Emmett) Brown and Marty were going that they didn’t need roads, or the classic line “are you telling me, that my mom, has the hots for me?” It was kind of dated (really really dated, actually), but I ended up enjoying it hugely. I feel like it would be really hard for me not to like it (partially because of the fact that Marty McFly is the coolest character this side of Bill and Ted, and that I want to be like him). I know it’s crazy that I’d never seen it before, but I’m all better now. I took care of that.

I’m going to start making pictures more, and maybe they’ll move too. A friend of mine asked me to draw his album cover, so I plan to give that my very best effort. It’s probably going to involve a dinosaur on a skateboard or something rad awesome like that. Funny, just typing the words “dinosaur on a skateboard” just now notably increased my happiness. Now I’m just thinking about it. It’s awesome. It’s a t-rex and he’s got little elbow pads on his little elbows and big knee pads because his legs are huge. And a helmet and aviator sunglasses, and there is a flaming rainbow coming out of the back of his board. Somebody on reddit recently accused me of being four years old a few days ago, and I’m beginning to wonder if he was right. I’m ok with it, as long as it means I get to keep dreaming up dinosaurs doing awesome things.

I’m also picking up work on the message board that I started, as well as starting to design a personal website and a bunch of other stuff involving gif-making and pixel art. We all know that I’m a workaholic – this shouldn’t be news to anybody.

Bit Into Rainbow

Posted on 19th March 2011 in Something Daily

I just made another…I don’t know what’s happening to me.

I spent a good amount of time today Twitter-stalking what I imagine to be a secret society of gif makers, but in reality is probably just a few people who know each other (I’m not willing to completely throw out the secret society idea though). I am currently going through a phase in which I like making things flash lots of colors. True “animation” is still beyond me, but maybe that will change sometime soon.

Today seems to be the last day of work on Spaceratops, which is a quite welcome thought. I’ve been working on this project for far too long, and it’s time for somebody to play it. Namely, you. I’ve decided that once it’s up, I will buy lunch for the first person who finishes all fifty waves. It’s pretty hard (actually even though I’m the one who made it (I can “see the matrix, if you will), I still haven’t gotten to the end), so it might take a little while. But you can do it, I know you can. Very soon. If not tomorrow, then it will be linked to by Monday. Playable in your very own browser. I know, contain yourself. I can’t wait either.

I also took some quite nasty spills at the chelsea skatepark this afternoon, as I was feeling particularly bold and attempted a lot of stuff that I hadn’t before. Specifically, jumping off of ramps and dropping onto them from above, both of which caused me some degree of pants-rippery and knee-skinning. I did, however, eventually succeed in the landing on the ramp part, so now I’m tentatively capable of jumping onto the small box from the ramp, riding it, and then dropping onto the ramp on the other side. I think the box is about a foot, maybe 18 inches tall. So this is an improvement. Of course, it didn’t come without some bruises.

Farted a Rainbow

Posted on 18th March 2011 in Something Daily

I’m not entirely sure of the reason, but I got back from the skatepark today and immediately felt the urge to make this.

I know what you’re thinking. You’re thinking “this guy looks like the coolest little kid that the world has ever seen. He had video game sunglasses and rainbows behind him all the time.” And if you thought that, you’d be right. About everything you’re thinking with regard to this general topic.

Being at school over spring break is totally sweet, because I have entire days to myself with no commitments whatsoever. That typically means that I’m going to code a lot, play video games for a good deal of time, and probably skateboard. Today, then, has been the quintessential spring break day (in my mind, at least). I put in a big chunk of the last week’s worth of work on Spaceratops today, waking up at 8 and basically coding straight through until noon. I started from scratch learning about applets today, because I realized that, realistically, how likely is it that anyone would play my crappy game if they have to download it? As I see it, really the only way to get anyone to play is if it works from within a browser – so that’s the idea of converting it to an applet. (actually, I think I’ll get a decent amount of people to play that way, at least compared to the results if it was a download). So this game is in the final final stages and will be linked to RIGHT HERE by Wednesday, March 23rd. I swear it. I need to be done with this project.

Speaking of, I downloaded the Unity game engine today, which I’ll be experimenting with later in the evening after a bit of decompression via Metroid Prime (which I started speedrunning last night) and Easy Mac.

Oh yeah, anyway…the transition to applet was an easy one, for the most part. It’s essentially the same as a JPanel, but runs via an automatically generated HTML form. One thing that is different, though, is that there’s a disparity between the manner in which images are printed in a frame and in an applet – which means that my applet is very much prone to flickering. It’s not unplayable by any means, but the flicker is certainly annoying. So I’ll be working on that tomorrow.

And one more thing – I don’t know if you heard, but I set a new personal record for shortest Super Mario 64 completion on Wednesday night. 2.5 hours, 58 stars. Yes, I used the stair glitch, but there comes a time in every semi-pro SM64 player’s career when not using glitches just doesn’t cut it anymore. We get bored. But yeah, my last record was three hours and four minutes, so I’m moving up in the world, clearly.

[youtube http://www.youtube.com/watch?v=Q1lwD-jFHOE&w=480&h=390]

I’m going to go shoot stuff with lasers, and you can just sit here staring at my elementary school awesomeness in all of its rainbow wonderment.

Yeah But What if I Want to Push Mongo?

Posted on 17th March 2011 in Something Daily

I was skating to Washington Square today, and I was passing Union Square, a guy at one of the merchandise tables saw me and yelled at me to “stop pushing mongo!” It was embarrassing. If you don’t know, pushing mongo is when you use your front foot to push off the ground to get momentum while you’re skating (the generally accepted way is called “regular”, which means using your back foot). There are a few reasons why it’s easier to set up for tricks if you push regular, which are negated if you’re mongo. And, for whatever reason, I push mongo. That’s right, I push mongo. Deal with it. Apparently this guy had a problem with some random person not pushing on his skateboard in the proper way. I know it’s not really a big deal, but I did end up attempting (with very mild success) to push regular for the remainder of my journey. I kept almost falling off and losing my balance, because I’m not used to supporting my weight and balancing on my left foot. Still, by the time I got to Washington Square, I was a little bit better at it than before. I’m getting there.

Also, this morning I modified the perl script I wrote a little while ago to synchronize two directories. Before, the sync was done on the basis of a source/target situation, where one is the master and one is the slave. I changed it this morning to instead create a union of the two directories, similar to how Dropbox operates. It’s a nice useful bit of code that I use pretty much every day for my own purposes.

I found out about @Lulinterweb through Anamanaguchi’s Twitter account recently. She makes awesome old-school video game inspired gif animations. Check out her website. This stuff is fun.

Future Tech

Posted on 16th March 2011 in Something Daily

I was given the rare chance tonight to see a talk by Michio Kaku, theoretical physicist and author of a bunch of books, two of which I’ve read (Hyperspace and Parallel Worlds). My roommate just told me that he was going about two hours after I made it back into the city today, and I figured it was too rare of a chance to pass up. He spoke about his new book called The Physics of the Future, mainly focusing on predictions about the technology of the next 10 to 100 years. The focus was largely on how the internet’s increasing ubiquity and the increasing processing power and reliability of computers is going to spawn new technologies that involve everyone being constantly connected. Stuff like contacts that project augmented-reality 3D images onto your eyes and flexible screens/video wallpaper. The coolest thing about a lot of the stuff he was mentioning was the fact that pretty much all of the apparently futuristic technology actually exists already. He mentioned glasses-free 3D monitors and augmented reality video, both of which are used by the Nintendo 3DS (not to plug, but I did notice that the talk did make the 3DS look very futuristic). And the contact lens thing certainly reminded me of it being over 9000. It was cool to see Michio Kaku in person after reading and enjoying his books so much. It was a good talk – and free!

It’s True, Haters Are, in Fact, Gonna Hate

Posted on 15th March 2011 in Something Daily

As expected, I got ripped on fairly hard on reddit after posting yesterday’s article to r/gamedev. My favorite tidbits from the exchange are “If his realizations are obvious then it’s not worth writing about, time writing that would have been better spent developing the game,” and “writing about how you designed a game is a useless waste of time if you don’t have anything tangible to show for it.” I knew this would happen, because it usually does when I post anything from Three Stegosaurus Moon on reddit – actually I don’t think there’s been a time when I posted something of my own and at least one of the comments wasn’t sarcastic or disparaging. Bummer, I know. But it’s ok. I stayed out of any kind of argument that might have popped up, and thanked the one guy in the thread who stood up for my article. So it’s a good experience overall.

Im always going to unsure of myself, but the confidence boosts come when I look back at the skills I had six months ago, or even one month ago, and realize that I’ve surpassed them completely. The only thing it’s reasonable to expect is that the learning will continue at a similar rate for a while, so regardless of how good I am at anything in an absolute sense, it’s an added bonus that I’m better at it than I was several weeks prior. Not that the fact that I was defamed on reddit has anything to do with how good I am at anything, but it causes me to think along those lines. I’m really just being timid.

This experience is interestingly appropriate in light of an article I read yesterday about nerds being mean to each other, which I could relate to both before and after being ripped on.

Also, reddit comments mean nothing. It’s easy to start thinking that they have meaning and significance, because they’re a lot more civil than those of the #chans, but really, in a bigger sense, they don’t matter. So it’s kind of upsetting that someone is being a jerk about my perfectly helpful article, but who cares, right? It’s my thing anyway, and I wanted to share it, and I’ll continue to do so whenever I feel like it, because it’s my thing.

tldr: haters gonna hate

Also this

Thoughts on Good Game Design

Posted on 14th March 2011 in Something Daily

I’m learning a lot about game design as a result of my endeavors into the field. When I began to create this game I’m working on, it wasn’t at all about what the design would ultimately be, it was more just a practice with object-oriented programming using graphics and keyboard controls, just because they were two things that I thought I could easily use to make a playground for myself to create sprites and animate them, learning the ideas of OOP in the process. In that sense, this project has been a complete success. I know objects very well now, as a result of using a nested class structure for every game entity. I also have come to understand privilege and how it can be used effectively, as well as making the appropriate variables global and nonglobal. That’s all great, but what I’m realizing now is that in addition to all of that new coding knowledge, I’m also coming away with a better understanding of what makes an effective game design.

One of the most important steps for me in this regard has been the playtesting that my friends and family have done during various stages of the development. I spent quite a while building the engine from the ground up, which was where I got my OOP practice, and which was what I originally thought would be the main bulk of the work. When the engine was finished (or nearly finished), though, and I started having people playtest it and give me their feedback, I started noticing a lot of commonalities between how the players reacted to certain game aspects. For example, every time people would play one version of it, one of their comments afterward would be something like “I lost really quickly because I was concentrating on dodging the asteroids.” This was interesting, because the asteroids were in fact part of the background image and not part of the gameplay mechanic at all, yet since people saw them flying by in the same direction and at a similar speed as the enemy projectiles, they assumed that they had to dodge them. This brought up the intersting issue of visual design – namely, how can I make an interesting setting for this game without making it detract from or confuse the player’s experience.

In more general terms, how can I make it immediately obvious what a game element’s function is? A powerup that gives the player more health should indicate that by how it looks. Something that makes sense in the context of the story (they’re little medical kits in Half-Life 2, for example) or even a simple heart. Something that stands out and is obviously condusive to the player winning the game. Similarly, an enemy should look menacing to some degree, whether it’s the goombas in Mario that have little frowns and are conveniently at foot-stomping level, or the alien swarm guys in Gears of War who look like big angry gray tanks who clearly want to murder you. If there’s something you need to avoid, like enemies or projectiles, it should be really easy to see and to avoid. The lasers the enemies shoot in Metroid Prime are all brightly colored and very clearly come from an unpleasant source. Ikaruga is another great example of this, where the game mechanic is mostly based on the avoidance of enemy projectiles; in that game, they’re all very well-lit and colored, to make it exceedingly obvious where the player needs to be. That’s not to say that it’s easy to avoid the projectiles, but it does mean that there is a correlation that the player can pick up on between being close to a projectile and losing a life. There are no surprises. Backgrounds and settings shouldn’t distract, but should only serve their purpose as a stage-setter; in a well designed game, the player never has to wonder what any aspect of the game does: it’s all so obvious.

Another thing I’ve come across is the need for well-thought-out gradation of difficulty. This can be restated by saying the the played needs to feel at once challenged and successful at all times in order to keep enjoying the game. Noone wants to play a game where you die on the very first level every time; nor does anyone play games in which you make it to the end having hardly put forth any effort at all. The player’s mental state during play is important for the designer to take into consideration, as it’s ultimately the deciding factor that controls whether they go tell their friends that your game is ‘fun’. A player needs to be given rewards; there needs to be a sense that progress is being made. Levels up, points, weapon upgrades, and powerups all aim toward this end. I don’t think it’s important exactly which of these elements are used; rather, only that they are used to synthesize an overall experience of challenge and reward. A well-developed difficulty curve can compliment this; for example, you don’t want to introduce a new challenge or mode of playing in a situation in which it’s impossible to learn.

A great instance of this is the Zelda games, in which a lot of the excitement comes from collecting new items and weapons. A trick that’s commonly used in these games is to put the item in a room that’s impossible to leave without the use of the new item – to leave the slingshot room in Ocarina, the player uses the slingshot to shoot down a ladder that leads to the door. Clever. It’s a semitransparent method of easing the player into the correct control of the new game mechanic, without having it seem completely like a tutorial stage. It’s my opinion that this method is a better design principle to follow than actually including an almost nondiegetic tutorial stage – it keeps the player fully embedded in the game world.

These are just some thoughts that have occurred to me over the course of my work with designing a game. It’s a great learning experience to make a game from the ground up, both in programming and design. I’ll talk more about this at a later date. For now, go play your favorite video game.

Netbeans IDE – Uncompilable Source Code exception

Posted on 12th March 2011 in Something Daily

So I’ve been working on a Java project recently, which, in terms of sheer lines of code, is pretty substantial. As such, I work on it a lot in different locations, and usually split the work between my two computers. Me being the efficiency freak that I am, I have found ways to ensure that the current version of the project is always accessible from anywhere on any system I’m using. That is, I keep the source files in the cloud (via Dropbox), so that every time I save a change in Netbeans it’s automatically uploaded, and I keep disk backups of the current files (done by a shell script every time I close a session). So basically the source directory that Netbeans looks at is just symlinked from Dropbox, while the class files are kept locally on each computer that I’m working on (apparently the Linux and Mac JVMs are different enough to require an annoying recompile if you don’t do this). But everything that I’m doing with this stuff is controlled by shell scripts.

The thing is, I started to notice that if I ever save anything in Netbeans when I’m not connected to Dropbox (that is, Dropbox fails to sync) I start getting errors about “uncompilable source code”. The identical code still runs just fine from the command line, but Netbeans can’t handle it. I finally found the answer to this issue today, though – it turns out that when Netbeans is set to compile every time the file is saved, a separate set of class files are created for debugging purposes. Certain things can cause these files to be corrupted and uncompilable, such as, I found out, a nonsyncing Dropbox containing the source files.

So to fix this, I first turned off the “compile on save” feature in Project Properties, then deleted closed Netbeans and deleted the directory “.netbeans/6.9/var/cache/index” (where the cache of extra class files is kept) and reopened. The directory is automatically recreated in a noncorrupted state when Netbeans reopens. The problem of uncompilable source code is gone now, with the one added annoyance of having to manually compile before running. Still, I’m glad my project runs.

The source of this new knowledge.