"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.

Advertisements

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!