So I've been a downer and don't want to give my reader a bad
impression. ;)
I do love programming and
not all shops are as bad as I've experienced.
I've been doing this for such a short time that my experience cannot be
a good statistical sample. I hope.
When I was at DeVry the most common answer to the question
"Why do you want to be a programmer?" was "I want to make games." The reality is we can't all be game
developers. However, with the trend in
MMORGS to include extensibility points through open API's we can scratch
that itch.
Star Wars Galaxies was the first game I played that had
scripting built in. You couldn't do any
flow control or logic. But you could set
up sequences of commands to say target an enemy, draw your blaster, do a
special shot, do a combo move off the last shot, stim pack yourself for a
heal. It was not only useful, but it
gave a chance to code for fun. By
writing a few scripts and sharing them with others I felt a real sense of
worth, I was participating in making the game more fun for others.
A game that I've recently been hooked on is EVE Online . CCP exposes character data through web
services, so you can write apps to help manage your character and items while
offline. They also provide data dumps,
sql scripts that include star systems, items, material costs for making stuff...
all very important data if you were going to say, write a line of business
application to manage your Eve Corporation!
There are many open source libraries created by the community, in case
you are foreign to xml, that you can use them
to call the services.
World of Warcraft takes it in a different direction. Blizzard
exposes an in game API and hosts a LUA runtime.
This allows you to create add ins and they can register for events,
process data, and modify the UI all to make your personal gaming experience
more enjoyable. Using the scripting
language LUA along with xml markup (hmm sounds familiar somehow, scripting and
markup...) you can define your UI and just go with it. Some add-ins are just for fun like printing
"She's Gonna Blow!" in big red letters on the screen when a dragon is about to
breath fire. Some more advanced add-ins
make the UI better, like allowing you to see ALL your items in one place or a
sort-able list.
Some guilds (player organizations) require their members to
have certain add-ins to do dungeons, because they are so powerful. A popular one tracks damage done to
creatures, the health of everyone you are near, and a bunch of other stats to
help bridge the limitations of the basic UI.
It knows the special moves of
certain bosses and warns you when you are gonna get pwned.
Sometimes I can't get interested in open source projects
regarding developer tools or business apps, but for some reason I get jazzed
about making an add-in playing "Fat Bottom Girls" every time a Female Troll
starts to dance near me or "Another One Bites the Dust" when someone dies.
It's such a popular past time of developers that Microsoft
has gone so far as to create a development environment for making World of
Warcraft add-ins. No Joke and the video. It is a proof of concept about how extensible
Visual Studio is... but more importantly facilitates FUN! I swear it makes me want to reopen my Warcraft account.