"Head First Java" by Kathy Sierra and Bert Bates

“Head First Java” 2nd Editionhttp://rcm.amazon.com/e/cm?t=thzopr-20&o=1&p=8&l=bpl&asins=0596009208&fc1=FFFBFB&IS2=1&lt1=_blank&m=amazon&lc1=A7A7A7&bc1=000000&bg1=060606&f=ifr
by Kathy Sierra and Bert Bates

The ‘Head First’ in this book has a double meaning.  You are diving into Java head first, but you are also considering how the mind works.  The authors know how best to teach people about a topic which can be occasionally less than interesting…  By leveraging the way our brains process information.

Applying knowledge of human behavior to any topic is interesting to me.  Combining two geeky topics is always a winner.  With the background information, the pictures, and lots of ‘why’ as well as what this is a great book to learn Java from.  The exercises never feel like a burden, many of them had me running to my computer to test them out.  They also switch things up with puzzles, crosswords, and matching games to keep anything from getting repetitive and boring.

This book is definitely not written like a text book.  Although it would make a great text book for any Java class.  To supplement the information in this book head over to thenewboston and watch a few of Bucky Robert’s tutorials.  Overall I am very pleased with “Head First Java” as a first book on the topic.

Next week’s post is a great write up of wire framing a game design!  Stick around, its a great post.  On the fourteenth we’re going to have a guest poster.  If you would like to guest post contact me.

198+ Game Design Resources

The best way that I can help you get started in game design is to assist in finding resources.  I don’t have all the answers, but I do know where to find some of them.  Occasionally knowing where to get an answer is just as good as knowing the actual answer.  My goal is to provide you with links to 101 game design resources…  Ready?  here goes:

1 – 35.) Joseph Burchett

That one link contains a list of 35 resources for game designers.  I could copy all the links and claim they were my own…  But I won’t do that, because its actually better for you to know Joesph.  He is the host of GameDevRadio.net.  And you should be paying attention to him.

36 – 97.) Learngamedesign.org Has moved to http://gpwiki.org/

This page is still in it’s infancy.  I have even added a few links to coding resources to the Wiki myself, with all these links being added in the future.  The creator of this site has big plans that start with a wiki and end with you learning game design.

98.) Top 50 Game Design Blogs

I’m not sure what being a computer technician has to do with game design blogs.  But hey it’s still a great resource.  Maybe this one should raise the count by 50?  Nah…

99.) Game Development Blogs

Along the same lines as number 98, but with some really esoteric heavy math/coding blogs.  Collision detection is not something that every gamer is going to want to read a blog about…  But a few of you might.

100.) Game Dev Map

Lets say you want to work for an existing game developer and you want to find out where they are.  Here is a comprehensive map of game developers world wide.  This website tends to link to medium large companies.  Scanning the Boston entry I can see a lot of the smaller design houses missing.  So this may not present a complete list.  Searching your local community may be helpful.

101.) Reddit.

No, really.  Reddit is an amazing source of information on games and game design.  If you can get past the attitude and the name calling and the Karma, you can find some really great stuff.

102 – 198+.) Amit’s Game Programming Information

The count stopped at 198.  There are a lot of links on Amit’s page. Mostly geeky and esoteric information, but all interesting nonetheless.  I have not clicked on every link on this site, which is why it’s after the 101 links I promised.  Most of the sources are older, some are even links to the internet wayback machine, but they all have quality information.

I apologize for making you click a link to click a link.  It would have been a lot more impressive to list each link out, and would have taken very little time to make a super impressive wall of links.  BU taught me to cite my sources and a lot of these links are not my own.  It would have been easy for me to make it look like I had found them all on my own.  There is, however, a big problem with listing 101 links on one page.  They can become overwhelming very quickly.  So take them in bit sized chunks.  Need more?  Check out these podcasts.

"Game On" by Jon Radoff

“Game On; Energize your business with social media games” http://rcm.amazon.com/e/cm?t=thzopr-20&o=1&p=8&l=bpl&asins=0470936266&fc1=FFFBFB&IS2=1&lt1=_blank&m=amazon&lc1=A7A7A7&bc1=000000&bg1=060606&f=ifr
by Jon Radoff

First Impressions:
I picked up the book and flipped through the index to see what was in store for me.  I got excited about the book just reading the index.  The topics the book covers excited me because they are relevant to me.  That excitement is completely justified.  The book promises, and delivers, detailed, multi layered information about more than just game design and development.  You get some history, some theory, and a whole lot of practical ideas and suggestions about creating social games specifically, and all kinds of games generally.

For example the first chapter contains a quiz that sort the reader into one of three categories.  They indicate multiple points of view to enjoy the rest of the book from.  Then Jon explains that humans enjoy taking quizes, and enjoy sorting themselves into groups they identify with.  Brilliant.  Absolutely brilliant.  Without telling you Jon has shown you a game, which you have opted to play of your own choice.  He has facilitated you self sorting into a category which includes a cute little icon.  All of which you are happy to do.  All the while telling you that it’s ok to skip this or that part making you feel like you are completely in control of your experience through the book.  It slowly dawns on you that he has demonstrated, in the first chapter, exactly the kind of thing that he has promised in the book.

“Game On” is clearly targeted at non gamers wanting to build social games.  It reads as though written to hold the hand of someone who is may be a professional, but doesn’t understand the first thing about social games.  But don’t be fooled into thinking that it is a book only for social games.  For example The ZoRTS project is not a social game, but I found tons of applicable material in this book.  If you have a game project, or are thinking about starting one, reading this book will force you to think about how you design your project, how the game itself works, and where the fun is for the players.  More than just a text on designing social games to promote a brand or product, “Game On” teaches enough about game design topic that amateurs will get something out the book.

Jon is like a magician who can make his magic tricks more splendid by showing you how they work.  He pulls back the curtain on games and gaming, but instead of revealing a disappointing Wizard, you find something even more amazing and splendid then you thought it would be.

Game design document? How about ‘game bible’?

When you’re working with 4 coders,  an artist, a couple musicians, a writer, and a project manager how do you keep everyone on the same page about what the game is and what the game is not?  The Creative Lead or the Project Manager must be the arbiter of the contents of the game.  They must have a method for making sure that everyone on the project has a way of understanding that vision.  What is ‘canon’ and what is ‘not canon’, to borrow the terminology use by Star Wars (one of the most curated intellectual properties in existence).

Whatgamesare.com had a post recently about Game Design Documents.  Tadhg was commenting on a problem that all project managers have whether they are in game design or not.  It a bit like ‘scope creep’.  As a project moves forward stakeholders start to ask for new features.  Changes and additions start to creep in and your scope and project can veer wildly off course without careful curation.  A good Project Management Professor will warn about scope creep.  It sounds like in the Game Industry the GDD suffers from the same problem.

A game design document should not contain information about the overall project.  The game design document should be subordinate to the project document.  The project document should consider aspects of the project outside of the game itself.  There shall be no marketing information in a good GDD.

Game Design documents are not bad, and you should work with one.  Especially when you are new to this  field you can learn a lot from a good GDD template.  They are immensely useful for filling in the gaps of what you have and have not yet thought about.  They force you to consider aspects of the game which haven’t immediately jumped to mind.

The ZoRTS Project uses a great game design document.  It was made a number of years ago by Chris Tayor.  The document is linked to by wikipedia and hosted by Runaway Studios.  You can download a copy here.  If you are experience or running a game design company it may be a good idea to create your own format.  But if your an amateur use someone else’s document as a place to start.

If you have any doubts or internal conflict about what a game design document should be take a look at the Battlestar Galatica Series Bible.  The game design document should define the setting of the game, and how the game is played.  The UI and the HUD.  Get the flavor of the game into the document.  Record your ideas about the game and what it should be.  Make the GDD a repository for your games canon.  Make it a bible that explains the universe you want to play in!

Learning Java

To be less of a bad game project manager, I’m learning a coding language.  I’ve chosen Java.  It may not be the best language to learn for game programming (we can go over the reasons that have been explained to me once I know how to code better), but as an object oriented programming language it’s a good place to start.  Also Minecraft was written in Java, and it would be excellent to code mods for the game.

What resources were used to learn Java?
thenewboston.com  (Progress: Tutorial 25 of 87)
“Head First Java”, full review on the way.

Minecraft Specific Resources?
Bukkit Tutorials.

Cheap game design

Hypothetically lets assume you’re a gamer with an idea for a game.  This should be easy to imagine.  You want to make a game but have no money.  Once you have chosen your team, and gotten some idea of what you are building (with a game design document), and picked your distribution/coding platform, you realize that you need to keep track of a lot of different kinds of information.  Specifically bug and issue tracking.

There are many great services out there with the ability to track issues, but there is another method which is often overlooked.  You can build your own bug tracker using sites.google.com.  As we were starting the ZoRTS project the Lead Coder asked me to find bug tracker to use.  As a manager on a project with no money something with low cost is ideal.  The following video on youtube provided the answer.

Pros:

  • Works with other Google services
  • Cheap! As in free.
  • Hand built to do exactly what you need it to do.

Cons:

  • There are other methods which may be better
    • Basecamp (Which the ZoRTS project would like to use)
    • Assembla (Which the ZoRTS project is using)
    • 50 others.

There are a couple factors left out of the pros and cons.  For example using sites.google.com as your issue tracker takes effort to build and maintain.  You have to have and idea of what kinds of things you need to track ahead of time, and how the page is going to be used.  The ZoRTS website includes an example page so that you can get an idea of the kinds of columns that you might need.  However this is a moot point as you still need to spend time and effort updating and recording in any bug tracker.  It might just take a minute or two more to use google sites.

So what do you use to provide an infrastructure for communication of issues, bugs, design changes?  Why do you like to work with it?  If you have experience in the area please leave a comment below, let us know your opinion.

thenewboston.com

As you know I’m a business guy.  Having been out of IT for 10 years, there is some rust on those old coding skills.  It has been suggested to me recently that learning Java would be a good idea.  Although  Java is not the best language for game design, it seemed like a good idea because Mojang is going to release the code for Minecraft at some point and allow people to mod the game.  Which is super exciting.  Also the more coding that I know the more help I can be to The ZoRTS Project as the project manager.  Even if we use QT or C++ to code the game with having a good understanding of the specifics of coding means better communication with my team.

We have a new coder interested in working on the Project, and he recommended thenewboston.com.  The website is so great that this special post was made to point you in Bucky’s direction.  I cannot recommend the site more.  They have some amazing tutorials on every major programming language.  The Java section starts with downloading the necessary programs and coding environments.  This is head and shoulders above other tutorials on youtube, where they assume you know that already or don’t think to provide assistance.  There are 87 basic Java videos, 27 intermediate Java videos, and then 30 Java game development videos!  That is just Java.  The site also offers C, C++, Visual Basic, Python, iPhone development.  Even better the website doesn’t seem overwhelming.  Really important for a newbie to coding.

To supplement Bucky’s wonderful website I have a couple books are on their way.  They shall get reviews once they have arrived and been read.  It’s tempting to post them as Amazon Affiliates now…  But it’s in better taste to plug them on a review instead of taking the lime light away from thenewboston.com.  So watch my blog for those reviews!

I would love to find a website that specifically targets people learning Java for Minecraft.  If you have any suggestions on ways to learn Java please, I would love for your to post them in comments section!  Thanks!

The Most Important First step in game design.

Just so that we get this out of the way right up front, I have never made a computer game before.  Fortunately I have made a game before (a LARP in fact, edited the 8th edition).  That puts me in the classification of Amateur.  If I ever get Zorts made, look here on this blog for a big post with lots of joy and wonderment.  I am on this step with everyone else.  My edge on this situation is my business degree from BU.

Most gamers at some point realize that they want to make a computer game.  Some game concept that they want to see, or some story that they want to tell.  You have some kind of an idea that to them makes a great game.  Hopefully you have 100 ideas, or better yet more.  Some spark of inspiration has hit and from that the beginnings of a computer game arise.  Assuming that you are an amateur, what do you do next?

Start talking about it.

Your first instinct is going to be fear that someone else is going to steal your idea.  While that may happen, it most likely won’t.  And there are many reasons why.  The best thing that you can do is get over the fear that your ideas are going to be stolen.  Especially in the design doc phase.  Start finding people that want to talk about making computer games.  You will find that 9 times out of 10 they are already making their own game.  But talk to them anyway.  Networking.  Get over the fear and create a web page for the project.  This advice was provided to me from Community Management/Marketing folks at Pax.  Yes I was one of the 12 people that went to a Community Management/Marketing panel at Pax.  And it was awesome.

Ultimately there is no right answer.  For the ZoRTS Project the game design doc came next.  What do you need next?  A game design doc?  A road map?  How about a Gantt Chart?  Stay tuned folks, more steps to follow!

"How to Think like Leonardo daVinci" by Michael Gelb

At the moment there are so many blog posts scheduled, that everyone gets a bonus post this week!  This post is inspired by 101 ways to draw more traffic to your siteIn case you don’t know The Traffic Blogger I highly recommend you check him out.  More then just blogging about blogging, he runs the incredible Just My Two Copper forum/post/community (marketing machine).  I’ve learned a lot from both of his ventures.

“98. Write about someone famous who has been dead for more than 200 years. Incorporate their story into a lesson about your niche.”

That line caused instantaneous inspiration.  Leonardo Da Vinci.  We know that he’s one of the smartest and most creative people that has ever lived.  Have there been people as smart, and as creative since or before?  Sure there have.  But we don’t know them because Leonardo was genius enough to write his thoughts and ideas down.  He kept a journal.

Years ago, while working at a bookstore, I found a book called “How to Think like Leonardo da Vinci”. The cliché “It changed my life” is true.  Although I would add “In a subtle but profound way”.  I have held onto this book for years because it contains great lessons learned by studying the life and genius of da Vinci.http://rcm.amazon.com/e/cm?t=thzopr-20&o=1&p=8&l=bpl&asins=0440508274&fc1=FFFBFB&IS2=1&lt1=_blank&m=amazon&lc1=A7A7A7&bc1=000000&bg1=060606&f=ifr

Keeping a journal is the piece of advice that is life altering.  Applying that advice to game design is brilliant.  Write down all your game design ideas; no matter how big or small.  All RPG character ideas, all LARP ideas, and CCG ideas.  Anything.  Once you have all these little ideas floating around in your journals, start to connect them together.

Another approach is to refine and collect those ideas in a new medium.  You might think that this blog is the original journal.  However it’s actually a refinement, a revision of that journal.  The ideas of this blog are culled out of ideas from journals.  Ideas combine and form, and become something new.  Like Alchemy.  😉

This method of taking notes and then refining them is a good way to study something.  The difference between knowledge and understanding is application.  If you can apply knowledge (data on something) in some way you gain understanding.  Start by writing down notes in a journal, and then rewriting those notes into something useful to someone else (or yourself later).  I feel that it’s important to have a hand written journal, and from that create a digital version.  Each format is a very different medium and that helps the brain process the knowledge into understanding.   

When younger I wrote angst ridden emotional junk about my current circumstances, thinking that a journal was a catalog of every emotional thing that happened mixed in with all the ideas.  Good journals are not diaries.  Avoid that temptation.  Years later you will want to throw that crap away.  Luckily I kept one diary full of angst and one journal full of ideas.  All the drawings and ideas had a much more positive emotional association years later then all the drama.  The diary got thrown out because it was too embarrassing to look at.

I should reread the book and write another book review to go with Inbound Marketing.

Woot! Ars Technica, FTW.

Thanks Ars Technica, I was looking for charts and information about overworking employees.  Great article today* from AT about overtime and crunch time.  With links to research that was pioneered by Henry Fords company around the 1900’s.  Which makes it both impossible to read and some of the oldest scientific research we have about work.  Be warned, it does not read well for those not versed in scientific research or 1900 speak.

TL;DR:

  • The 40 hour work week is an intentional construct based on research into human productivity.
  • Overtime gives you a temporary boost in productivity, when used sparingly.
  • Prolonged overtime drives productivity DOWN.
  • Humans will voluntarily overwork themselves even when its not good for the project because they want the money.

So watch out passionate game designers.  Pay attention to your work/life balance.  Watch Penny Arcade TV to see  a group that spends tons of time at the office, but has a blast doing it.  Work hard, play hard.  With just a touch more play time, then work time.

Comment below if you feel this is interesting or stupid.  Also let me know if you are interested in research posts. Highly technical posts might not be terribly interesting.

*[Blog posts are written in advance, their post appeared about four days before the date this post went live.]