The Beginner’s Circle Part 1 : The Rocky Start

  • Posted on February 9, 2011 at 10:27 am

So there we were! Six people of varying skills and abilities! Ready to get started on our grand project that would knock everyone’s socks off! It would be our break out hit, where we would enter the indie gaming scene with an awesome game that everyone would be blown away by. Our names would quickly rise to the top as those awesome game developers that made that REALLY COOL GAME, and the money would just start pouring in!

Well… at least… that’s how we imagined things would go at first.

Unfortunately, reality set in rather fast, and instead of actually making progress on our MAGNUM OPUS OF EPIC AWESOMENESS, we were spending more time tripping over our own shoelaces, which appeared to have been tied together somehow. Whoops.

Our Initial Plans

Our initial plan was this: We would meet in person every two weeks to discuss the project. Each meeting, we would all discuss what needed to be done, then commit to accomplishing several tasks before the next meeting. We would then go our separate ways and work on tasks that we had assigned ourselves during the meeting. Rinse and repeat.

We figured it was a great idea, considering that we all were pretty busy with our lives and didn’t have a lot of time to really dedicate to game development. But with six people doing it… SURELY WE WOULD BE ABLE TO ACCOMPLISH GREAT THINGS!

Our first few meetings went fairly well. We brainstormed various game ideas until TheCallMeVroom came up with a brilliant idea: an action/puzzle game with a zookeeping theme. “Across the Zooniverse” was the name we came up for it. We immediately set about investigating various game development tools. Jamie showed us Unity, and we glanced at a few other engines, but the sheer power and ease of use that Unity gave us sold us on it pretty fast. We took off running to run through some Unity tutorials, learning some art, build some infrastructure, and figured we’d be well on our way to getting a game made.

We’re all set to work! … Now what?

Okay cool! So we got all set up with all this infrastructure… We got a whole website put together. We had an idea. We had a free 3D game engine. Now it was time to start working!… AAaaaand WHAM. We smashed right into a wall.

Actually.. it wasn’t quite a wall… Thing is… as mentioned previously, none of us had any idea how do to any sort of game development. We all just sort of stared at the game design and went “Huh?” TheCallMeVroom was churning out pages and pages of content with all sorts of ideas on level concepts, storylines, etc. Stuff that would be great to add to a game, eventually. But her ideas provided little in the way of concrete game-play for the immediate future. I was focused on our infrastructure and was busy getting that up and running, so I wasn’t doing anything with the game itself. Jamie and Akuma were doing some concept art, but weren’t anywhere near ready to produce 3D models and textures and stuff. Dana was playing with music to try and compose music that would eventually be part of the game, but music and sound wouldn’t be something we’d be focusing on until further down the line.

Simply put, we had bitten off more than we could chew, and we began to feel it pretty quickly. Folks started having other priorities, such as school, work-related stuff, etc. I had to leave what little work I was providing the team as I prepped for a talk I was giving at my alma mater on software engineering and being LGBT. Jamie got lost in schoolwork and prepping for her finals. Everyone basically was scattering to the four winds, leaving our group project behind.

It was just… easier to prioritize other things in one’s life when you were nervous about coming back to the large monsterous project that no one seemed to know how to tackle. Andrea did a bunch of work on the game for a while. She even put together a working prototype in Unity… But in the end, she lacked direction, and everyone else was a bit too anxious about the project to provide any. So by late November, Artless stalled, and the Zooniverse project had ground to a halt.

In our anxiety in dealing with Zooniverse, we all wound up running off to work on our own independent projects for a few months. From that, came my Combo Cards 0.3, Andrea’s RicoTank, and Jamie’s Dream Blaster. But instead of talking about those projects now, and what we learned from them, I’m going to cut the story short here and come back to it when I do.

What went wrong?

What went wrong? Well… until we actually have something working right, it’s a bit difficult to answer that question. But as we’ve moved on from this first experience, learned on our own, and started a new phase of team work… What we learned was this:

1) We were too damn big. Six people is a ton of people to try and coordinate into getting anything done. Especially if they don’t know what they’re doing. ESPECIALLY if there is no clear leadership and everyone is trying to pass the leadership buck to someone else. We’re still on the largish side… but we’re hopefully learning to coordinate our efforts more effectively these days. (More on that in a later entry.)

2) Trying to learn to do 3D game development in an unfamiliar system was probably the biggest part of what went wrong there. Simply put… None of us have ever done 3D anything, with the exception of Jamie, who had learned about 3D modeling in school. Trying to learn that while simultaneously trying to learn to do game design, level design, project planning, team coordination, and everything else was just insane and doomed to failure from the start.

3) Investing only a small amount of time on an extremely infrequent basis was not going to get us anywhere. We needed to get focused and work hard if we wanted to accomplish anything of any reasonable merit.

4) We spent too much time focusing on the epic goal of awesomeness, and not enough time considering what needed to be done *now.* It’s great to imagine how to spend the imaginary millions you dream of making on your game… but… uh.. first… before you can even make one cent… you need to actually, you know, *do* something. Which we didn’t do. We had a big collective ego balloon that needed bursting, and burst it did.

As we move on, we’re trying to learn from these lessons. In part 2, we will discuss what we learned from our own experiences going on onto our own projects. In part 3, we will talk about how we have taken what we’ve learned to try something new, and hopefully, by then, have something substantial to report about our latest game development project: A 2D side scrolling action/puzzle platformer game called Rock Bottom.

Share

Development Infrastructure and Unity 3D

  • Posted on February 9, 2011 at 4:47 am

When our team first got together to do game development, we decided that needed a little bit of infrastructure. External website, internal svn server, internal forum, internal wiki, internal bug tracking… etc. That sort of thing.

We looked at several options and decided to purchase a $600 Refurbished Mac Mini that would be hosted at my house on our Comcast ISP. Why a Mac Mini? In doing investigation on doing version control with Unity, we discovered something rather annoying. It doesn’t work well with version control of any sort, really.

There are several problems with doing version control with Unity. This site discusses several of them. However, the biggest problem is that every time you create a new asset, it generates a new unique id for that asset and stores that in the Library. If two people do this at the same time somehow, it is possible that they’ll run into issues where ids are wrong between machines. When we were working on ATZ, I frequently ran into issues where I saw objects that were missing textures, behavior, etc.

The solution to this, according to this site, is to have a central Library into which all assets are imported upon creation, prior to their being used or linked to other objects in the system. You can accomplish this with an individual person whose duty it is to maintain the master library, or you can automate the process by having a machine do this for you. The solution I came up with after reading these sites and doing other research was to set up a shared directory on our central server into which .unitypackage files could be dumped. (A .unitypackage file is effectively an export of assets that a particular person may have created on their machine.) A script on the server would watch this directory for incoming files and, when it saw one, import the .unitypackage folder into its master library, then check in the resultant changes to the repository.

Unfortunately, this requires the central server to be running Unity, which only works on Windows or Mac. Since I wasn’t going to do a Windows server even if my life depended on it, a Mac it was.

Actually, another reason for going with the Mac was that we could eventually colo it away! Mac Mini Colo offers a really awesome service where they take your machine and stick it in their data center, free of charge. You then pay a pretty reasonable monthly fee, and you get all the bandwidth and whatnot that you need. And unlike other colocation services and VSPs, for a mere $35 a month, you get access to a pretty damn powerful machine, instead of a weak little thing like you generally get for these sorts of prices. Of course, you have to pay for your own machine, but hey, whatever.

One of our team, Dana, happens to spend her day job doing sys admin work on Macs, so she and I worked together to get us set up on the server with all of the juicy normal services you get as part of a company. You know… internal email, internal wiki site, externally facing site, file sharing, SVN repository, shell accounts, etc. All protected by a VPN that basically gives one-stop access to everything.

Eventually… that became our server, and that’s the server we’re running off of right now. It’s been working fairly well for the past few months, and we’re looking forward to coloing the server as soon as possible.

Share

The Beginner’s Circle Intro : Why we’re here.

  • Posted on January 26, 2011 at 9:37 pm

When I was a younger coder, I had some serious issues around perfectionism. Suffice to say, I rarely got anything done on my own. If it wasn’t for work or school, it was rare that I finished a project. About 3 years ago, when I was doing some self-growth in other areas of my life, I decided it was time to bring my attention back to software development and project completion as an area in which to grow.

To help motivate myself and make the process a little more fun, I enlisted the help of some friends of mine: Andrea, a software engineer that had been out of the biz for several years, and Jamie, an art student studying game art and design. Together, we started collaborating on a simple port of Set to the computer. At first, we weren’t putting a great deal of work into the project, as we were only getting together and working on projects every once in a while, when the mood struck. Yet we did manage to get a version of the Set clone out, as well as a basic implementation of the game Arimaa in our limited free time between work and social lives.

In August of 2010, we had a major transformation in our little team. Up until that point, we had been more of a loose association of people that worked together whenever they happened to be around one another. In August, we decided to pool our collective desire to make games. We formalized our little gathering into Artless Entertainment, a sort of game development hobbyists group.

We formed as 6 people with varying levels of skill in terms of engineering, graphic art, systems administration, writing, and music/sound production. What we all had in common, however, was the fact that all of us had never made video games before. In fact, with the exception of Jamie, who was studying game art and design, none of us really had any experience with making games *at all.* We were 6 complete noobs, trying to figure out what it took to make video games.

Why 6 people, you ask? Why not work individually? Well… the reason we all did this together was that none of us had the ability to do this on our own. Like me and my inability to do graphic art or Jamie’s inability to do programming. We all hungered to make games, but lacked the skill to do so. Additionally, the original team was myself, Jamie, and Andrea, but the idea to formalize into Artless came from TheyCallMeVroom, a brilliant writer who had all sorts of amazing ideas for computer games, but not much ability to implement them. As word got around about our group, folks like Akuma and Dana expressed interest in joining up. Thus was Artless born.

So that was about 5 months ago, when we got down to business and formalized things. What’s happened since then, you ask? How much have we accomplished?

Well… not much, really.

But there are good reasons for that.

Before I get into that, I wanted to share what this article is actually about.

There’s a lot of blogs out there about game development from the perspective of folks that have done it and know quite a bit about it. But there’s really not much about things from the perspective of beginners and how they fare. So I figured I could put my information out in the world from the perspective of a person that really *doesn’t* know much about how to do this, and discuss the experiences of our little team as we stumble our way forward into the big world of computer game development.

Thus: “The Beginner’s Circle” An irregular blog series on our experiences in teaching ourselves game development, from a bunch of freaky weirdos with big aspirations and little sense. Written by yours truly.

I’m going to start working on part 1 of this series right after I post this, but I don’t know when it will necessarily be finished. I’ll be discussing what’s been going on with us the past 5 months, what’s gone wrong to put us in a situation where we’ve accomplished very little, discuss what *has* worked, and talk about what we’re trying next.

Until then.. Look forward to seeing you again!

Share

Combo Cards 0.3 released! Now with Multiplayery goodness!

  • Posted on December 1, 2010 at 12:20 pm

Hello again folks! Combo Cards 0.3 is now released! You can play it by clicking the big image below!


Play Now!

Other Downloads:
SourceJar File (Universal for Windows, Mac, and Linux)Mac OS X App

Release Notes:

  • Added player-to-player multiplayer capabilities
  • Single player no longer has a timer for calling Combo.
  • Launch Menu modified

Known Issues:

  • Currently, players must host the game server themselves, requiring port forwarding or all players being on the same LAN.
  • Multiplayer connectivity is quite buggy. If you disconnect mid game, the game will likely not handle it correctly, requiring a server restart.

We’ll be working on addressing these issues in the next release. Specifically, we’ll be add a centralized server that can host games, removing the need for individual players to do the hosting themselves. Along with this will come improved connection management and improved game play based on feedback from our play testers.

Enjoy!

Share

Combo Cards 0.2 is done!

  • Posted on November 20, 2010 at 2:23 am

Thanks to the wonderful graphic design done by my friend Jamie Roberts, I now have a shiny gleaming skin of beauty over the Combo cards application. I’ve packaged what I have so far as version 0.2 and have put it out there for you to evaluate.

Please be aware that there are lots of missing features, as you can see from here. Probably one of my biggest problems with the application is its lack of sound. It really needs some sound effects to indicate whether you’ve succeeded or failed at what you’re doing. It should also ask you whether or not you want to play again when you’re done instead of just starting the game over without warning. But these things aside, please take a moment to review this early alpha evaluation version of this application!

Just click the screen shot below to play!

Combo Cards

Other Downloads:
SourceJar File (Universal for Windows and Mac)Mac OS X App

If you look over the checkins I’ve been doing over the past few weeks, you’ll see that I’ve been doing some pretty serious refactoring on the program. I’d say I’ve thrown out about 50-70% of the code that I was using. That’s because the architecture as it was previously would not have been sustainable in the face of the new UI and multiplayer features I plan to implement.

In any case, please evaluate version 0.2 and let me know what you think! Feel free to file bugs and feature requests on the google code site if you find any!

Share

Steadily moving forward

  • Posted on November 3, 2010 at 9:37 am

My work on Combo Cards continues to move forward. We’re still using the old card symbol graphics, which I think we’re going to need to change at some point, but other than that, it’s looking great! Take a look!

Share

My New Kindle

  • Posted on October 22, 2010 at 12:08 am

I purchased a Kindle yesterday. This device is incredible, and e-ink blows my little mind. Let me talk about my decision of why to get a Kindle as opposed to an iPad, though.

Before yesterday, I had a problem that I was looking for a solution to. For the past 3 years, I’ve had a very hard time finding a way to fit reading books into my life. I tend to live a very active lifestyle, frequently camping, staying the night with friends, or spending time at my partner’s house. It makes it challenging to maintain access to my personal library of books.

I generally like to read both a fiction and nonfiction book at the same time. Given how frequently I find myself staying the night away from home, how do I keep one of each with me? The only answer is to drag them everywhere, but carrying two (or more) books around with me everywhere I go in my purse/laptop bag is a frustration that I’ve been loathe to attempt. Worse, I’m going to be traveling out of state in a few weeks, requiring me to pack my books in my luggage if I really want to read them.

So I resolved to get myself an e-reader of some sort, to solve this problem. A quick perusal of the current popular e-readers resulted in three options: The Barnes & Noble Nook, the Amazon Kindle, and the Apple iPad.

I rejected the Nook pretty quickly, but not because it’s a poor piece of technology. Indeed, the touch screen interface for interacting with it seems quite nifty, and many of its features seemed on par with its direct competitor, the Kindle. No, I rejected the Nook simply because I don’t use Barnes & Noble to purchase books. I’m a dedicated Amazon.com girl, so if I was going to go with an e-ink e-reader, I was going to choose the Kindle.

So what about the iPad? Surely, this was the superior device, I thought at first. In addition to giving me access to Kindle software, iBooks, and Nook software, the iPad also would let me view color PDFs, play games, browse the web, access email, and so much more. And yet, as I considered the question, I realized that I have little need for these features. I am almost *never* without my 15″ Macbook Pro, and everything that the iPad can do, I can do with my laptop. And for mobile computing when I don’t want to pull out my laptop? That’s why I have an iPhone. The only thing I really need my e-reader for is a single purpose: Reading books. Anything else would be cute, but unnecessary.

For a quarter of the price of an iPad, I could get a device that would work several times better for reading books in the Kindle. True, the user interface for the device pretty much sucks for anything that’s *not* reading books, but for the primary function of reading books, it’s pretty awesome. Since reading books is the *only* function I need performed, I realized that the Kindle would absolutely be the best choice for me, so I went out and got one.

I’ve only had the device for a day, but I’ve already got some thoughts about it.

First of all, the DRM issue kind of sucks. I really do enjoy lending books out to friends once I’ve finished with them. But as much as I like doing that, I don’t do it nearly often enough to justify purchasing the hardcopy over the digital DRMed copy. It’s a suck-point on this thing, to be sure, but it’s a relatively minor suck point.

As I mentioned, for anything other than reading books, the Kindle completely fails at its user interface. Browsing the web is terrible, playing Mp3s is awful, and even searching for content on the Amazon.com store is horrible. Worse, navigating through the various menus and options for accessing and annotating books also fails utterly at providing a quality experience. From what I’ve seen of its touchscreen interface, I’ll bet the Nook is a *hell* of a lot nicer to use in this regard.

But once I finally bash my way through the horrible interface to get to that damned book I want to read…. oh my.

The experience is nearly indistinguishable from reading the book on actual paper, except that I don’t have to lug my entire library around with me if I want to read more than one book at a time. There’s actually a very interesting article that discusses some of the reasons why this device is so much like actual paper, and how it works. I actually read somewhere that people on average read 6% faster on an e-ink display than on a device like the iPad.

I can see that. I mean… this e-ink display simply blows my mind. Once the initial awe wore off and I got into the business of digging into my current book (Zendegi by Greg Egan) I discovered that the Kindle just sort of vanishes from my hand and I feel like I’m reading any other book. This is especially true after the 3.0.3 software update that I downloaded, which streamlines some of the interface and significantly improves the screen refresh rate.

I definitely see this device been a boon to my life in the same way that my iPhone has been. The ability to carry my entire library with me, all the time, in an extremely light and comfortable device, is absolutely fantastic. I’m a happy customer.

Share

Dream Blaster!

  • Posted on October 2, 2010 at 8:18 pm

My friend and I decided to do a game jam today. That’s where you basically sit down with nothing and just make a game. It doesn’t have to be the best thing since sliced bread. You just get something made.

Here’s what we put together. It took us about 5-6 hours to do, with her never having used Flash before, and me never having written Actionscript 3 before. (I’ve been using Actionscript 2 for my various work projects.)

(NOTE: This is a link to the latest version, which contains 24 hours worth of work and demonstrates several game elements.)

Play my game!

Share

Game Name Change and Other News

  • Posted on September 26, 2010 at 12:36 pm

We’ve decided to move our “GJSet” game in a slightly different direction. To try to avoid copyright infringement issues with Set Enterprises, we’re changing the name of the game to “Combo Cards.” Additionally, we’re going to be working towards reworking the graphical assets to further avoid any possible copyright issues. Hopefully, when we’re finished, it will be acceptable.

I hired my friend Jamie Roberts to do the graphic art for the interface screens. She posted them over at her portfolio. For the link-phobic, here’s a pic of it alongside my programmer art version.

I’m really looking forward to bringing these into the actual game. I’ve been quite frustrated this year by my lack of ability to get any progress done on my own personal projects. As I said in my previous post, between work and physical fitness, I’ve had little time for other things.

In other news, last Thursday marked the second meeting of a new group that I’ve helped start. For two years now, I’ve had various artists and developers working with me on Combo Cards and my Arimaa implementation. Due to our variously busy and disorganized schedules, we’ve found it difficult to get anything done. So, my friend Jetta Robertson and I decided to redouble our efforts and organized a new group of people to work on projects.

We grabbed several of our good friends that are interested in game development and have begun working more formally on getting some projects out the door. Combo Cards and our Arimaa implementation were just warm-ups for this. Rechristening ourselves “Artless Entertainment,” we are focused on working together to get a real game put together and finished. Our current project is called “Across the Zooniverse” and is being developed in the Unity game engine. (Which reminds me, I should really write about that engine at some point.) We also have a website now! http://artless-entertainment.com! Unfortunately, it just links to my software projects page for now, but this will change quite soon.

We’re meeting every other week to discuss our project and plan our activities for the next 2 week period. So far, everyone seems quite excited about the project and there has been a *lot* of work done. Hopefully, this goes well!

Incidentally, I know I don’t actually have any/many readers, but if anyone out there knows of a good WordPress theme I could use for this blog, let me know. I really dislike the ones I’ve been finding and haven’t had time to find one that actually works better. I liked the Windows Vista-esque one that I was using, but it has some flaws in it that make it less than ideal.

So that’s your latest update on the state-of-the-joyce. Hope you enjoy!

Share

The Stories of 2010

  • Posted on September 15, 2010 at 9:35 am

2010 has been an incredibly busy time in my life, causing me to not be able to put much effort into working on this web space or many other projects. Let’s talk a little bit about what I’ve been doing, shall we?

Earlier in the year, I was working for a medium sized company doing application development for embedded mobile devices used as ultra-fancy remote controls. Our team was understaffed, and we found it difficult to keep things moving forward. Around February, I was promoted to team lead with a whole bunch of new responsibilities and work to do. It was a lot of fun, but shortly thereafter… my team was let go out from underneath me.

So there I was, doing the work of 3 people, all by my lonesome. The days *flew* by as I struggled to keep my projects afloat and still get everything else done that I needed to do. I was working long hours and accomplishing as much as I could. Honestly, it was a ton of fun, but it was also very all-consuming. It meant that I didn’t have a lot of time for personal projects or working on this webspace, since I was getting home so late after having worked very hard all day.

I’ve been spending what little free time I have doing a great deal of physical fitness stuff. I’ve done a bunch of hiking around the local area. I’ve travelled to Joshua Tree and the Grand Canyon, and I also went on another adventure to Zion National Park this year. Here, take a look at some photos from what I’ve been doing.

Photos from Joshua Tree National Park:

Photos from the Grand Canyon:

Photos from Zion National Park:

Alas, shortly after getting back from Zion National Park, I managed to break my toe, and then a month later, break my entire ankle on a hike out to see the Perseid Meteor Shower! Since then, I’ve been on crutches/in a wheelchair, waiting patiently for my body to heal.

In the meantime, in August, I received an offer for an opportunity to join TiVo, Inc to do UI development! It was an interesting way to start a new job: with a broken ankle. Oy.

With the extra time I have from not doing the work of 3 people at work in addition to not being able to go out and do physical fitness type stuff, I’ve been spending more time working on amateur game development again. Last week, my game development group got together with the intention of getting some more discipline put into our work and trying to more formally get some projects worked on and completed. We’re calling ourselves Artless Entertainment now, and I’m hoping that we’re able to do some cool stuff at some point.

In the meantime, keep watching this space. I have an entry on eXtreme Programming coming up when I get the chance to work on it, as well as basic project management. You may also see some of my older games get updated, finally! :)

(Anything expressed here is my content alone and has no bearing on that of my employer.)

Share