Gazing out into the Night

  • Posted on April 27, 2012 at 12:17 pm

People that know me well know that I’m an intense and emotional person. I don’t have small reactions to things. I want to share about astronomy for a moment.

5 years ago, nearly to the day, I was driving west along I-80 heading out from Cheyenne, WY on my great road trip to start my new life out in California. At one of the many rest stops we stopped at, I got out and looked up at the sky and *SAW* it for the first time. What I saw was no 2 dimensional array of white dots on a black background, but a 3 dimensional window into our galaxy

That day, and every day since when I have had the opportunity to go to dark skies where I can clearly see the wonder above us, I am filled with a sense of something…. profound.

It’s like… when that happens… my sense of the universe expands. For that moment, I don’t just *think* that I am a part of the galaxy. I *see* it with my own eyes. I see the mists of our home galaxy stretching into the distance. I see, clearly, that I am clinging to the thin skin of a tiny planet, racing through the universe in a gravitational dance with stars and matter all around us. My imagination, fueled by the knowledge of astronomers and scientists collected throughout the past, resolves the images before me into a picture of a universe full of things incredible, phenomenal, and unbelievable.

I am on a journey. I look “up,” but not up at our sky but *UP* out of our galaxy, or *ACROSS* our galaxy, or *THROUGH* our galaxy. I look out to other galaxies, and I can imagine what our galaxy looks like from the outside. I see our fellow travelers, the dwarf galaxies and perhaps “failed galaxies” called globular clusters travelling alongside our galaxy. I see stars swirling around one another, nurseries of stars, baby stars, dust clouds where stars are being born, dying stars, dead stars… a universe of weird, wonderful, and amazing things that I never dreamed could be real. A lifecycle. A pattern. A reality full of beauty and splendor beyond anything I have imagined.

My entire sense of up, down, and sideways transforms to the scale of the galaxy, or of the solar system. My entire sense of identity and self and existence changes as my mind grows to encompass and understand what I’m seeing. The universe stops becoming this thing *OUT THERE* and it becomes part of me. I am swimming alongside everything there. I am flying with the planets. I am swinging through nebula. I am spinning with Castor.

My perspective is shifted, and I see our planet truly as a tiny speck of dust floating in the cosmos. What can our greatest struggles matter in the face of the sheer awesomeness and immensity of all that lies beyond our thin skin of air on this speck of dust… on this spaceship of rock we call Earth?

This happens every time I see the sky on a clear, dark night. And the deeper I look. The more I learn… the more profound the sense of being one with what I see there becomes. The more I realize just how truly connected I am to all of the cosmos. The more I realize how much the universe has to offer, and the more I dream of what more is hidden from view.

Share

Astronomy Log: To the Moon!

  • Posted on February 5, 2012 at 2:45 am

Overview:
Time: Midnight – 1am
Location: Santa Clara, CA (37.343704,-121.976636)

Conditions:
Light Pollution Level: 7

Completely Clear

Local street lamps and the moon were causing large levels of light pollution.

Observations:
Constellations: Orion, Taurus, Auriga, Canis Major, Gemini, The Big Dipper, The Seven Sisters
Stars: Rigel, Betegeuse, Polaris, Arcturus
Moon: Mare Serenitus, Mare Tranquitus
Planets: Mars

Our primary mission this evening was to check out the moon, and boy was that wonderful. We identified the seas of Tranquility and Serenity, and even identified the locations, roughly of two moon landings.

The Pleiades were almost invisible. In the binoculars, they were about as bright as we could see them with the naked eye on 1/28.

Jamie was able to look at the Orion Nebula and see that there were more than one star at the heart of it. I was unable to see the Nebula itself as anything more than the faintest of smudges.

Mars appeared red and small in the binoculars. I was surprised at how small it was compared to Jupiter, despite being so much closer. With Jupter on 1/28, I was able to see it as a small disc. Mars appears only as a bright reddish dot.

We determined that our naked eye visibility was thresholding around magnitude 4, based on our observation that the Orion Nebula was nearly invisible to the naked eye and it has a magnitude of 4.

Share

The Lifecycle of a Personal Blog

  • Posted on February 1, 2012 at 2:37 pm

The common lifecycle of any personal blog on the internet is as follows:

1) Rapid early updates and development.
2) Increasing time between posts.
3) Huge delay in posts over a year or more
4) Inevitable apology post about work having taken one away from blogging.

This would be me entering stage 4 of this lifecycle.

I began this blog as a way to create a professional presence on the internet. I wanted to present my abilities, concerns, etc. on the net as a way to try to improve my ability to professionally network with others. I also wanted to use it as a place to showcase the various creations and projects that I work on.

Unfortunately, as is the case for many blogs of this nature, I wound up attracting the attention of a really cool employer and getting a great job, in this case, with a little streaming video company called Netflix, Inc.

I work on the Device UI team, helping to build the user interface used on all of the myriad devices that support the Netflix application. For most of my first year here, I worked on the Adobe Flash application for partners that use the Flash runtime for their applications. Recently, I’ve moved over to the HTML TV UI team, which develops the application used on the PS3, Wii, and other devices using HTML5, CSS, Javascript, Webkit, etc.. You can read more about my work from one of my teammates here.

As you might imagine, working for such an awesome company has captured my imagination and creativity. Instead of personal projects, I invest most of my time and energy into my job, learning new things, building new things, and helping my employer continue to offer better and better experiences to users.

Perhaps if my other hobbies weren’t so all-encompassing, I’d have more time for personal projects, blogging, etc., but one of my hobbies involves taking classes and learning ASL, American Sign Language. Anyone that has learned a new language can relate to how much of an investment it is to learn a new language, if you *really* want to learn it and not just get a passing familiarity with it.

Anyways… There you have it. I’ve been swallowed by work and school. I do plan and hope to get back to this whole blogging thing eventually, but for now, this blog is on a bit of a hiatus. We’ll see if things change. :)

(Note: Please be aware that any opinions or values expressed by me are my own and should not be construed to necessarily represent those of my employer in any fashion.)

Share

Astronomy Log: Initial Explorations

  • Posted on January 28, 2012 at 2:35 am

Although I don’t have time for personal technical projects right now, I have invested a little bit of time in learning some astronomy stuff of late. I thought I’d share some of my astronomy logs.

Notes:
Light Pollution levels are as seen on the dark sky finder map found here

Numeric Legend
0 – Black
1 – Gray
2 – Blue
3 – Green
4 – Yellow
5 – Orange
6 – Red
7 – White
Decimal values are visually estimated based on proximity to light pollution level boundaries. For example, something at the edge of blue/green is a solid 3, whereas something in the middle of an orange between yellow and red would be a 5.5

Overview:
Time: 9pm – 11pm
Location: Turlock Lake, CA just east of Modesto, CA (37.626435,-120.595475)
New Equipment: 10×50 Binoculars

Conditions:
Light Pollution Level: 3.5

Slightly Cloudy and Hazy, especially towards 11pm. Relatively clear towards 9pm.

The moon was causing some difficulty looking to stars in that direction, but things started to improve around 11pm close to when the moon set. Unfortunately, by this time atmospheric conditions were starting to become poor.

Observations:
Constellations: Orion, Taurus, Auriga, Canis Major, Gemini, The Big Dipper, Ursa Major, The Seven Sisters, Leo, Cassiopiea
Stars: Rigel, Betegeuse, Polaris, Arcturus
Planets: Jupiter, Mars

It was amazing to view so many stars this first night. A great deal of time was spent simply learning the constellations and learning to see our way around the sky. Our eyes rapidly adjusted to the darkness, and more stars began to appear. Whenever a plane flew by, the strobe lights on it seemed like bright flashing lights directly in our eyes, instead of being the small light far off. A favorite moment from the evening was when my friend Lenoh saw a “cloud” and I said, “That’s no cloud… that’s a star cluster” and introduced him to the Pleiades.

And oh what a sight that was. In the relatively good conditions we were in, the pleiades stood out as an amazing star cluster, a collection of hundreds of stars. Wow!

Also, it was fascinating to look at Jupiter and see it as a disc in the binoculars instead of a tiny white dot like the rest of the stars.

It was also amazing to look at the moon and see it as a three dimensional object instead of a bright thing up in the sky.

My favorite experience was sitting and staring at the Orion Nebula for several minutes, watching it resolve in and out as my eyes caught glimpes of it. Amazing and breathtaking. I could have stayed there for hours if it wasn’t so cold!

And Oh Wow! Stars have color!

Share

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