A Cure For Scurvy

Thanks to the wonders of Usenet and Google groups backups, I recently came across a computer game I created with some high school buddies back in 1997. The team: Palazzi, Grendor, and Tenecuklas. The game: ScurvyMUD.

What is a MUD?

MUD stands for Multi-User Dungeon, and was a precursor to today’s MMORPG (think World of Warcraft, Ultima Online). There are no graphics, just a whole lot of text and typing (‘w’ to move west, ‘kill goblin’ to attack the goblin in the room). Most were hack and slash adventures where you built up the strength of your character by exploring the world and slaying the monsters.

The worlds were very detailed, but the real strength was the multi-user component. Running around with hundreds of other real players to team up with or compete against brought it alive, just like MMORPGs today. But without graphics you relied on your imagination to visualize, much like when you read a novel.

Roll Your Own

Two things allowed people to start their own MUDs.  First, source code for generic base versions were freely available so you didn’t have to start from scratch. For example, if you wanted the same gameplay but set in the 1950s Chicago, you could update the text files describing the world without any programming at all.  Sword => gun, dragon => mob boss.

Second, no graphics.  Graphics are expensive to create, and require programmers and artists collaborating to make the final result.  Without graphics, you only need programmers and story tellers, and there is a little story teller in all of us :) So the three of us took our fledgling hacker skills and started our very own MUD.

The Nitty-Gritty

We started with the C source code of CircleMUD and the world map files of a different MUD, and started building upward and outward from there. Here is a hilariously old Usenet post to alt.mud describing our game and some of the unique changes we made.

The “server” (really shouldn’t be in quotes because it was the server) was a Pentium 90 in my bedroom connected over a land line via a 28k modem. This PC was also our main development machine. I kept it on 24/7 and stuffed couch pillows around it at night so I could sleep through the hum. Our players depended on us!  It cost us about $24/month for the telephone line. Even split three ways, it seemed pretty spendy at the time.

Scripting

While the Pentium was our Secretariat, there was another workhorse at ScurvyHQ: an old 8088, my family’s first desktop.  It had 8 colors, and belonged in a 70’s NASA photo. I was  convinced the 14k modem could download text faster than the screen could scroll it. However, it was good for more than playing Rampage.  It had a BASIC interpreter.

Just like how it’s easier to describe monster AI in Lua than C++, it was easier to make maps in BASIC than in C.

Using BASIC, I wrote programs that generated new maps for our game world.  They would add some random elements to structured text files the game engine understood.  No, they weren’t our best maps, but they were fun.  My favorite was a jungle with a winding river that had room descriptions relevant to the water’s movement near your character. E.g. ‘The river bends to the left as you gaze north.’

What did we learn?

Even though this wasn’t meant to be an educational experience, I did end up learning a thing or two anyway :)

From a programming perspective, we covered several computing concepts: networking, threading, resource management.

Getting more players was an ongoing effort from the start.  We started with word of mouth, coaxing our friends to play.  We used online discussion boards and website MUD directories (e.g. mudconnect.com) to advertise. We found there were differences in expectation between the early devoted user who wants to experience the big feature changes along the way, and one that is looking to join a polished game with critical mass.

And then they lived happily ever after?

They did indeed.  After about a year one founder and I moved on to other projects.  The remaining founder continued to work on the game with a new partner before parting ways.  Two of us ended up in the software industry, and the other a chemist with a healthy dose of programming.

I didn’t realize it then, but it was pretty ambitious for three friends with high school-levels of free time on their hands.

Old Usenet Links

 

Posted in projects | 7 Comments

WP Funnel

This is a version of Funnel I’ve been working on for Windows Phone (WP). It has most of the features provided on the iPhone version, but looks pretty different given the UI feel on WP.

I’m using the prototype to create this post, and it’s soo easy. I may abandon blogging from my PC.

We’re planning to release it in Feb. Woohoo!

 

Home page, shows the latest posts

 

User’s page, showing the scrapbooks tab here.

 

Detailed view of a post

 

Creating a post. Specifically, *this* post. Don’t think about it too much :)

 

Different ways you can share a post. This view is probably due for some polish before v1..

 

Login screen. I have a new love of Facebook; no more username/passwords to remember!

 

powered by Funnel
Posted in projects | 2 Comments

Labor Day

My best Labor Day memory is about five years old now.  I watched a dozen CSI episodes and not much else.  There was a marathon that day, and they cleverly started the next episode during the credits of the previous one.  Genius.

Sadly,  I may never achieve a lower level of labor on Labor Day.  However, I gave a good effort (or lack thereof) today.

 

Here is the day so far:

  1. Sleep in
  2. Lazy breakfast in front of the tube
  3. Last two episodes of Parks & Rec season 4
  4. Therapeutic update installing on a neglected laptop: Adobe, Windows, and a surprise showing from WordPress
  5. Late 90s disaster movie Deep Impact (47% rotten..)
  6. Free chocolate sample at Ghirardelli’s
  7. Coffee, mobile web surfing, and the book Code at Blackpoint Cafe
  8. Salad and dessert at Hard Rock Cafe
  9. Season 2 Episode 3 of Downton Abbey
  10. First blog post since April
  11. Reddit and more Downton Abbey (probably)

This blog post is the closest thing to labor today, but I won’t proof it.  Speaking of blogging, why the four month hiatus?

I have been working on an independent software project since May.  It is an iPhone app with accompanying website, and we are going to launch it in less than two weeks.  Too soon!

The project has provided a host of new areas to blog about.   Start-ups, cloud services, open source, small business, and working from home, to name a few.  It’s also eaten all free blogging time.  But I can’t complain.  It’s been a fantastic learning experience.

See you next Labor Day!

Posted in Uncategorized | Leave a comment

Huge Phone Menus

The Windows Phone menus seem to be wasting precious screen real estate.  The Foursquare app has pushed me over the edge, and now it’s time to look for solid proof.

We’ll be comparing the Yelp, Foursquare, and Netflix mobile apps on Android and Windows Phone.

Disclaimer: the pictures are painfully fuzzed and the fault is mine.  Next time I’ll bring the safari cam.

Yelp

Android (L) Windows Phone (R)

The title area is certainly smaller on the Android, but this looks like a design issue specific to the Yelp app and not a platform standard.  So, not great support for my claim that Windows Phone menus are unnecessarily large.  Maybe in the restaurants screen.

Android (L) Windows Phone (R)

This is closer.  Android has incorporated an input box, buttons, and a label into the same top area.  We see the standard application menu at the bottom on the right.  Even so, the Windows Phone version looks nicer.  Hmm.

FourSquare

Android (L) Windows Phone (R)

Look how much space is wasted on the Windows Phone menu!  However, it’s still prettier and has more information because of the grid layout versus the list used on the left.  Hmm #2.

Netflix

Android (L) Windows Phone (L)

Ack!  The menus in the Netflix queue screen look the same size.  Unrelated, but I’m not sure whether I like the titles wrapping or not.  Final showdown: Netflix home screen.

Android (L) Windows Phone (R)

I don’t know what to tell you, dear readers.  The menu navigation is different, but they are taking up nearly the same amount of space.

I’m going to keep an eye out for better comparisons, but for now I’ll concede that Windows Phone is not wasting more of my precious mobile screen real estate than Android.

Is perceived wasted space equivalent to actual wasted space?  When it comes to user experience, different designs can feel roomy or cramped while taking up the same physical space.  Pretty cool.

Posted in Uncategorized | 1 Comment

Online Pictures

I was reminded recently that sharing pictures online is not a solved problem.  Below is what I wanted, and what I found.

Ideal Online Pictures

Wish list:

  1. Web and mobile support
  2. Easy to browse
  3. Easy to organize pictures
  4. Privacy settings for  individuals and groups
  5. Sharing with individuals and groups
  6. Original picture resolutions saved and available
  7. 20+ GB of free space, with expansion available (paid okay)

Comparison of 3 Popular Picture Sharing Sites

I chose SkyDrive (Windows Live), Picasa, and Flikr as my potential picture sharing sites.  If you know of a better option, please let me know.

SkyDrive Picasa Flikr
Uploading easy easy not easy
Original picture size yes yes no
Organization Multi-level folders Single level albums Photos can belong to multiple sets
Privacy settings On groups (folders) On groups (albums) Only on individual pictures
Easy sharing yes yes yes
Web browsing good good good
Mobile browsing Web & App App no
Free Space 7 GB 5 GB 300 MB/month

Analysis

I ended up using SkyDrive, with Flikr my second choice. Sorry Goog.

Browsing pictures on the web was easy on all three.  Only SkyDrive had a good mobile experience..on my Windows Phone.

Sharing photos or groups of photos was easy on all three.  Privacy settings is a difficult user experience, which held here.

Organization was a big factor for me, since I recently had 1000+ wedding pictures to save and publicize.  Flikr allows you to put pictures in multiple sets. For example, if I have a picture of me eating wedding cake, I could put it in a Cake set and a Wedding set.  Unfortunately, SkyDrive and Picasa are not as flexible.  Picasa provides a single group of albums, which is horrible.  SkyDrive allows sub-folders, which at least lets me put cake pictures nested inside the wedding pictures.  Hopefully the two stragglers catch up with Flikr soon.

However, not allowing the original picture size without a paid Pro Account was a deal breaker for Flikr. Also, its site feels much older than the other two, which was annoying. Too clunky and slow!

None of these sites was awesome.  If you have a Windows Phone too, SkyDrive is probably you’re best bet.

Examples

Flikr

PicasaWeb

SkyDrive

Posted in Uncategorized | Tagged | 1 Comment

Things I No Longer Do

Once you’ve got two of something it’s time for a list.  If you’re lucky, you’ve got blog post material as well.  Here are some things I don’t do anymore.

Open Bank Accounts for “free” Money

Brick and mortar banks, online banks, credit unions, financial brokers, piggy banks, etc.  A delicious buffet of financial accounts to keep us sated.  But, we soon ended up at Bank of America adding people to accounts (or subtracting?) during the typical post-wedding death-of-fun administrative tasks.

“Do you want to open a personal checking account and receive a free $25″, the friendly bank lady asked me.  “And if you blah blah blah, your wife she gets $25 too”, she added helpfully.  Hmm, I don’t have one of those yet, I probably thought.  I don’t remember how long you had to keep it open for the free cash money, but I’m sure it was reasonble.

“Sure, let’s do it.”

3 months later I received a letter in the mail explaining that my wife’s existing BoA disqualified us both from the free money.  3 months after that I tried to close my new account at a local California branch, but couldn’t because there was -$4.94 in savings.  That’s right, negative money.

It turns out Washington BoA branches can’t talk to California branches, yet.  I’m assured they’re working on it.  Oddly, I had the business card of the bank lady who originally opened my free money account.  She was able to reverse the minimum balance charge and close the account over the phone.  Still very friendly.

I no longer open bank accounts just to get free money.  Not even if you dangle sweet alumni-themed cards in front of me.

Make Your Own Ice Cubes

I mostly don’t know how much things cost at the grocery store.  Unless it’s organic milk or peanut butter, I just buy the cheapest version.  Either you need an item or you don’t.  However, the actual price of something caught my eye recently.

Ice is practically free!  It’s $.30/lb on Amazon Fresh, and I hear they deliver.  If my math is correct, that means you’ll just need to cut back on absolutely nothing to make room for ice in the budget.

Time for a significant life decision: I will no longer be making my own ice in the little plastic trays.

This is a break from the long tradition of Lotts making their own ice, which I was indoctrinated into at an early age.  I tried to convince my Dad that he also should stop making ice, but it was a stalemate.  Apparently only future generations will be saving time and freezer space by fully adopting modern refrigeration.

Speaking of refrigeration, my current apartment came with the latest in home ice creation technology.  I think these are reusable ice cubes (that don’t fit in the trays!?).  I would test them, but that would violate my new policy of spending zero time creating ice.

Posted in Uncategorized | 3 Comments

Everest

Many of my exercise goals are absorbed from others, and the first quarter of 2012 was no different.  Other M’s goal is to do one pull-up by the end of March.  My goal was straight from this great video: 8 pull-ups.

I could already do 1-2 pull-ups, which is a decent base for adding 7 more.  However, if you’ve got more potential for growth than I do, there are a a couple tricks you can use which work great.

Negative pull-ups: start with your chin over the bar and lower yourself as slowly as possible.  More info here.

Assistance bands: big rubber band stretching from the pull-up bar to the bottom of your foot.  It reduces the amount you are lifting, making it easier to work up to an unassisted pull-up.  More info here.

Training regimen:

  • Pull-ups twice a week
  • 5 sets each pull-up day
  • Each set is max pull-ups followed by enough negatives to make 8 per set.

I’m proud to report my final two pull-up days for this quarter started with the full 8 pull-ups on the first set.  No negatives required!  I’m less proud to report that my other 4 sets each day were replaced by victory laps around the apartment.

Alas, I’m again in need of a new exercise goal.  Who’s got one?

Posted in Uncategorized | 2 Comments

Pretty Nerdy: Shaka, when the walls fell!

I came across this hilarious Facebook exchange recently, only to realize it was probably nonsense to most viewers.  Why?  Well, it’s a reference to a ST:TNG episode (Darmok) where the Enterprise encounters an alien race that communicates purely through metaphors.  Awesome, I love metaphors!

As an aside, I refer to all rhetorical figures of speech as “metaphors”, even though someone has pointed out similes and the like have their own names.  Whatever, you know what I mean.  Procrastination paragraph, nice.

Ok, back to business.  I’ve been keeping up with my goal of averaging one post a week.  Or, roughly four a month.  Realistically, one a day for the last four days of each month.  Not surprisingly, I’ve got three days left and three posts left.  No problem, right on schedule.

I had grand plans to write a quality post instead of this filler song, but they can’t all be hit singles, right?  Instead I was doing trigonometry on my whiteboard.  Let’s pretend that Star Trek stuff above was the nerdy part.

Posted in Uncategorized | Tagged | 2 Comments

Trip Report: GDC 2012

GDC 2012 was here in San Francisco last week, and I caught the tail end of it on Friday.  It’s the world’s largest game developer’s conference, with a wide variety of contributors from the industry coming together for talks, demos, fun, etc.

I spent most of my time in game career seminars, wandering around the career pavilion, and checking out the expo.

Game Career Seminars

1) gHarmony: Networking Your Way into Acquiring Your True Love Job Match in the Game Development Industry

This talk discussed different forms of networking, starting with fire and forget online resume submissions (worst) to finding opportunities through your friends (best).  Basically, the more high quality exposure you have, the better.  Get out there!

    • LinkedIn – Used heavily in the game industry.  Have a profile, make it count.
    • Professional blog – Detail the projects you’re working on, and the process you’re taking.
    • Alumni Association – Take advantage of any school connections you have.  They last forever, can provide unique contacts, and have a vested interest in your success.
    • Game Development clubs & competitions – These are great opportunities to get involved and gain experience in your area of interest.
    • Modding – Another great way to demonstrate your interest, skills, and gain experience.

2) Perfecting Pitchable Prototypes

This talk was given by a cool guy from Double Fine about their 2 week prototyping sessions.  They break into teams of about 10, with the goal of a playable demo by the end.  A number of their shipped games started this way.  Nice to hear how a top game studio is using prototyping effectively.

    • Stand out, look different – Pick whatever is different about your game idea and embellish it.  Now’s the time to experiment.
    • Don’t build an engine – It’s too time consuming when you’re goal is a playable demo.  There are many great and inexpensive frameworks available to test your proof of concept (Unity, Unreal, etc.).  Leave the low level engine work for a real product cycle after you commit to the full project.

3) Ask the Experts: Professional Programmer’s

This panel had a good cross section of game programmers with different levels of experience and company type.  It was aimed more at students and junior programmers, but still interesting and entertaining.

    • Do Stuff – Emphasis on do.  Many of the panel answers included advice to get out  there and work on things.  If you are interested in a specific area, then create things in that area.  If you don’t know what area is for you, try everything.  This struck me as good advice outside of professional game programming too.
    • Make Games – The most useful thing you can do if you want to become a professional game programmer is to make games.  There was a large focus on learning through doing, and landing jobs through doing.  Do.
    • Finish Some – At least some of them.  If you’ve ever worked in software, you already know the last 20% can kill.  Hiring managers know this, and want to see that you can complete a project, or three.  Anyone can start a project, but can you finish?
    • Hardware – Know your stuff.  A skilled programmer understands the relationship between program and hardware.
    • Algorithms – Know your stuff.  Knuth.
    • Design – Know your stuff.
    • C++? – Yea, it’s used for a lot of game programming, but no one really cares.  You’ll learn a lot of languages throughout your career.  Do NOT ever aspire to be a language X programmer.  Languages are tools of the trade, and you’ll use what makes sense.
    • What are your biggest weaknesses? – This is a stupid interview question.  Go political: Well, I don’t know a whole lot about AI.  Or, answer a slightly different and more useful question: An area I’d like to know more about is AI.

4) Breaking into Game Development: Ask the Pros

This panel had a good cross section of different disciplines (programmer, QA, design, producer).  There weren’t a whole lot of new ideas from the earlier seminars, just more  interesting stories to support the main takeaway: The best thing you can do to break into the game industry is to make games.  This can be on your own, in groups, contributing to open source projects, or working for a game company.

Takeaway: The best way to break into the game industry is to make games in some form.

Historical books to check out:

Career Pavilion

There were 40 odd companies in the career pavilion, so I tried to hit up the locals first and then branch out.  The booths were mostly manned by HR folks, so there was limited opportunity to ask engineers specific questions about the companies.

CSE Software

Peoria, Illinois company that makes simulation and training software.  Not quite in line with my interests, but they did have some cool demos of big yellow earth movers.

Facebook

Hiring for the gaming platform team.  This would be a cool spot to be given the explosion of social gaming.  I’m more into console and PC games.

Ubisoft

Bigger AAA game company with offices around the world, including SF.  Nice guy from HR gave me a run down of the company, culture, opportunities, etc.  The SF office typically has support engineers (somewhere between game developers and clients) and a few AI engineers.  Hopefully that expands in the future.  I really should check out Assassins Creed.

Nintendo

Lots of hiring going on at their Redmond-based US headquarters.  Similar to Ubisoft, they have support software engineers that don’t require specialized game development experience, and positions that do require prior experience in areas like 3D graphics, UI, or networking.  Interestingly, the HR woman suggested experience could be obtained through projects outside of typical employment, which is in sync with the game career seminars.

Havok

Ireland-based game development middleware company.  The friendly HR woman didn’t have many specifics beyond that they were growing and you should craft your resume to the position.

Sony

The Sony booth was a bit underwhelming.  There wasn’t anyone onsite that could answer specific questions, but I did learn they have a streamlined application process.  Basically, you create a online profile and then add interesting positions to your shopping cart.

Blizzard

Now, I know Blizzard is based in Irvine and not exactly local.  But, I’ve been playing their games for years, and as far as I can tell they only ship stellar games.  Naturally, I had to stop by, and it turned out to be my longest career booth visit.  First, there was an engineer on hand to speak with, which was great.  Second, he was a fellow ex-Microsoftie who told me all about the QA infrastructure team he was building.  This was particularly interesting to me, since I’d worked on similar stuff on the Internet Explorer team awhile back.  Nice guy.  Irvine isn’t looking so bad on this rainy morning.

Expo & Random Stuff

Some of the booths were pretty sweet.  Next time I’ll take decent pictures.  Oops.

The youthful male demographic was well covered.

I came across some new HTC Windows Phones in a Microsoft area, which were pretty cool.  But, more importantly they had unreleased versions of Carcassonne and geoDefense Swarm!  Based on my 5 minutes of testing, I’ll skip the Trial and go straight to Buy.

See you next year GDC!

Milling around waiting for the next talk. Expo entrance past the stairs.
Posted in Uncategorized | Tagged , | 1 Comment