I’ve created a demo for a genetics mechanic.
This is not a playable game, as it isn’t interactive. It’s just a demo of a breeding mechanic.
To explain what’s going on a bit: (more…)
I’ve created a demo for a genetics mechanic.
This is not a playable game, as it isn’t interactive. It’s just a demo of a breeding mechanic.
To explain what’s going on a bit: (more…)
As covered by GameMakerBlog, YoYoGames has announced a special 60% discount sale for developers using GameMaker: Studio Professional only, allowing them to upgrade to Master Collection for $199. The special discount extends through 3/31/13.
This limited-time special offer is apparently in response to a situation affecting Professional licensees who had no cost-effective upgrade path to allow them to convert their existing investment to a Master Collection license. Following the recent release of the Ubuntu build target module, a paid upgrade for Professional users, there were complaints of unfair pricing affecting Professional licensees.
The big advantage for owners of a Master Collection license is that any future Game Maker build targets that happen to be released are automatically included as free updates, while GM:S Pro licensees have to pony up more cash for each piecemeal upgrade, thus making Pro a much more costly way to get all the features available in the Master Collection. As the Master Collection grows (and we don’t really know how much more, or if, it will grow), this disparity will only increase.
While this is a fine gesture on the part of YYG to respond to Pro license holders who asked for cost-effective upgrade path to the Master Collection, I still think it makes more sense for YYG to make it part of an ongoing pricing strategy, similar to the “Anytime Upgrade” option Microsoft made available to Windows 7 users, which would enable them to upgrade to higher product tiers for the difference in cost from their present tier, at any time. Hopefully YYG may yet make such a change to their licensing model — if you’d like to see that happen, I encourage you to send them feedback.
For now, this seems to be a good opportunity (and perhaps the only one) for any serious GameMaker Studio Professional users who may want to upgrade to the Master Collection.
Packt Publishing has announced an upcoming new book, HTML5 Game Development With GameMaker, by Jason Elliott, tentative publication date in late April 2013.
I provided technical review/editing of the book, and so I can say that it should be a good book if you’re looking to get into the newer features of GameMaker Studio. While the book focuses primarily on HTML5, almost all of the book is generally applicable regardless of what platform you wish to target.
Highlights include:
Something that interests me greatly with making things is the process by which the maker transforms from a novice to a master. This is a process of learning primarily by doing and through experience. Things like reading about a subject, interacting with peers, or watching others demonstrate, or abstractly thinking about a topic all contribute to learning, but none so much as actually doing things.
To the greatest extent possible, one should endeavor to spend their time doing and making. Get outside of your head and make. Do not exhaust yourself while making and doing; give yourself opportunity to observe what, how, and why you are doing what you are doing, and take time to examine and reflect on these things. Then apply what insights you gain from this into your next doing and making.
As I have progressed in learning GameMaker, I have observed a few distinct phases in my development. I don’t know that I’m at the highest level yet, or if there is a highest level. But as a gamer I like being able to categorize things and assign levels to them :-)
I really wish that I had had something like this to guide me as I made my progress, so it makes me really happy to have written this. I think it can help a less-experienced developer have some idea of a criteria of competencies so they can figure out how to get better, things to look for that can help them get there without having to figure it all out for themselves. It can also help a mentor recognize where their protegé is at in their development and help them identify areas where they should focus in order to improve.
Here’s a summary of my progression as a GM Dev to date:
Complete ignorance. It’s a struggle to do anything.
All you can really do is follow instructions in a tutorial, most likely doing things with drag and drop actions. And sometimes even that is frustrating.
Despite the instructions being clear and straightforward, you still have a hard time following them because you have questions that are so basic that the people who wrote the tutorials don’t even realize that you would have them.
If you’re trying to follow written instructions, you wish that instead of still images, you had an animation showing where to click and what to type. The instructions use terms for user interface widgets in the IDE that you aren’t familiar with yet, leaving you to guess until you figure out what they mean.
Six months or so later, you think to search for tutorial videos on YouTube, and find a bunch, although they’re not really much better because of amateurish production quality, and by this point you’re well beyond needing them anyway. Still, there’s a few good ones on topics you’re not yet clear on. (more…)
Last Saturday, I attended and spoke at GAME.Minder Expo, held at Shaker LaunchHouse. after taking ill in January and missing the 2013 Global Game Jam, this was a great day to jump back into the Game Dev scene.
It was a relatively small event, but still probably the biggest local game dev event that I’ve been involved with to date. Organized by Handelabra to promote their studio’s mobile gaming efforts and the GAME.Minder podcast, and local area game developers in Ohio. Turnout was almost 40% higher than expected, with the official attendee count at 136. The Keynote talk was presented by Ian Schreiber, a co-founder of the Global Game Jam.
A bunch of us CGD people had dinner with Ian and his wife, and he said that we are getting big. It has been wonderful to see the local independent game developers organizing and building up our community and create a scene, and to be a part of making that happen.
Members of the Cleveland Game Developers meetup were well represented. I gave a brief talk on GameMaker, Jarryd Huntley talked about Construct2, while Brian Gessler and Justin Demetroff delivered a talk on Unity3D. Ian Faleer and Stephanie Frankiewicz gave a talk on the Art of the Game. And the folks from HashTag Nerd had a booth set up. There were a few other presenters as well. Videos are still being uploaded, but a number of them are already available on GAME.Minder’s Youtube channel.
The evening event was a screening of the Kickstarter-funded documentary Minecraft: The Story of Mojang. The movie was excellent and inspiring.
YoYoGames announced today that they have released a new build target for GameMaker Studio: Ubuntu Linux. It’s great to see YYG supporting Linux as a target platform, even if GameMaker does not embrace opensource principles. To add the Ubuntu build target to GM Studio Pro, it’s $99; if you have a Master Collection, it’s a free addition.
Master Collection is becoming an increasingly good deal with all the additional components provided and any new ones that come out entitled to Master Collection licensees.
Any time YYG releases a major new feature for GameMaker, I revise my wishlist for what I’d like to see from them next. Here’s what I’d like to see in future releases of Game Maker:
A few days ago, I noticed site traffic had suddenly dropped.

Day 1 and 2, I didn’t do anything. I had noticed that the traffic was unusually low midway through the day on the first day, and thought it was curious, but I didn’t really worry about it. I was pretty busy those days and didn’t have time to look into things. I figured it might just be a fluke, much like I will occasionally see a traffic spike, and that it might correct itself.
After the second day, I wondered what was up. Had I been de-listed from google? I checked, I had not. I started googling “sudden traffic drop wordpress” and read a few articles.
Then I noticed that wordpress wasn’t serving the site properly. I had only been in the admin console and didn’t check the actual site, but when I went to read the home page, the web server just spat out a bunch of encoded gunk.
At first, I wondered whether the site had been hacked. I logged into the admin console and now WordPress reported that one of the plugins I use was giving an error. I disabled the plugin, and the site started serving properly again. Phew! I removed the offending plug-in entirely, and things seem to be back to normal.
Traffic bounced back almost immediately — yesterday I lost about a half day’s worth of traffic because I fixed the problem around the middle of the day. Today, at around 10am I already had a little over 50 hits, which seems about normal. By the end of the day I’d expect to have somewhere over 100 hits, which is back within the normal range of what I have been seeing in recent weeks.
I’m still not 100% sure about a few things.
Site stats during the “outage” days were very low, but still not zero. If wordpress was serving corrupted junk, I would expect that the stats should have been exactly zero. Stats for those days show that certain articles were still able to be reached, albeit by a much smaller number of visitors than previously. So, I’m not entirely sure when the plug-in error began or when it resulted in wordpress serving corrupted pages. It could be that stats counting is off somehow (wordpress documentation suggests that it is somewhat inexact, although I don’t fully understand the causes), or it could be there’s some other explanation (does a visit to a google cache of my site somehow increment my stats, perhaps?)
I think it would have been nice if WordPress could have been a little more active in notifying me of the error. I liked that it displayed an error message when I logged into the admin console, but it didn’t do that until three days into the low traffic — I think probably because the account I normally use to log in with is just an authoring account that doesn’t have full administrative privileges. When I logged in with my account that had admin privileges, I saw the errors, and it immediately told me where the problem was so I was able to fix the problem quickly. Which, is great and all, but even better would have been if WordPress had sent a notification email to me, so that I would have been aware of the problem right away, without having to log into the site.
This Saturday, I’ll be at a Cleveland Game Devs meetup, where we will be giving lightning talks in preparation for the upcoming Global Game Jam happening later this month. I’ll be giving two talks, one on setting goals, and one on keeping the momentum. Following are my notes for the talks.
A weekend is not a lot of time to make a game! To get the most out of your weekend, you need preparation and mental discipline. Having goals will help you focus and get the most out of your jam weekend.
So what should your goals be?
Your goal should be to make a game! Easy as that.
Really, though, it is best if you have at least some game making experience before you try to fly solo. Do look for a team to join, and see what you can offer them. Focus on delivering a skill from your repertoire of strengths, and integrating well with the team. If you can get anything back from the team, hopefully it will be insights into skill areas where you are lacking, techniques that you can apply in those areas, or exposure to new tools that you can start to learn.
If you have never made a game in a weekend before, likewise your goal can be to complete a game. It can be done, as proven by thousands of people. Before jams became popular, most people thought it took months or years to complete a game project. We know now that this simply isn’t so, and the amount of work that can be accomplished in a weekend can be incredible. Still, like running a marathon, it’s hard to believe until you’ve done it yourself.
It feels really good to have this accomplishment under your belt, so if you haven’t completed a Game Jam, this should be the only goal for you.
Even if you don’t make it this time, but still want to keep trying, then focus on learning what you can from the experience. If you weren’t able to complete the game you wanted to make, why was that? Did you lose track of time? Did you plan for more than you could possibly deliver? Did you struggle to implement something that you felt you could do, due to inexperience or pressure? If you couldn’t figure something out in the weekend, don’t give up – keep working on it after the jam until you figure it out. That way, at the next jam, you won’t be stopped by that failure again.
Don’t be afraid to fail, but try to fail early, and always fail at something new.
Then you can make a few more choices… completing the game may not necessarily be the most important thing once you’ve proven that you can do it. Be willing to take greater risks.
Once you’ve proven to yourself that you can do it, if you enjoyed the experience enough to want to repeat it, you should keep going on to bigger and better things. Participate in as many Jams as you can find time for, and make it a goal to do more with each new game, always improving on your last effort.
This is a personal choice, and it depends a lot on where you’re at, where you want to go, and what your strengths and weaknesses are. Here’s a few areas to consider.
Learning/Experimentation. It’s only a weekend. If you fail, it’s no big deal. You only lose a tiny amount of time, and you can learn so much. So take risks. Try something you haven’t done before. Make your focus learning and experimentation.
Be willing to accept a failed concept, incomplete game, or failure to complete a submission. Ideally, you still want to make a game so you can show off what you learned and receive feedback on it, but it’s less important to have a good game than it is to learn from the experiment. If you want to have the best chance of having a finished game by deadline, limit your experimentation to one thing only. For everything else, stick with what you know.
I don’t recommend picking up a new tool to experiment with. Rather, do something different using a tool you know well. To complete a game in a weekend, you just don’t have time to learn a brand new tool that you’ve never used before. Using new (to you) tools won’t get much you recognition, but new game design concepts often do, even if they are not successes.
Still, if you really want to try a new tool, it can give you a taste of the tool, enough to give you a sense of whether it’s something you want to devote time to mastering.
Ideas for domains to experiment/learn with:
Each of the above is still quite broad – don’t be afraid to get much more specific when coming up with your ideas for experimentation. But do decide on the specifics late – once the theme is announced, and you are starting to come up with concepts for your game is a good time to narrow down the specifics of how you will experiment with in a domain.
Teaming. Step up and be a leader. Try to organize a team.
Or just be on a team. A team needs more than just leaders.
The thing a team needs most is do-ers, without ego, who can communicate. Never forget this.
Leadership does not mean making decisions for the group; it means helping the group to come to agreements about the decisions it makes together.
Community. When I say “community,” primarily I’m thinking of all the participants in the jam who are not part of your immediate team. This could be other groups at your location, or they could be other groups anywhere in the world.
The jam is when everyone comes together to make something and show off and share with each other. This is the best time to make new friends (or grow existing friendships), and get to know the community. Play and review games made by other groups – make note of who created them, and follow their projects. Make it a point to get to know the people and learn about them. Follow them on twitter, visit their web site, and learn about their other projects. Who knows, they may live nearby! Drop them a line and let them know you like their work.
The essence to community is giving. The community is indifferent to most of its members, but it recognizes their greatest contributions. To stand out, give the most. Exchange your knowledge and skill – be willing to sacrifice a little dev accomplishment for a little knowledge spreading. Make a game so you can get feedback from the other jammers. Give feed back on the creations of others. Write tutorials. Build and share your own tools.
Winning. If you’re a true pro, and your team is functioning like a well-oiled machine, this is what you should go for. Make the best game you possibly can in the time allotted. Go for it, try to win! Learn how the event is judged, and try to do well in those areas where you feel strongest. Focus on your strengths, or if you’re working with a team, let each team member focus on their strengths, once all areas of project have coverage. Your experimentation should be minimal – stick with what you know you can do well, and know will work. It’s all about coming up with a good design quickly and executing.
Take a balanced approach. Try to do a little bit of everything. After all, it’s pretty hard to complete a game without doing a little bit of everything. But still put an emphasis on one area or another.
For me, I try to take a balanced approach. I stick with what I know well for about 70-80% of the project, but try to make learning something new an important goal on top of simply finishing a game. I don’t care about “winning” the jam, but I want to do better than my last jam. I also try to be involved in the community in order to get inspiration from what other developers are doing, and to build reputation as a designer/programmer.
Be Flexible. The weekend will surprise you. Be adaptable to the surprises, because they offer you opportunities. The best things about a weekend jam are the things that you couldn’t have predicted beforehand. Don’t set out on a mission to complete a rigid list of goals, but have a number of potential goals in mind, and be willing to drop one in favor of another if the right opportunity comes along. If you try something and see quickly that it’s not going to work, or that you wouldn’t be able to finish it by deadline, it’s OK to drop the idea and go with something else.
A very good use of your time in a game jam will be to incorporate your longer term goals when choosing your goals for the weekend. Successful people tend to set long term goals and work toward them by taking many small steps.
http://en.wikipedia.org/wiki/SMART_criteria
I was pretty pleased with how Bad Puppy turned out, so I hoped that my placement in the rankings would be higher this time than my previous entries. I did see a modest improvement in my scores overall.
| Ranking | Category | Score (out of 5) |
|---|---|---|
![]() |
Coolness | 100% |
| #70 | Humor | 3.55 |
| #274 | Fun | 3.04 |
| #312 | Audio | 2.57 |
| #426 | Innovation | 2.71 |
| #450 | Theme | 3.00 |
| #490 | Overall | 2.76 |
| #526 | Mood | 2.47 |
| #636 | Graphics | 2.18 |
The 70th place (out of 902 Compo entries) in Humor is the best ranking I’ve had in any category in an LD compo game so far. So hey, that’s something. I’m in the top 10% in the Humor category.
Comparing to my previous LD games, here’s how I did:
| Category | LD23 | LD24 | LD25 |
|---|---|---|---|
| Coolness | 56% | 100% | 100% |
| Overall | 2.76 | 2.82 | 2.76 |
| Innovation | 3.41 | 2.58 | 2.71 |
| Fun | 2.62 | 2.58 | 3.04 |
| Theme | 3.34 | 3.20 | 3.00 |
| Graphics | 2.75 | 2.22 | 2.18 |
| Audio | 2.07 | 2.60 | 2.57 |
| Humor | 2.07 | 1.86 | 3.55 |
| Mood | 2.68 | 2.70 | 2.47 |
I’m a little surprised that I didn’t do better in the Graphics category this time around, since I actually had animated sprites in this game for the first time. And they were pretty cute, I thought, if primitive. But I am pleased to see marked improvement in Humor and Fun, which were the things I focused on when I made Bad Puppy.
Recently, I wrote up a design analysis of my game for Ludum Dare 25, Bad Puppy. Mostly, I had positive things to say about what worked about the game design. Having continued to develop the game since then, and having played many more hours in testing and for fun, I’ve noticed some flaws in the design, too, so I feel like talking about them.
I did all of my game development on a 1680×1050 screen. When I developed the game, I wanted it to play in fullscreen mode, with the room scaling up or down to fill the display. I coded a routine that dynamically sized the “room” to the exact size of the display. But, although the room changes size, the player and enemies do not. Since they do not scale up or down, this means that on a larger screen, the player has much more room to run around and avoid the enemies, which makes the game much easier; conversely, on a smaller display, the game is much more difficult. I felt like the game was about “just right” at 1680×1050, which means that above that size it’s probably too easy, and below, too hard.
This also means that high scores are not directly comparable on different systems. I will have to keep this in mind when I eventually implement the online highscore system. Either I’ll have to standardize the room size, which involves its own trade-offs, or I’ll have to create different scoring categories for each screen resolution, and then do some order-by stuff with the query that displays the rankings, which fragments the player community.
Another shortcoming, on the Instructions screen, the text cuts off at the bottom if the resolution is smaller than 1680×1050. I need to fix this, but haven’t gotten around to it yet.
Safe spots are places in a game where it is impossible or dramatically harder to get hurt. Many games, particularly in the NES era, featured “safe spots” as a kind of strategic place where you could safely attack certain enemies, especially bosses. Safe spots can ruin gameplay if they make the game too easy. The worst offenders are games where you can just sit in one place, and hold down the attack button, and win. There is no difficulty to such a game, beyond finding the safe spot in the first place. Many games have temporary safe spots, which are better, because they give the player a short-term advantage that they can exploit, but they still have to remain actively engaged in order to prevail, and usually learn a pattern, or a behavioral trick that they can use to manipulate the AI to make the enemy do something stupid, like get stuck or attack in a way that always misses.
Bad Puppy does not have a static safe spot where you are always safe, but it does have a certain amount of exploitable AI behavior that gives rise to a dynamic safe spot. Because of the way I constructed the hitbox for the AI petters, if you walk upward you can avoid taking “damage” most of the time, as long as you can avoid walking into the bottom of a petter who is above you. The AI will continuously home in on you, so you always have to keep moving, but if you can run around the crowd of petters, they get herded into a bunch, and if you then stay above them, escaping through the top of the room when necessary, it’s pretty easy to avoid petting.
A skillful player should be able to discover effective tactics and use them in order to play for a better score. As a designer, I do want there to be ways to play that the players can discover through trial and error that will lead to improved scores. Ideally, though, the gameplay should be rich enough that there are a variety of valid approaches, and not one dominant strategy that breaks the game.
One of the weaknesses of Bad Puppy is that the gameplay is a bit shallow in this regard. I noticed this early on, so my very first post-compo improvement was to add a bonus pickup system. In retrospect, it was a pretty glaring omission from the original design. I wanted a retro style, and bonus pickups are a very common trope in retro arcade style games. Even though picking up the bonus items is completely optional, it still seems to dramatically change the way people play the game. People want to grab the bonuses, and are willing to take risks to get them, even though all they get is points, and even though it is safer to just concentrate on avoiding people and herding them.
Still, a frequent suggestion that I’ve received from players is to add additional mechanics to the game. They want the puppy to bite, or pee, or do something else besides just running and barking. So while the bonus pickups definitely added some depth, I’m not sure that they are enough by themselves.
All the other post-compo features that I’ve added so far have been cosmetic enhancements — adding a female petter, varying the skin color and clothes colors. They help make the game less visually monotonous and add flavor. I haven’t added any new gameplay features since adding the bonus system because I’m not yet sure from a gameplay standpoint what the game needs. The game feels a bit one-dimensional, but, aside from that, what’s there feels pretty balanced and fun, so I’m not sure what I should add next, or how it could integrate to the whole that is there already.
One of my goals with the You Are The Villain theme was to create a harmless villain, because I just couldn’t stomach making a game about a being a villain on the same day of the Sandy Hook shooting. And my original concept was to make the puppy a reincarnation of Hitler, who was weak and powerless, all bark and no bite. I liked the idea of a powerless Hitler. I didn’t want to make the puppy so bad that he could actually hurt people, and I’m not clear how either a pee or a bite mechanic would add depth to gameplay. The existing gameplay, while shallow, is pretty solid, and new features should not feel “tacked on” or ruin the balance of existing play mechanics.
When adding gameplay features, I think it’s important to be gameplay-centric in your thinking. The suggestions I’ve received, I think, have been character-centric; the feedback feels like it came from asking the question “What else do bad puppies do?” In my opinion, merely adding features to the puppy to give it more attributes of a real-life puppy would not be good for gameplay. Better, in my opinion would be to make observations like, “I’m running away all the time. I find myself wishing I could get the upper hand.”
One thing that could lead to deeper gameplay would be a mechanism that resulted in some sense of advancement. It would need to be necessary — something the player has to do in order to keep playing, and that gives the player a secondary goal and sets up internal conflict between barking/running and whatever the secondary goal is. I plan to explore this idea and see what I can come up with.