Skip to main content

Posts

Showing posts from 2016

One Game A Month: Off And On Again

Off And On Again is a series of light puzzles. You must turn all the lights on, but you must do so by flipping them in patterns. If you turn one light on or off, you'll be flipping lights around it, too. If you can find the right combination, you'll brighten up the board and move on to the next challenge. This was more than just a game. This was a public project in putting light on the hobbyist game development experience. Created over 25 hours, every single minute of the development of Off And On Again is available as part of a YouTube series Let's Make A Game . If you're interested in learning from this process and seeing what came out of it, you can watch the entire creation of Off And On Again and then play the game for yourself. The Series: https://www.youtube.com/watch?v=jlFKDVs9l3Q&list=PLg8XhO9Ilwl9Bw9h5wimuRgx5VrK3D-Kb The Game: https://play.google.com/store/apps/details?id=com.stonebirdgames.OffAndOnAgain

Why Am I YouTubing An Entire Game Development Project?

For a few weeks now I've been posting new episodes of a YouTube series I've been doing this month called Let's Make A Game . Now that I'm most of the way through the project, I wanted to think a bit about why I'm doing this, what I think people might get out of the videos, and what I hope to get out of it for myself. The best way I know to do that reflection is to write about it, and to share those thoughts. So, Why am I YouTubing an entire game development project?  Why would I put myself out there so publicly for anyone and everyone to look over my shoulder for twenty-five straight hours as I stumble, typo, and mistake my way through a skill I'm still learning and still very green on? And, why exactly would I think anyone  cares enough to watch me code, mostly in silence, for twenty-five hours? Why would anyone care to watch? The truth is, I don't really expect anyone to. And that's okay. Part of this project required  that I be okay with my own

Let's Make A Game Passes the Half-way Mark with Episodes 12 and 13

Interested in my process for making a monthly game? I've got two  new episodes up of my series  Let's Make A Game!  for a total of eight episodes to enjoy, so far. The project should include a total of 25 episodes by the end of the month. Let's Make A Game! Off And On Again Episode 12   Let's Make A Game! Off And On Again Episode 13 If you want to start from the beginning, you can find a  playlist of all the current episodes  with all the future episodes added when they're available. Of course, you could also subscribe to my  Stonebird Games  YouTube channel.

Let's Make A Game! Off And On Again, Episodes 9, 10, AND 11 Available!

Interested in my process for making a monthly game? I've got three new episodes up of my series  Let's Make A Game!  for a total of eight episodes to enjoy, so far. The project should include a total of 25 episodes by the end of the month. Let's Make A Game! Off And On Again Episode 9 Let's Make A Game! Off And On Again Episode 10 Let's Make A Game! Off And On Again: Episode 11 If you want to start from the beginning, you can find a  playlist of all the current episodes  with all the future episodes added when they're available. Of course, you could also subscribe to my  Stonebird Games  YouTube channel.

Let's Make A Game! Off And On Again, Episodes 7 and 8 Available

Interested in my process for making a monthly game? I've got two new episodes up of my series Let's Make A Game!  for a total of eight episodes to enjoy, so far. The project should include a total of 25 episodes by the end of the month. Lets Make A Game! Off And On Again: Episode 7 Let's Make A Game! Off And On Again: Episode 8 If you want to start from the beginning, you can find a playlist of all the current episodes with all the future episodes added when they're available. Of course, you could also subscribe to my Stonebird Games YouTube channel.

Let's Make A Game: Three New Episodes Available

My game development video project, Let's Make A Game , is still underway. There are three more episodes available, for a total of six episodes released so far. Let's Make A Game! Off And On Again: Episode 4 Lets Make A Game! Off And On Again: Episode 5 Let's Make A Game! Off And On Again: Episode 6 The game is shaping up well, and I'm getting a better handle on how to put together the videos. At the end of this project, I expect to have two useful results: Primarily, a finished game that's actually going to be fun to play. Secondly, but actually more  important for me,  I'm hoping that the structure and transparency of building the entire game while recording will help me learn to better focus, budget, and scope my game development projects. From here on out I'll continue to post a weekly update of the new videos to this blog, but you can subscribe to my channel if you'd like to see the videos sooner.

Let's Make A Game! Watch me make "Off And On Again"

Let's Make A Game! I've been making games to one degree or another for a few years, and I've really gotten into a rhythm in the last few months . This month I'm trying a new experiment and posting the entire process of building the month's game development project. I'll be publishing a stream of every single step I take in the process, broken down into 25 one hour episodes. I'm doing this for a few reasons. Firstly, I'm doing this for myself. The one hour sessions and the focus recording gives me on the task at hand are helpful. I think this is an interesting way to go about a project. I'd also like the strict schedule to help me study and learn more about the aspects of budgeting and scoping game projects that I have too little experience to be very good at. Secondly, I'm hoping someone out there gets some value out of this. My skill level as a game developer is still pretty low, but maybe its helpful for someone to see how someone learns

Finding "One Game A Month"

I was really excited about the One Game A Month challenge as soon as I heard about it. For about two years I've struggled in fits and starts to make my way into game development. This hasn't been productive in any of the ways I hoped when I started. Its really difficult to be fairly experienced as a developer, which I believe I am in my day job as a web developer, while struggling really hard at an area in which your experience just doesn't exist. Its like being a pilot who doesn't know how to drive. But this challenge provided a new breath to this little hobby of mine. It gave me a scaffolding to experiment, to learn, to reflect on finished projects. I had spent far too much time on game projects that stretched on far past their exciting phases, bogged down by bad decisions and regret. And it has worked. I have a lot to learn. I have a lot of experience to gain through trial and error and mistake and discovery. I have a lot of fun

ReactJS Tip: CSS Transition Groups and Vendor Bundling

Every developer finding their way around ReactJS is going to come across CSS Transition Groups sooner or later. These helpful components built by the ReactJS team but distributed separately help to manage animations related to adding or removing elements from a list. This is important in ReactJS, because the virtual DOM reuses nodes as much as it can, meaning what seems like a new element but really be reusing nodes underneath. You can read all about the  ReactCSSTransitionGroup  at the React documentation, but I want to note about one way you might trip integrating it with your project:  building vendor bundles for your dependencies. If you use  Browserify  to bundle your own code and its dependencies for distribution, you may be using the vendor bundle pattern. This is the practice of separating your distribution into two bundles: one containing your dependencies, including ReactJS itself, and one with your own project code. This is a good pattern because you can rebuild just y

Web Technologies I Need To Learn More About

I like to think I'm a good web developer. Getting here was the result of experience, practice, and constant curiousity. Lately, I've wondered if the passive nature of that curiousity has run its course. The pace and breadth of changing technologies as a web developer can be both breathtaking and overwhelming at times. What do I need to know about WebAssembly, WebGL 2.0, or the differences between Browserify and Webpack? Do I need to know about any of them at all? How do I learn enough about each just to understand if its something I need to understand even more deeply? Beginning an effort to make that ever driving curiousity more directed, here's a list of things I don't know enough about, but would like to study better. Webpack I know  that Webpack can replace Browserify and recently have understood it may replace some (or all?) the ways I use Gulp today. I don't know  if the change would impact more projects beyond the build scripts or how much time or

Becoming a Better Developer on Purpose

I’ve become a much better developer than I was when I began working professionally a decade ago. I feel confident enough in my abilities to recognize that I have improved the breadth of my skill set and the depth of understanding I’ve built in the areas I have poured the most focus into over the last few years, especially. One of my strongest, most developed abilities is the ability to recognize and pick apart my own skills critically. I feel good that I can say this is not Impostor Syndrome, something that has certainly afflicted my professional career for most of the years I’ve been at this. What this is, rather than irrational undervaluing of my skills, is finally getting to the point that I realize  I’ve spent years getting better passively and accidentally, and I need to develop my skills into the future actively and intentionally. So to start this new focus on developing my skills, I’m writing this as a starting point, an exploration, and an invitation to anyone who identifies

Evernote: a Landscape of Experiences

I’m going to take some time out of absolutely loving Evernote for keeping me on task and organized throughout the day to talk about what, I think, is absolutely the worse thing about it. Evernote is a completely different application on every platform and device it supports. For a product who’s main gimmick is keeping you organized and your data synced between all of your platforms and devices, that’s sort of a really hard knock against them. The Evernote for Windows application is great, but so is the Evernote for Mac application. These are quite different, and not just in the ways that usual differ between Windows and Mac to fit the platforms well. They are just fundamentally different applications which coincidentally happen to be sharing your data. Beyond the two desktop Evernotes, the problem only gets worse. Evernote for Android is yet another experience, with yet other features different from the two Desktop versions. The most jarring differences between these versions are dif

Publishing ES6 Modules on NPM

I had an adventure over the last couple days with ES6! There was a pattern I'd already used in a few of my React projects to make ES6 classes a little nicer. ES6 did a lot to make working with  this  mechanics nicer, but there was a still a gap that bit me: the sugar provided by ES6 classes don't extend to keeping method bound to instances of the class. Maybe you, like me, would expect this to work: class Counter { constructor () { this . count = 0 } onClick () { this . count += 1 } } counter = new Counter () document . querySelector ( '#add-button' ). onclick = counter . onClick But, like non-class methods on any regular Javascript object,  onClick  will loose its binding to the  Counter  instance. There are a few existing solutions to this, but I wanted one that didn't change the syntax of defining a method on these classes. Enter AutoBind, via my new NPM module  es6-class-auto-bind : import AutoBind from &