Fun plays from Ludum Dare 28

I don’t get to vote on LD28 games since I didn’t submit a game of my own, but I can still play them. Here are a few that I found worthwhile so far… these are in no particular order, other than the order I found them.

Asshole Ducks

Asshole Ducks

I love this take on the theme, “You Only Get One”. Gameplay has the feel of an Atari 2600 game, although the graphics are not done in that style — in the early 80’s game designers took a lot of inspiration from everyday life and would take demented inspiration from seemingly mundane activities such as crossing the street or sorting baggage. Asshole Ducks fits right into that type of game concept — you’re feeding ducks, and to make it fun you’ve made a little game out of it, the goal being to feed each duck exactly one piece of bread. But of course once a duck gets a taste for bread, it turns into an asshole and tries to eat all of it. It’s hilarious how well this reflects real-life duck behavior. Despite it being a bit of a one-trick pony, it’s quite fun to play, and pretty difficult. Graphics and sound are crude, but not essential to the success of the game, which is all about gameplay, humor, and that slice of life that is familiar to anyone who’s been to the park.

Javel-ein

javel-ein

Javel-ein is great. Full stop. One of the best games I’ve played in a long time, and one of the best LD48 games I’ve ever played. It’s amazing how well done it is, in all aspects, but particularly core gameplay and level design. It’s a fairly standard platformer, but with a twist. You move using the arrow keys or WASD, and you aim and throw a javelin with the mouse. You Only Get One, so once thrown, you have to retrieve it before you can throw again, leaving you defenseless in between shots. The enemies are just challenging enough, and you have to kill all of them before you can activate the gateway to advance to the next level. You have to stay alive, can’t get hit once or touch lava, and there are also optional bonus pickups scattered throughout the levels for added challenge. Graphics are quite good for the style, using an amazing 16-color palette. The only weak point is the sound effects, which are typical bfxr blandness, but fill the intended purpose adequately. Early levels aren’t terribly challenging, but it ramps up pretty quickly, and the “boss” at the end of the enhanced edition is one of the best, most satisfying videogame battles I’ve won in a long, long time, overcome only by mastery over the controls AND a shrewd strategy that I discovered after dozens of attempts.

A Ronin Heart

A Ronin Heart

Just as impressive as Javel-ein, but a bit less innovative in terms of play mechanics; in this action platformer, your “only get one” thing is your life — take one hit and your artificial heart is cut loose, and you have a few seconds to try to grab it before you die. Since this only comes into play briefly, when you get hit, it doesn’t open up a lot of potential for interesting play, but it’s every bit as well polished as Javel-ein. A strong art style evokes Edo period Japan, the pixel samurai animation is rendered masterfully.

I Can Haz One?

I Can Haz One?

Even though this is a very simple game and kindof stupid, I still like it. The cat is cute, the music is cute, and it is fun to see all teh thingz u can hazzing. Joo r a cat, things fall from teh skyez, an joo haz to haz only one thingz. Try to haz teh moast raer thingz to get moar pointz.

You Only Get One Chance To Save Xmas

youonlygetonechancetosavexmas


Simple, but fun. You run around a shopping mall, trying to find the right colored gift for each person on your list before time expires. Shove other shoppers out of your way if you want to. The minor-chord variant on “Jingle Bells” is fitting. This could really be a fun holiday satire title if developed a bit more — I think there should be a Boss Santa or something that you have to fight at the end.

Ninja Kun’s Final Exam

ninja_kun

This difficult platformer provides challenge through stealth puzzles. You must evade the samurai and get to the door. The samurai are very difficult to defeat if they are alert to your presence, so your best bet is to sneak around them with your stealth, or to hit them with a shuriken while they are still unaware. You can use a rope to climb to the ceiling and hang, which makes for an interesting alternative to jumping, which you also can do. The graphics are well done, cute pixel art, similar in style to the original GameBoy. The major downside is the controls: using the left/right arrow keys to run, up/down arrows to use the rope, space to jump, and the number 1 key to shoot a star makes for a very awkward control layout. Also, if you make any mistakes, you start all over from the very beginning — I really wish the doors served as save points.

1111 pt 1

1111pt1

This literal take on the “You only get one” theme is brilliant. Flying around in space, shooting numbers >1, breaking them down to 1’s, collecting the 1’s to gain points to power up and face ever larger numbers.

The game is very easy, there’s no real challenge here, just button mash your way to victory. But it’s fun to see how your ship changes as you level up, and the interesting forms the higher numbers take.

 That One Coin

thatonecoin

This is a simple platformer, but it comes with a twist. You can win simply by collecting ONE coin. So the challenge becomes how far can you go WITHOUT collecing a coin? It’s like a very difficult platformer where one mistake kills you, but instead of ending the game through death, it ends it through “rewarding” you. It’s an innovative gameplay idea that turns the game on its head. Core gameplay is not terribly sophisticated — I’ve played many run and jump games that were done better — but the music and the sarcastic instruction text make it a fun play.

 One Shot

One Shot

Tiny pixel art stealth platformer where you get one bullet per level to get past multiple lethal sentries. There are also obstacles that will kill you, most of which you’ll discover inadvertently. This game is seriously hard, and will take a determined player a long time to beat all 11 levels. The developer wasn’t able to complete the game by deadline, but I hope they finish the remaining four levels originally intended.

Natural Sheep Care

natural_sheep_care

If you like grinding, then Natural Sheep Care is the game for you. I don’t like grinding, but I have to admit that I found this to be a captivating and well-realized game. It was far too difficult for my patience, but I really felt drawn to the game world, and wanted to find out what would happen if I could win enough to make it through the portal. The difficulty stems from the carefully balanced economy that demands frugality and perfection, as well as intelligent power-up tree management, and the controls, which includes a novel aiming system that demands pinpoint timing and execution.

YouTube reviewer RockLeeSmile is much better than I was at the game, and managed to play through in his video:

The game consists only of one level, and the reward payoff is anticlimactic, but the game shows a lot of promise if the story elements were expanded and allowed a sense of journey to develop.

 One Take

One Take

One of the most original games I’ve ever played, you’re a camera operator shooting a movie. You have to get the shot perfect in a single take — you only get one. Shoot three different movie scenes. Your score is based on how well you capture a sequence of moments that happen during the scene. If you hit your marks and follow the Director’s instructions, your movie will receive a good rating.

Blomster

Blomster

A nonviolent puzzle platformer, Blomster is a well-polished hike through a dark cave to hunt for flowers. The challenge is to figure out how to get to the exit gateway in each cave. You find a glowing ball that lights up when you are carrying it, and which has the power to make some platforms become solid or immaterial. You need to be clever in order to get the platforms to become solid when you need them to be, so you can walk on them and move through the level. The physics, lighting, controls, and camera are fantastic. It’s a fairly short play, and more relaxing than challenging, but quite enjoyable.

Looking forward to GameMaker Studio 1.3

There’s been a lot of news coming out of YoYoGames lately about the upcoming release of GameMaker Studio 1.3. They’re delivering a lot of new features that have me excited.

From the official roadmap:

Version 1.3

Debugger

Rewrite of the GameMaker debugger to include full source level debugging, break points and watch windows. Will also target cross platform support, allowing remote debugging of Mac, Android and iOS devices.

I really like that they’re delivering an improved debugger with breakpoints and watched variables. This is something that is frankly long overdue, the functionality that was provided in the current debugger would be considered barely adequate compared to what’s been offered in other IDEs for at least the last 10-15 years.

On the other hand, I credit the lack of a decent debugger in GameMaker for making me a better programmer by teaching me not to over-rely on a step-through debugger to understand my code.

Because I lacked a proper debugger, I learned to build myself a logging system. Because I lacked watch variables, I learned to draw the values of variables I wanted to read to the screen, next to the instance.

It turns out, when you have a game with a lot of objects, all of which are updated in a loop that runs at 30 iterations per second, stepping through your code to see what’s going on must be extremely slow and tedious. I am not sure how much use I’ll get out of a debugger — I’m sure there’s times where it’ll still come in handy for me, but for me, logging and drawing variable state to the screen so I can continue to run the game at realtime and see what’s going on faster will likely be more valuable to me.

One highly valuable programmer’s tool that I’d love to see added to GameMaker Studio in the future is unit testing. Programming benefits from unit testing by proving that existing functionality still works as intended when new code is added or existing code is modified. It can accelerate development by reducing the time it takes to find bugs, immediately identify when they are introduced, understand the scope of their effect, and so on. I don’t believe that unit testing can help prove whether a game design is fun, but it is very valuable to proving that code is correct. I’d rather spend my time in GameMaker playing with design experiments, not trying to figure out why something I coded doesn’t quite work like I thought it should, and if I could write unit tests for my GML code and use them, that would be a huge win.

Extensions

Windows and HTML5 already allow custom extensions, so this will add them to iOS and Android.

As I understand it from what I’ve read elsewhere, this means native code extensions. So far, I’ve done a little bit of work in creating extensions for my projects, and all of that has been done in GML, at first because that was the only thing I was comfortable writing them in, and then later because I wanted my extensions to be usable no matter what platform I was targeting. Being able to write extensions in other platforms that are native to the platform will mean substantial performance boosts, and the capability of leveraging existing code libraries, and potentially even entire engines or frameworks. This is great because it means a lot of existing functions are soon to become available to GM:S projects, and won’t require a lot of re-invention of the wheel. Instead, developers can just glue existing wheels written in other languages onto their GM:S projects.

The only downside to this is that I fear this will turn into an excuse not to implement language features in GML, when it comes to future development of the GML language and the GameMaker framework. “Why bother implementing [requested feature], it already exists in [other language], so just go install [some extension] or learn [other language] and implement the extension yourself!” may become a frequent response to feature requests and criticism of GM:S.

One of the really nice things about GameMaker was that it was a small, simple, self-contained language. As well, non-GML extensions have not historically had full access to the GameMaker runtime engine, meaning that in essence when you made a call to a native-code .dll extension, you were passing some data values out of GameMaker into the .dll, which would only know of those values, and it would do whatever it did, and return a value back to GameMaker, which you could then do something with. This scope boundary made native extensions a bit more difficult to work with, and a bit more clunky as well, and as such I tend not to use them.

As we’ve seen with the newly-added features such as source control, Box2D physics, and shaders, GM:S has for some time now been bolting on more and more stuff in order to quickly deliver features it has historically lacked, which are already familiar to experienced programmers and really don’t need to be re-invented. But this means that non-programmer game designers will have to stretch themselves increasingly further in order to gain mastery over these new features.

Much as web development in the mid-90’s was all about learning HTML, which was dead simple and easy to learn in no time, and then later along came CSS and Javascript, and SQL, and backend scripting languages like Perl, PHP, and ASP, which made things increasingly complex and difficult to learn, and then specialized Javascript libraries and frameworks like Rails, I see the same thing happening with GM:S — a tool that was once very simple to pick up and learn is growing more capable at the cost of increasing complexity, sacrificing ease of use.

True Type Fonts

The ability to add True Type Fonts to your game from an external file and support for non-roman alphabet languages.

This is a nice thing to see. It’s a little bit hard to feel truly excited about fonts, but TrueType support is another one of those things that is long overdue and will make GM:S feel no-longer antiquated in its typeface options.

Simple Flash Asset Importer

Allow importing of certain Flash assets directly, including things like vector images, and PSD files.

I never did get into Flash, so this isn’t especially important to me, but it will allow vector sprites and therefore resolution independence, which is pretty awesome.

Spine Animation Importer

Allow importing of animations created using Spine.

2D Animation runtime

Visualize in GameMaker any assets imported from Flash or Spine.

I haven’t used Spine, but it sounds a lot like the Spriter project, which I helped fund the kickstarter project for. So, hopefully this doesn’t mean that GameMaker won’t support Spriter in favor of Spine — one of the Spriter project’s stretch goals was support for GameMaker, and I still would like to see that delivered.

Push Notifications

Will permit you to use push notifications to inform the user of things on iOS and Android.

Mobage

Integration of the Mobage SDK will permit you to use their social gaming network in your games.

These last two are of special interest to developers targeting mobile platforms and social networks, which is pretty much everyone these days who wants to make money doing independent game development.

Early Access Builds

This is a very big deal for me. To date, GM:S has offered two update channels: Beta (for the latest builds), and Stable (for more well-tested builds) — but only one installation. So you had to decide whether you wanted to get the latest release and risk bugs, or the stable channel with its slower delivery of cool new features. Now, however, they’ve changed the way this works, so that the “Early Access Build” can be installed adjacent to a stable release, allowing the developer to play and experiment and learn the newest features before they’re ready for official integration, and not have to give up having a stable IDE for serious work. I’ve been burned at times by trying to use features that weren’t ready yet, and now I feel like I can safely do that without being punished by project-breaking bugs from the beta channel.

A few quick updates

Did not complete Ludum Dare 28

I even liked the theme this time: You Only Get One. I came up with an idea pretty quickly: a platformer in which you are given the choice of several power-ups, but you only get to have one. Once you made your choice, you have to get through the level using that ability.

Alas, I did not get very far and did not complete the game. I started out trying to build a platforming engine from scratch, ran into bugs, and a few hours later concluded that without declaring a pre-existing base code for a working, tested platform engine, I just wasn’t going to have any hope of completing a game in 48 hrs.

really needed to do this in order to free me up to do things like come up with the various power up items, and devise level designs that would be solvable with each of them, just in some different, uniquely challenging way. That’s a rather tall order, really — level design in platformers takes a lot of talent and testing.

Once I realized that I wasn’t going to be able to finish that project idea, I could have scrapped it and started something else, but I opted not to — mainly because I was very frustrated by that point by a couple of technical problems.

This culminates a year of mostly failed projects for me: I was sick the weekend of Global Game Jam 2013 and didn’t partake, then the wheels fell off my computer just in time for our local Cleveland Game Developers Summer Jam event, when a dying hard drive put me out of commission for the weekend as I struggled (mightily, and successfully) to move my OS to a SSD. I blew off LD26 because I hated the theme “Minimalism”, and then skipped LD27 entirely because I hated the theme “10 Seconds”.

Of course on the plus side, I helped put out a book on GameMaker, and am currently working on another, but in terms of releasing finished products, this has been a bust year. Nothing to do about it but pick myself up and get back into it, though.

Site has been down a lot lately, hasn’t it?

Since I went and registered this domain name in 2010, I’ve been hosting on a server that a friend of mine generously provided me some space on for free. At first I had no idea what I was going to do with my domain, at all — I just wanted a web server of my own to play with in my spare time, and learn from. I dabbled briefly with trying to build a native HTML website before realizing how not-fun that really is, and switched to using WordPress, and have been blogging with it ever since.

This year, the server started having issues with downtime. I’ve been in contact with the server administrator, who at various points has explained that the outages have been caused by all sorts of things: database server disk storage full, upgrades, DDoS attacks, aging hardware, you name it. It seems the problems have gotten worse over time rather than better, and so a few weeks ago I began shopping around for a new hosting service. I’ve got one now, and am in the process of migrating the site over to the new server. I’m hopeful that I’ll be through doing that sometime this week, and then I can cut over the DNS registration to point to the new server, and all will be well again. This weekend there was another bad outage, and the site was down for about 24 hours. Dealing with that had me distracted, anxious, and frustrated, and not at all in the right frame of mind to be focused on my LD48 project.

Despite the ease of setting up WordPress initially, I’ve found it fairly difficult to migrate the site over to the new host, mainly due to differences between the hosts, but also due to my relative lack of experience in doing this sort of thing. So I’d like to say I’m learning a lot from this, but really at the moment I’m just learning that it sucks to do something when you don’t really know how, and the documentation and tools that you have available to you are not all pertinent to what you want to do, and it’s up to you to figure it out. I’m muddling through, and perhaps by the time I’m done I’ll understand how stuff works a lot more than I did before I started, but I haven’t seen that payoff just yet. I haven’t yet resorted to the tech support at the new host, but I plan to this week when I can get to it. Getting the current host to be up at the same time when I have a large block of time to throw at migrating seems to be an issue, and I don’t want to waste my time talking to tech support when the old host is down and something that I may need to pull off of there isn’t accessible.

So that sucks.

YoYoGames Support rocks

On top of that, I also had a bit of frustration with GameMaker Studio this weekend while I was still trying to work on my LD48 project.

Somehow or other, the auto-suggest feature in the GML code editor went glitch on me, drawing a super-tall suggestions box that drew off the top of the screen, and wouldn’t allow me to scroll up to see any of the suggestions.

Tl;dr: it turns out that the autosuggest box is resizable by dragging the edge with the mouse, making this quite easy to fix. However, I did not know that at the time, as there’s no UI widget that hints at this functionality, and I expected that it was like a regular “Tool Tip” widget in Windows, which are not normally resizable. I tried exiting/relaunching, and even removing/reinstalling GM:S to no avail, before resorting to tweeting my SOS. I also submitted a bug report with YYG.

Within an hour or so of my SOS tweet, xot of GMLscripts.com had offered me some suggestions which fixed my problem. I really appreciated him taking the time to do it. I don’t know who xot is in real life — if he’s connected in any way to YYG, a former employee, or just a long time GameMaker developer, but I’ve gotten a lot of use out of gmlscripts.com over the last couple years, and so I donated $25 to him for providing such a valuable resource to the community, and since then he’s been quite friendly and generous with his time — he also contributed quite a bit to the draw_text_rtf() script that I posted about earlier this year. So, three cheers for xot, wherever you are — you’re a great guy.

This morning, I woke up to find an email from YYG Support in my inbox:

Hi there,

Reading through the twitter feed you linked it looks like you managed to solve the issue.
Is this correct?

Thanks

Peter
YoYo Games Customer Support Technician

Since the bug report tool doesn’t let you upload files, I had pasted the url of the twit pic, and Peter had apparently followed up, reading the conversation, and, seeing that I’d apparently sorted things out on my own, checked in with me to make sure I was doing OK. Awesome!

I wrote back to him:

I don’t know what caused it to happen in the first place, though, so you still may want to investigate that end of it, in order to prevent a recurrence of the issue. It seems to me that while it makes sense for the height of the auto-complete suggestion box to size itself dynamically, it ought to have some “sanity checks” to make sure it’s not sizing itself larger than the display resolution, and more specifically to size itself to no larger than needed to display the suggestions.

To which, he replied:

I’ll let our coding team know about this issue so they can add some checks to prevent this sort of thing happening again.

I’m extremely pleased with this exchange.

A year or so ago, back when YYG’s Mantis bugtracker was still open to anyone to submit bugs, it often took a long time for anyone to respond to a bug report, and often that response was unsatisfying — you felt like you’d annoyed someone with a concern or question that they felt was stupid, or that you were guilty of misusing the bug reporting system to ask for help merely using the tool rather than reporting a genuine bug, bug reports would often be closed prematurely, before allowing you to engage their developers who were working on it to communicate about the issue, and if the issue did merit a fix, it could be months before someone got around to it, because there’s a zillion bugs and they have to be properly prioritized, planned, and implemented.

By contrast, this experience left me feeling that they cared about my problem, not just the bug report, that they were interested in taking care of it the right way, and that it was their pleasure to do so. Submitting issues is also simplified compared to what it used to be in the Mantis system, which is also appreciated.

I really, really can’t say enough good things about how it feels to be using GameMaker these days.

Site update: New theme

There are always N+1 problems, where N = the number of problems you think you have.

Yesterday, I updated some WordPress plugins and the site broke:/ Some kind of CSS problem, as though a stylesheet failed to load.

I determined that the most recent update to JetPack apparently causes the problem, though exactly what the bug is I haven’t determined — all I know right now is that if I install and activate Jetpack, everything is fine, but the moment I connect my site to wordpress.com, which is necessary to make any meaningful use of Jetpack, something happens to cause the .css from my wp theme to fail to load and/or render. Update 2013/12/15: I have determined the cause of the problem to be a conflict between Jetpack and an outdated extension called Scripts Gzip, which I have since discontinued using.

In troubleshooting, I noticed that the theme I’d been using for the last year plus, Fudo, hasn’t been updated in a few years, and may not be compatible with the latest WP. Potential problem #2.

So I ditched it, and am currently running the 2013 WP theme until I figure out what I like. But actually I might like 2013 just fine. It’s typographically attractive, and I assume it should be well supported by Automattic since it’s an official theme.

But whatever the problem is that is being caused by JetPack 2.7 on my site, it seems to affect all themes (or at least all that I have tried so far) so I’m guessing WP will release an update to JetPack in short order and fix the problem. In the meantime I’ve started a dialog with their support and am attempting to work with them through the issue.

Until then, I’m running with JetPack disabled, so the features it provided will be absent until I turn it back on. Yay.

So, wp support advised me to delete the jetpack directory from my plugins, and try manually re-installing to see if that will fix the problem. Only thing is, right now I can’t, because for some reason I’m being denied when I try to delete the files. Not sure what’s going on there, but I surmise it may be due to some server migration issues that my current host has been experiencing lately. Regular readers (ha!) may have noticed considerable problems with uptime lately, and the host is working on migrating the server to new hardware in order to alleviate the issue. I’m not very aware of the details of this, but it seems to be an ongoing issue that has been getting worse in recent weeks. Problem #3.

Due to these problems with uptime, I’ve decided that it’s time for me to move the site to a more capable host. I’ve been with my current host since the site went up in late 2010, and I don’t feel like I have a right to complain about the recent problems because I’m not paying for the hosting service. But considering how google pagerank treats sites with poor uptime, I really can’t accept it, either, so it’s time for this site to move. I’m coming up on my 60,000th visitor, according to my wordpress stats, and the daily site traffic continues to grow (although thanks to the frequent downtime of late my monthly numbers have been rather flat.)

So hopefully, I’ll be updating soon from the new host, just as soon as I get files and database moved over, and working, and switch DNS over.

Stay tuned:)

Product Review: Pickle 2.0

There are a few dedicated bitmap editors out there with features specific to pixel art and sprite animation. One that I like is Pickle. It features a stripped down feature set designed to give the pixel artist just the tools that they need to use.

A full featured image editor like Photoshop or Gimp can just get in the way of the pixel artist, providing too many tools with too many options, most of which are highly un-optimal in their standard configuration for pixel art techniques. By stripping the unnecessary, Pickle gives the user a streamlined interface that they can learn quickly and use very quickly once they’ve learned the handful of keyboard shortcuts to enable them to switch between tools and modes with great efficiency.

I first tried Pickle sometime in the last year, and since then a new version has come out. While I didn’t quite grok the beauty of the interface at the time, I’ve become more experienced with pixel art since then, and decided to give it another try.

License

Pickle is available now only a paid license, no longer a nagware/donationware license. There is a 7-day trial mode, but after that you have to pay to use it.

If it’s the sort of tool you’ll get a lot of use out of, it’s probably worth the price.

For serious sprite animation, I’d recommend Spriter, which is still in beta, but has been coming along nicely in recent releases. But to create the sub-sprite bitmap resources that you’ll import into Spriter, Pickle is still a good tool to consider, especially if your art style is pixel art and you don’t do a lot of work with gradients and filters and the like.

For simpler sprite animations, Pickle has an onion skin feature that shows the previous and next frames in an animation loop so that you can compare the frame you’re working on against them. I find this really speeds up the process of creating simple animations, and removes a lot of the guesswork and trial and error. While it doesn’t have as many features as the built-in Sprite Editor that comes with GameMaker, it makes up for this by providing a well-thought out interface for the tools it does give you, and providing only what is essential to producing pixel art.

Using Pickle

Couldn’t be easier, really. The manual is simple and fits on a single page on the web site, which covers the entire application from start to finish.

All a pixel artist really needs is the pencil, paintbucket, eraser, and selection tools. When you’re manipulating a bitmap at that level, you really don’t need any other tools. Line and shape tools might be useful, but aren’t really necessary, particularly for smaller sprite and tile bitmaps. A text tool would be nice as well, in a more featureful app, but again, for the intended purpose of creating tiles and sprites, not needed.

Pickle shows its strengths in two areas: Tile making, and animation.

For tile making, it provides a means to shift the bitmap so you can more easily discern hard edge transitions in order to smooth them out. There are also mirroring modes which allow you to make symmetrical shapes easily, by mirroring the pixels horizontally, vertically, or both, as you draw them.

For animation, I really like its “onion skin” feature, which overlays the previous and next steps in the animation as a translucent layer, which you can use to guide where you draw the current frame. This helps you make better, smoother animations in less time because you don’t have to flip back and forth between frames for comparison and preview it constantly to make sure it’s right.

Shortcomings

You can only save up to 10 color palettes. This seems arbitrary and way too small. I’d like to be able to develop a palette for any particular project I happen to be working on. 10 is way too small and there’s really no excuse for it to be so low a number. I should be able to browse a directory full of xml files that define custom palettes, however many I need. Pickle does come with a few built-in color palettes that are useful for game development: the GameBoy an Atari palettes are most welcome, but they should keep adding more: NES and Commodore 64 perhaps being the most necessary. In time, I’d like to see every classic console palette emulated.

I also found the palette to be very tiny and hard to click on, and wished that it was quite a bit larger.

Wish List

There’s a lot in this section, but don’t let that mislead you into thinking that I don’t like Pickle as-is. Rather, I’m so enthusiastic about it that I can’t stop thinking of ways that I’d improve it if I could. I forwarded these suggestions to their feedback email, so I’ll be thrilled if the developer decides to incorporate any of these ideas.

Altogether, I admire the minimalism of the Pickle interface and the easy learning curve that the constrained interface permits. I wouldn’t like it to lose that beauty by adding too many new features, but I feel that if the following ideas were incorporated into the interface, it would make for just about the perfect pixel art image editor.

Indexed color/Palette swapping. Switching to a different color palette from the selection of saved palettes doesn’t cause the colors in an image you’re currently editing to change. This might be a desired capability, however. Old game consoles used indexed color and palette swaps to good effect, and an easy way to replicate this in Pickle would be awesome. An “indexed color mode” which changes the colors in the current image when a new palette is selected, instantly re-coloring the image with the new palette, would be a great feature.

Easier palette building. It would also be nice if I could define a new custom palette based off of an existing palette (such as “night colors from the NES palette” for example) — by dragging a color swatch (or a range of swatches) from one palette onto a new palette.

Color switching shortcut. A keyboard shortcut to cycle through the colors in the palette to enable rapid switching would be useful. There is a shortcut (x) to switch between the primary and secondary colors, and that is OK for what it is. But when I have a lot of colors in the palette, I want to be able to switch between any of them easily, maybe though CMD+arrow keys or CMD+scroll wheel or something like that. Mousing over to select the color from the palette, then back over to where I want to draw, is slower.

Better color picker. I find the color picker in Pickle to be a step backward from the color picker in Paint.NET. I like when I can control the exact value of RGB or HSV or alpha and see the result as I change it. I find this helps me to select a color that I like fastest. The advanced color picker in Paint.NET is damn good: I really like being able to switch between using the color wheel, RGB/HSV sliders, and the value boxes to find and select the color I want very quickly.

The Paint.NET color picker

The color picker from Paint.NET provides a better interface for rapidly finding and selecting the color I want. I’d like to see something similar in Pickle.

Another great feature to include in a future iteration of the color picker would be a mode that makes it easy to pick colors schemes based on the theory of coloring presented in this tutorial — for each color added to the palette, the color picker could auto-suggest adjacent and complimentary color wheel suggestions, to enable better shading and highlighting, allowing the user to add them to the palette automatically if desired. This would be an AMAZING feature. The awesome web app Color Scheme Designer does it right.

Canvas and imaging Scaling/resizing! Scaling is a must-have feature which is currently missing. My favorite technique with pixel art is to rough in at very low resolution, then resize the image, doubling the resolution of the image, scaling it using Nearest Neighbor scaling so that no anti-aliasing artifacts are introduced, and then refining the details.

I can work extremely quickly when I work this way — i’ll start out at 16×16, and double a few times until I’m at 64×64, or 128×128, and those single pixels in the 16×16 rough version end up doing the work of a 8×8 block of pixels when I’ve scaled the rough image to 128×128, thereby saving me a factor of 64 pixels worth of work for each pixel that I rough in with the right color by the time I get to 128×128 resolution.

Being able to Select All, then CTRL+plus to double the canvas size, and CTRL+SHIFT+plus to double the canvas size while scaling up the image using Nearest Neighbor would be great. And to marquee-select, then CTRL+SHIFT+plus to scale the marquee selection 2x with Nearest Neighbor. (Essentially it’s like working with a large 8×8 brush tool, then switching to a 4×4, 2×2, and 1×1 brush, but it’s quick and easy for me to work this way.)

 Arbitrary rotation: Currently Pickle only can rotate 90 degrees and mirror the image. Arbitrary rotation of the entire image, and pixel selections, would be extremely helpful. Not strictly necessary, as when you are manipulating pixels one at a time, you often want more precise control. But it can come in handy.

Gearing up for Ludum Dare 28

I’m getting myself ready for LD48-28, deciding my general approach to take to this project. I like to do this ahead of time so I can get certain design considerations of the way, impose creative constraints, and focus on a particular goal within the scope of my project, independent of the theme.

Tools

IDE

GameMaker Studio

As usual, I’ll be making use of GameMaker Studio for my development, and probably only targeting Windows .exe build for the initial release, with a possible HTML5 build eventually if feasible.

I don’t have any particular aim this time around to use any specific features of GameMaker, we’ll leave that up to the theme and game concept to drive those decisions this time.

Graphics

Paint.NET, and Pickle

I’ve given the new Pickle 2.0 a try and while it’s no longer free/donationware, I do think that I at least like it for its onion skin feature that enables easier animations. I can see a lot of potential improvement for Pickle, and to that end I’ve written up a number of feature requests and enhancements and sent them along to the developer. I’ll be really excited if any of them get picked up and implemented.

I am going to use my pixel art minimalism technique, and also I intend to use a tightly constrained color palette. Not sure yet how few colors I want, but maybe a 4-color monochrome palette a la classic GameBoy would be fun. In any case, I’ll be making an effort to use only the smallest number of colors necessary, and paying close attention to how color works in the graphics I develop. I am going to see if Paletton can help me make better palette selections, and if I can apply what I learned from this coloring tutorial that I recently came across thanks to Joe Peacock’s recommendation.

Audio

Bfxr

Bfxr, of course, for sound effects. Maybe also some recorded audio samples for stuff that I can’t do well in bfxr.

Famitracker (maybe)

It’s probably still ambitious for me to try to pick up and learn Famitracker in a weekend and use it to good effect. I’ve been putting off learning it, though, and I want to have some kind of bgm in my game. Whether I end up using it or not in my LD project, I’ll be making an effort over the next few months to figure it out and put together some compositions with it.

Pixel Art: Star Wars characters

After the Ohio Game Dev Expo, I felt like doing some pixel art exercises, so I did these.

The style I’m employing here is chunky minimalism, so I’m not striving for a lot of detail. Rather, I’m going for the least amount of detail and work to make a recognizable character. This style enables me to work very quickly (it took me maybe 20 minutes to do the entire set) and emulate a resolution and palette constrained system like the Atari 2600.

I could definitely add more detail, and especially shading, to improve the depth and likeness. It would slow me down considerably, but would be worth it if I was interested in prettier pixel art, not emulating the look of a classic console. Properly speaking, for a preliminary pass, they are acceptable as far as the recognizability criteria goes, but most of them have palette challenges, mainly due to light color on light colors. If I was going to do something serious with these, I’d work on them more to address those issues.

I did these up at 64×64, and blew them up to 512-wide to display on the web site without having to scale them up.

R2-D2

512x512_R2D2

C-3PO

512x512_C3P0

Luke Skywalker

512x512_LukeSkywalker

Obi Wan Kenobi

512x512_ObiWanKenobi

Han Solo

512x512_HanSolo

Chewbacca

512x768_Chewbacca

Princess Leia

512x512_PrincessLeia

There are so many different characters and costumes that I could keep doing Star Wars pixel art pretty much endlessly.

Ohio Game Developer Expo 2013

This Saturday, 12/7, is the first annual Ohio Game Developer Expo. I will be there and am looking forward to meeting people and participating in the discussions and activities.

http://www.ohiogamedev.com/

http://www.ohiogamedevexpo.com/

How’s that kickstarter doing?

I’ve backed a few kickstarters over the last couple years… I guess 15 altogether. Since I’m a busy person, I haven’t exactly followed each project closely. I figured it was a good time to review the projects I’ve backed to see how they’ve done.

In alphabetical order:

Aaron Swartz Documentary – The Internet’s Own Boy

Still in production. I funded at the DVD level, and supposedly should be getting my DVD in March 2014.

Beautiful vim Cheat-Sheet

This one was successfully completed, a bit delayed but not too bad.

Big Blue, an underwater adventure game

This sequel to the videogame Ecco The Dolphin failed to achieve funding, raising less than 10% of goal. I guess the team is still trying to find a way to get a game developed somehow.

Chip Maestro – An NES MIDI Synthesizer Cartridge

This project completed successfully, albeit delayed by over a year. It was frustrating to wait so long, but the finished product was good. I didn’t get the feeling that Jarek wasn’t capable of delivering, just that his estimates for how long it would take to do the things he promised were overly optimistic, and the response was larger than he anticipated, which added complications.

Code Hero: A Game That Teaches You To Make Games

This one doesn’t seem to be as well managed as the others, with the main project website having difficulty remaining up, and delays in releasing updates. The primerlabs.com website is currently down. :(

The Jason Scott Documentary Three Pack

In progress. Jason has been doing a good job at keeping followers updated with the project. Jason did an amazing job on his first kickstarter project, Get Lamp, and the self-funded BBS documentary before that, so I’m confident that this project will be completed successfully, and I’m really looking forward to seeing the final results when they’re ready.

Light Table

I consider this one a success. Beta builds have been released, the latest 0.5.0 in August 2013.

Metal Savior

A game developer friend of mine recommended I back this one, but it failed to achieve goal.

Neurodreamer sleep mask

I received my reward (the “trip goggles” that serve as a sort of prototype for the sleep mask) for backing this one a long time ago, and just saw Mitch announce about a week ago that the sleep masks had been produced.

OUYA: A New Kind of Video Game Console

The fundraising effort for Ouya was a huge success. I received my console a few months ago. It’s

Project Maiden – a Zeldalike in reverse

I only backed this one for the minimum level, which gets my name in the credits. I figure if/when the game gets released I’ll buy it… but I see that he’s actually releasing it DRM-free, free to download, forever — a gift to the world. Really amazing, and I think if the game is as good as it looks that I’ll send him a rather large tip as a thank-you.

Looking at the project pages update log, it looks like Kevin & Co. have been working diligently and productively on this project. I’m really looking forward to playing this when it is released. Considering that the team only raised $12000 for this project, the fact that they’re releasing the finished product as a free, no-DRM download is amazing.

SPORTSFRIENDS featuring Johan Sebastian Joust

I backed this project on the strength of BaraBariBall, which I had the opportunity to play at the Cleveland Game Developers booth at Cleveland Ingenuity Fest in 2012. The game was quite playable and fun even then, and so it’s a bit disappointing to have waited this long and still not seen the game officially released yet. The release was supposed happen in October 2013, but has been pushed back. I don’t really care about the other games, I want my Barabariball!

Spriter

Still in progress, but they have been releasing beta builds and making strong progress for some time.

Star Castle 2600

Completed successfully. I received my game cartridge and downloaded the ROM to play on emulator. It’s a VERY difficult game in emulation. I would have liked a slower-paced version of this game.

Tropes vs. Women in Video Games

Anita Sarkeesian has been somewhat slower than expected at churning out her series of videos, to date having produced just four videos of the series so far, out of a total of 12 announced (7 of which were made possible by reaching stretch goals). The videos have been about what I expected in terms of quality and content, which is to say pretty good, overall. They have generated a lot of negative response from certain segments of the gamer community, which deserves more analysis than I’m prepared to give here.

The twelve topics announced on the kickstarter page were as follows (the bolded ones have been produced):

  1. The Damsel in Distress (parts 1, 2, and 3)
  2. The Fighting F#@k Toy
  3. The Sexy Sidekick
  4. The Sexy Villainess
  5. The Background Decoration
  6. Voodoo Priestess/Tribal Sorceress
  7. Women as Reward
  8. Mrs. Male Character
  9. Unattractive Equals Evil
  10. Man with Boobs
  11. Positive Female Characters!
  12. Top 10 Most Common Defenses of Sexism in Games

So, despite the four videos being released, it feels like there’s still a long way to go for this project to be completed. It would be nice to see the release schedule sped up, but not at the cost of quality.

Kickstarter… Good? Yeah, I’d say so. YMMV

Over the last year or so, I’ve read and heard about backers regretting backing one project or another because it was poorly managed and failed to deliver once successfully funded. And, to be fair, there have been some high profile projects that raised a lot of money and ended up failing. It seems that there is a danger with overfunded projects succumbing to scope creep, hype, and unrealistic expectations.

It’s definitely worth keeping in mind that fundraising success doesn’t guarantee project success. If you look at kickstarter projects like a pre-order system, I think you’re more likely to be disappointed. If on the other hand you look at kickstarter as an opportunity to give an inventor or creative person a chance at making something cool, it’s a different story. While a failed project is still disappointing, understanding that failure is a possibility and that fundraising success doesn’t guarantee project success, it can put things into proper perspective. Limit your contribution to what you’re comfortable losing, and hope for the best.

At some point I realized that, despite there being many projects out there that seemed interesting and worthy of support, I couldn’t possibly keep up with all of them if I wanted to, so I limited my backing to projects that I really wanted to see make it, and that I felt would deliver rewards that I would enjoy or find useful. I also begged off funding projects if I heard about them after they were already above goal, so as not to contribute to the overfunding leading to unrealistic expectations problem. I figured if the project was successful I could probably go out and buy the product when it became available.

Overall, allowing leniency on time, I’d say that the kickstarters I’ve chosen to back have been mostly successful. With the exception of Code Hero, I haven’t felt like I’ve been burned yet. Delays are disappointing, but understandable, and as long as progress is communicated regularly and honestly, I can live with them, within reason.

Outage(s)

Sorry for the downtime. I’m looking for working on migrating to a new webhost. Hopefully will be on a more stable one in a few days.