Categories
Game Development General Personal Development

Oh, and Happy New Year!

It’s been a week since January 1st, and I just moved into a new apartment. Yes, I know I was supposed to move in August, and I did, but then there were problems with that place, so now I moved again. I’ve been in crunch at the day job as well. All of this conspired to slow down my blog posting and my game development.

I’m still unpacking, but hopefully I won’t have to move again any time soon. The Thousander Club got derailed for some time, as well as my Killer Kittens game, but I hope to get back on track towards 1000 game dev hours and 1000 game ideas soon.

Categories
Geek / Technical General

Merry Christmas!

On Christmas Eve each year, my parents host a dinner at their house. Being an Italian household, there is an abundance of seafood and pasta. After dinner, the men will usually play poker, the women will talk, and the children will either watch television or play video games.

I brought my Gamecube. I’m not as big a fan of poker. B-)

Also, each year there is an unspoken contest between me and my sister. We each have a stocking up, and each year I put a walnut in her stocking. Occasionally I’ll find it back in my stocking, and we try to avoid being the one with the walnut on Christmas Day. I just checked, and I’m still winning. Another aspect of the game is that since it is never announced, it’s always part of the fun to see if I can make it to Christmas without her even being aware that the game has started.

Christmas 2007 - The Walnut

Merry Christmas!

Categories
General

I’m Moving…Again!

Starting tomorrow, assuming that there are no problems, I can start moving into my new apartment. I’m running a bit behind schedule in terms of this move. I haven’t hired movers, a van, or called to get electricity and gas setup at the new place. Cable will be interesting because I would like to get cable and Internet, and since I am without a TV, I’m sure there will be hassles.

I have the rest of this month to move, but I would like to be out of my current place as soon as I can. I want to feel comfortable cooking in my kitchen again, and my current place turned out to be the home of roaches. They don’t pay rent, they mooch off of your beer, and they hit on your girlfriend, so that makes them less than ideal roommates. Oh, and they ruin your food with disease and make it more likely that you’ll develop asthma. I still need to pack, and I want to make sure I don’t bring anything that is holding roach egg cases, which are called ootheca in case you want to know, or the roaches themselves. My friend’s advice is that I just need to really inspect everything. It might be tedious, but luckily for me, I don’t have a lot of stuff to go through. A few bookshelves, a table, a desk, some file cabinets, and my computer and video game equipment. I doubt they are, but I will be very upset if I find out that they are hanging out IN my NES. Depending on who you talk to, I’ll be fine at the new place, or there’s a very low probability that I can move without bringing my new friends with me.

There might be a period of inactivity again as I disconnect from the network at my current place and wait for the network to be setup at my new place. Then again, I’m not updating that often anyway, so you may not miss me too much. B-)

Categories
Game Development Games Geek / Technical General Personal Development

Catching Up On Life

Since moving into my current apartment in August, I’ve let things get a bit out of control in my life. My last Thousander Club post was in September. My inbox has been looking like a huge chore to get through. My blog comments were an even worse chore, but I hope I fixed that problem (more later). November is National Novel Writing Month, and I had entered NaNoWriMo, only to write a little over 2,000 words out of the goal of 50,000. It’s not that I haven’t had the time. With not working on Killer Kittens or writing blog posts, I had plenty of time. Without going into details, things in my life have been fairly hectic these past couple of months. Frankly, my business, blog, and side projects like novel-writing had to be put on the back burner. That I managed to finish reading a book throughout all of this is an accomplishment.

But I’m finally getting back on track. I’m remembering how to write lists to focus my actions. I’m itching to work on Killer Kittens again. I want to write about games and their development again. But first, I need to work on my backlog of tasks I’ve been neglecting.

I finally reduced my email inbox at the day job to 0, and I have been maintaining it for the past couple of days easily. I still need to tackle my GBGames email. I just installed Akismet, and I should have done so a long time ago. Today I deleted another few hundred spam comments, and a couple of days ago I had over 1,000 spam comments. I didn’t even bother going through it to see if a legit message was in there, so if you had posted a comment that didn’t automatically get posted for being a loyal commenter, you may need to repost.

My physical inbox at home is still a pile of mail, notes, and papers, but at least I finally entered all of the receipts on my desk into GnuCash. My bills are paid. All the urgent and important things are taken care of on this front. I can tackle the rest either all at once or in chunks.

I need to renew my domain names, renew my just lapsed membership to the IGDA, and renew my ASP membership.

And all the while, I need to remember to make lists of Next Actions and Projects.

Oh, and I want a TV. Nothing sucks more than having six different consoles of as many generations without a television to connect them to. Still, I have a computer and a decent network connection, so while I can’t watch Heroes, Chuck, and Pushing Daisies, I can watch Irving Renquist, Ghost Hunter and random cats and elite Starcraft matches on YouTube. Wait, I can watch Heroes and Chuck online, but it’s just not the same.

Anyway, I’m hoping to get back into regularly updating my blog. I might not have a post each day, but hopefully I will have something interesting to contribute more often than not. Tonight I think I will update the books I’ve read and games I’ve played list. Quake 4 is actually fun, by the way.

Categories
General

Happy Thanksgiving!

I know it’s an American holiday, and I know I have a lot of international readers, and I know I haven’t updated in a long time, but Happy Thanksgiving!

I’m thankful that I have so many supportive friends.
I’m thankful that I can take such a long break from working on my business and the only boss I have to report to is me.
I’m thankful for opportunities.
I’m thankful that I live in a place where it might snow on Thanksgiving.
I’m thankful for new experiences.
I’m thankful that with so much bad news out there, I can still have a positive outlook on life.

I hope you have a great Thanksgiving, or if you don’t celebrate Thanksgiving, I hope you have a pretty good Thursday!

Categories
Geek / Technical General

The Return of Spam

I’ve been getting a lot more spam comments on this blog. It’s frustrating enough that I haven’t been dedicating the time to writing new posts, but the time I do dedicate to my blog has been spent deleting hundreds of messages at a time.

I’ve found some interesting spam messages. Today I learned about someone supposedly trying to propose to his girlfriend by having everyone forward his proposal. The idea is that it will eventually get forwarded to his girlfriend. Cute.

Otherwise, I get spam about drugs, mortgages, and porn. Oh, and the spam that doesn’t seem to have a purpose other than to give the McLeod Brothers material for their Spamland videos.

I sometimes wonder if I couldn’t do a better job of spamming people. There has to be a better way to get past spam filters than making your message so diluted that no one knows why you’re trying to contact them. Yeah, spamming is easier than actually doing the work to cultivate a relationship with your customers, but how fulfilling can it possibly be?

Categories
Geek / Technical General

The Internet: I Has It

Yesterday the cable was finally setup in my apartment. Since they don’t support Gnu/Linux, and the tech couldn’t figure out why my laptop thought it didn’t have an Ethernet port, he had to set it up on my girlfriend’s PC.

I had to talk to them on the phone since I was at work when they were there. “Which computer is it?” It’s the only Windows PC outside of the office. “You’ll need to be a bit more descriptive than that. Is it the small one?” I’m pretty sure my girlfriend will know which computer is hers. Also, both computers outside of the office are small ones.

Don’t even get me started on the frustration I had earlier from explaining to them that my laptop runs Ubuntu by default and they would need to switch to Windows when the menu appears at startup.

Why they need to install any kind of software in order to register the IP address, I don’t know. This morning I was able to unplug the modem (which kept blinking its lights…creepy), plug it into my router in my office, bring up my desktop, and immediately my browser showed me my homepage. I thought I was going to have to change some settings on my router, but apparently not. They can’t just carry a device that automatically registers whatever they need? Why does my computer need any third-party software to run a network connection?

I am currently on hold waiting for tech support to help me figure out why I can’t send email using their SMTP server. So far I have had to get through the “We don’t support anything but our own email” line after explaining that I don’t need them to do anything but support the outgoing mail like they obviously do.

Anyway, I am currently downloading over 6000 email messages from GBGames.com. I imagine most of it is spam.

I’ll need to setup some kind of dynamic DNS system in order to be able to SSH into my machine from outside the home. Comcast doesn’t offer static IP addresses to commercial customers, and I’m not paying as much as they want for a business line. Even if I was willing to spend that much, I wouldn’t want to give them that kind of business. I’m was not happy with how long it took to get service in the first place, and then it took three visits over the course of almost a month before I was able to sit at my own computer and update my blog from here.

I still need to setup the rest of the network, especially since my girlfriend’s PC now needs a wireless connection in order to connect from the other room. It’s kind of nice having my own office, though. My window has a nice view over a park, and I can see the sky. It makes up for the gloom of having a corner cube at the day job. B-)

EDIT: After being on hold with Comcast for way too long to get no useful information, I finally found this webpage with the following useful info:

If you get a error message that the SMTP server may be unavailable or refusing SMTP connections there is a undocumented configuration that several users have gotten to work. Use port 465 , set “use secure connection” to SSL, check the authentication required box and provide your full Comcast address as the username.

I can now count myself among those who had to use this undocumented configuration. It’s not even the end of the first day, and I am already frustrated with Comcast. Bartender! More orange juice! Make it a double, and keep ’em coming. I’ll be here for awhile.

Categories
General

Still No Network Access From Home

I still need to borrow network access from friends and family when I visit because the cable provider just can’t be that much in a hurry to take my money. Someone came out yesterday to install a cable line into the apartment, but now I need to wait until September 7th for someone to come out to setup the services, which is not what I was told would need to happen. I don’t even have service yet and I already don’t like the company!

The last time I lived somewhere without network access, it was the early 90s. I feel much more cutoff from the world now that I know better.

At least I have cats to keep me company.

EDIT: On the other hand, rather than complain about the situation, I should mention that I can take advantage of the lack of distractions (email, IM, Wikipedia) to program. Now that the dust has settled a bit, I can actually sit at a computer for more than a few minutes at a time!

Categories
General

Moving Day

I’m moving today. Tomorrow afternoon the cable company is sending a technician out to install our cable so hopefully I will have Internet access by the end of the day.

That is, assuming that the install is much, much smoother than the conversation with sales to actually schedule this visit. I am already not happy with my new service provider. My old service provider offered a static IP address for an extra $10 a month. My new service provider? Static IPs aren’t even offered. I didn’t remember to ask about what ports they might block, but hopefully I can still use SSH and FTP when I am away from home. I wouldn’t be surprised if port 80 is blocked, at least from what I had heard.

This is why people want the government to enforce Net Neutrality. Net Neutrality regulation wouldn’t be necessary if customers had a real choice in service providers.

Anyway, hopefully I will have a post after Sunday. Maybe if I am lucky I will have a few moments to program before Monday’s Thousander post.

Categories
General

What is Artificial Intelligence?

When I was in college, I asked a coworker of mine what his major was. He replied that he was studying artificial intelligence. The conversation kind of went like the following:

Me: Oh, cool!
Him: Well, actually, it’s probably not what you think…
Me: So are you studying neural nets and expert systems?
Him, visibly surprised: …Uh, yeah, actually.
Me: Cool!

I think he expected me to believe that artificial intelligence was just as it is in science fiction movies and books. He probably thought I was excited that he was learning about making sentient robots or something. The fact that I knew the term “expert systems” and that it was related to AI research seemed surprising. No one writes books about exciting expert systems in science fiction, right?

I suppose the reason why I knew about what courses in AI would be like is because I originally expected them to be about making computers reason and think. Then I looked into it, and I found that it wasn’t always that sexy. Some research is about computer reasoning, but a large chunk of the research is really just a series of if-statements, when you get down to it: IF this object is a mammal THEN XYZ. IF this object is a reptile THEN ABC. When you look at knowledge bases, such as Microsoft’s, it’s the result of AI research. If you are expecting to encounter romanticized science fiction in college AI studies, you’ll likely be disappointed. A lot of the AI you’ll study is about developing better ways to answer questions for an automated tech support call center.

I was hoping to take a course in AI and learn how to write autonomous agents in a video game. Expert systems aren’t quite what I had in mind. Instead of taking such a course, I read articles online and bought books. Kids today are lucky as GameDev.net has way more articles on AI than I had access to when I was in school. I do own O’Reilly’s “AI For Game Developers”, which has the sub-heading “Creating Intelligent Behavior in Games”.

Why would I care about expert systems? Would an expert system help me with making the computer opponent in platformer look intelligent? Finite state machines, fuzzy logic, pathfinding, obstacle avoidance, chasing and evading…these are things I wanted to learn. They seemed to be the most practical for a game developer.

According to the Wikipedia entry on AI, you can identify two types of AI applications: classifiers and controllers. Classifiers identify entities as fitting a pattern or set of objects. Controllers basically use classifiers before deciding on an action. The latter seems closer to “IF player is nearby, then send wave of enemies in delta formation”.

Still, there isn’t really a need to study too deeply into these details if you want to make games. Don’t think that the AI in Quake was very intelligent. The model had a number of assumptions about the nature of the level layouts and information about player locations. Someone made a 2D volleyball mod using a Quake engine and found that the movement was strange because the AI assumed it would have room to turn around. The computer-controlled players weren’t moving in a very smart way at all. I remember reading one player’s comment as he talked about how moronic they acted.

And I suppose that reaction is all we have to worry about. You can try to make your AI as smart as you can, but if it does things that aren’t very smart, people will notice, and your AI will be considered weak. Perception of intelligence is more important than actual intelligence. Just like in real life. B-)

When people played my Space Invaders clone Killer Kittens, one of the common reactions I heard was someone cursing the last alien. Just like in the original Space Invaders, the last alien moves much faster than it did when there were still other aliens around it. People were getting mad at it, but in a good way. To these players, it wasn’t an algorithm I wrote that sped up the alien’s movement. It was the alien getting tricky, or becoming afraid, or doing something intelligent. It sometimes seemed to drop a bomb right on top of the player’s shot, which seemed to be an intelligent way of shielding itself. In reality, the bomb being dropped was random, just like any of the other drops. But hey, if the players think it seems intelligent, then I don’t need to spend time trying to get it to drop the bomb more intelligently.

I remember when Goldeneye 64 was released. The enemy seemed intelligent…until you came across two guards with their backs to you. You could run past them with your guns a-blazin’, but you could also take them out quietly. Unfortunately, you’ve run out of bullets for your silent pistol, so you pull out the rifle you took from one of the other enemies. You have to be quick. You aim at one guard, shoot him, aim at the other guard, but then realize that he isn’t moving. His colleague just dropped dead in front of him, but he didn’t even blink. Wha-? It was very weird the first time I realized that the AI isn’t that intelligent at all.

Game AI is getting more intelligent these days, but in the end, the only thing that seems to matter is how players perceive it. In this way, it is similar to the importance of story in games.