Month: September 2013

Screenshot Saturday #2

Yay! Another screenshot – looks like I could make #ScreenshotSaturday a habit! Of course I will, but the game is still in-game mechanics tuning stage, so it does not lend itself very well to fancy screenshots. Rest assured, there will be much more revealed about the game once we get into the art finalization.

Since the last post the game has sprung from being a prototype into a full-fledged game-in-development. I’m very satisfied with the progress – of which a big part is¬†my progress, meaning how well I progress in becoming a game developer. I think I got both Cocos2D and Box2D pretty well under control by now so I can concentrate more on the game mechanics tuning itself instead of figuring out objects and classes of the said frameworks. I’ve got no formal (commercial) experience with game design & programming so I’m still a bit vary about how my ideas will be on-screen. As a game concept designer, however, I have no reservations of my talent, none whatsoever. I’m most awesome in that, hence the jump into independent game development, right? ūüôā

Small digression permitted, I looked into Sprite Kit which comes with iOS7. Apple has clearly noticed that their platform is excellent for gaming and to push in a nice 2D framework for game making is an excellent move. I’m not overly happy with the lack of documentation for Cocos2D, and what I’ve read on Apple’s site, Sprite Kit is essentially a full Cocos2D-like framework with nice, vast documentation and most important, excellent integration of the other iOS parts – as an example the touch input handling, which seems to be kind of a¬†hack in Cocos2D. I mean, the touch moves like two-finger rotate, pinch, zoom-out, multi-finger swipes, are all a central part of the Cocoa framwork and hence they should be easily available also for games. Ending this digression, I have a new game idea which I’m eager to start coding on, and with the introduction of Sprite Kit, I decided that it will be my next game while I want to get my feet wet with Sprite Kit. May my other ten-or-so awesome game ideas forgive me and stay put on my To Do-list.

Oh, I almost forgot the screenshot!

Box2D debug lines are STILL sexy!

This week’s coding had me improve the shapes of the playfield in Box2D. By building the playfield out of sturdy polygons instead of b2EdgeShapes I got rid of an annoying issue, known to many – the “tunneling” of sprites though the walls, if they are shot against one with enough speed. You can also see a timer on the left, with a particle effect, one of the basic features I have been tinkering with. I bought Particle Designer 2.0 as the integration of particle effects it produces is so straight forward. So far so good, but none of the added FX are final, and there are many more to do. You can also see partly faded-out score multiplier sprites if you pay attention – also a basic feature (not only for this game, but for game programming in general), which I needed to get my head around.

I also programmed some game state logic (welcome back to my life, singletons!) which allows me to test the game mechanics more thoroughly – there are rudimentary “game starting” and “game over”, and some in-between states so the game is, for the first time, playable. Big milestone, pop the champagne!

The game mechanics still need tuning. A lot. Seems like the game would be much more fast-paced than I anticipated, but it might just be my parameter setup playing a prank on me. Luckily this game is no up-front-written-specifications-monster – I go with the flow. That has already resulted in a few completely new, nice features which most likely go into the final game.

I love the creative freedom. Peace and out!

Information for Geeks

Alright boys and girls. You can also create a game. What do you need for it? Well, I have no idea, but I can list the tools I use. I guess you have to put in some talent in programming, art, and game design, but other than that, you can probably just download some frameworks and tools and get going.

Fellow game developers seem unreasonably interested in what goes on behind the scenes of game development, so here goes. Nothing fancy, I tend to pick out the “best practices” by just googling around. You know, top hits and what seems to be most widely used.

  • Game engine: Cocos2D with the all-awesome Box2D physics engine. I’m not very interested in flame wars on what engine is the best – such discussions go into the same category as “which programming language is the best”. You can always spot an amateur from those statements. Every seasoned developer knows that the answer is “whichever you know best“. ¬†If you don’t know any, well, then it does not matter which you choose. None of the “best of breed” are bad.
  • Lower level stuff: Macbook Pro 15″, Mac OS X 10.8, XCode 4.6. I develop games for the Apple mobile devices, hence.
  • Photoshop Elements 11 for miscellaneous art stuff, but I don’t do the main art, I just fiddle around with the awesome art from Pietari Posti
  • TexturePacker for optimizing the sprites. This is one hell of a good tool, very nice integration into Cocos2D (and several other engines).
  • PhysicsEditor for creating the bounding boxes for the sprites. This is also hell of a good tool, very nice integration into Cocos2D (and several other engines).
  • I have not yet, but I am with utmost certainty going to use Particle Designer to create particle effects into the game. The tool has just released version 2.0, which is supposed to be an excellent improvement to version [Update: I bought it the next week.]
  • And depending on the artzy need, I will in the same go go with Glyph Designer for font creation, because, why not.
  • Sounds. Now, this is an area I’m unfamiliar with. I see, at this stage, no reason not to go with Cocos2D’s internal sound engine. Please correct me if I’m wrong. (My sound specs so far: sounds and music have to be AWESOME!!1!)

And that’s it, ladies and gentlemen! The list is actually not that long, now that I’m looking at it. Which must mean it is easy to do computer games!

Screenshot Saturday #1

Ah, my first #ScreenshotSaturday! I remember it like it was yesterday…

The drafts from the game art experiments are only for trying out game mechanics. And the prototype is not THAT far yet, alas, I present you one lame…ish screenshot from the prototype! There’s not much you can conclude from this screenshot but let’s leave it like that – future posts will present the game in much more detail. I haven’t even released the name of the game yet!

Box2D debug lines are fancy!

This week I’ve been playing around with TexturePacker and importing the sprite sheets into the build. Excellent tool, by the way, highly recommended if you’re into 2D game development. I particularly like the take the guys from Frogmind have; use as much as possible existing tools, don’t bother developing your own (unless you are aiming to be a tool developer, duh). This is particularly important for small indie teams. Focus on the game mechanics, storytelling, and game polish.

Now that I have a company there is also another aspect of these supporting tools. And that is the supporting of the tools. I’ve gone the whole circle of using warez only (in my early days), moving to free/open source (last 10 years), and now, finally, buying proper licenses. I mean – I can charge like $80 and hour when doing some subcontracting in my previous industry – what kind of excuses can I have for not buying a great tool for $29? Or for $119 for that matter? None. On top of feeling great by supporting fellow coders, there is one ethical rule that trumps everything in this matter: if you are a developer and aim to get your livelihood thru your coding, you cannot use pirated software to do your coding. Especially if you’re a company. Else, that would be like, uh, dunno, awkward and double morals and bad stuff. So buy your licenses or I bomb your country!!1!

Furthermore, this week has been a bit of “architecture” and clean-up. Think “what should I put into a new class, what should I just dump into this big ugly Layer class? I need to get this prototype further – quickly“. So I ended up moving around and renaming properties and classes – having that “” in there is a bit embarrassing. However, every coder knows it’ll ruin the night if you cannot get anything visible done. So I got also a Box2D body moving around according to some states in the game. Felt better immediately!

Alrighty then. I’ll remain with best regards, chilling, coding, and hey, follow us on Twitter! Please! Please? Thanks, dude, you’re awesome! Just like me. We’re awesome, we should hang out together!¬†On Twitter!

The Oggiput

In addition to the Kisau Veelas, the other character in the puzzle game is this bone-headed guy, the Oggiput.

Da Oggiput, yo!

He sure looks like one grumpy guy who will mess with your game, so you will probably want to get rid of him as soon as you spot him. Who knows what kind of damage he will otherwise do to your new high score you’ve been hunting for the whole morning in the bus on your way to the office? Squash him like the bug he is!

Or maybe he is just misunderstood. He can’t help his rather scary looks and thick skull, clinking into everything in his path. Perhaps he has a heart of gold. Shall we forgive him?

But then again, the Kisau Veelas do not seem super eager to meet him.

Kisau Veelas not diggin’ it.

I’m a bit puzzled about this. Tee hee, puzzled by a puzzle game. Who writes this stuff?! You’re fired!

Meet the Kisau Veelas

“An indie game developer does not exist before he has some screenshots posted on his blog”, some ingenious game developer said. I think it was actually me on Twitter. Anywhoo, I am pleased to introduce¬†the Kisau Veelas to you! These funny guys are one of the main characters in the upcoming puzzle game.

Hit play to play!

They’re a bit shy in this start menu image above, but they will get used to you.

Falling down. Without Michael Douglas.

 And goes without saying, these are only the first drafts of the style and characters of the game, by no means the final art of the game. But look at this one on the left go! Whee! Awesome.

If you are curious on who made these, I shall proudly present¬†Pietari Posti, easily one of the best current illustrators in Europe if not in the world. His illustration style is kinda art nouveau- and art deco-ish, which I’ve always liked in print – to the extent that I have this style of posters, which I’ve hunted down on my travels, framed on my wall. Not from Pietari, though – yet.

We’ve got a bunch of these Kisau Veelas, and about six of them are going to make it to the game. Furthermore, there will be another boneheaded character in the game which we’ll present in later posts. Also coming up in later posts; more about the game itself. It would be rude not to write about the game itself, huh? But for now you have to settle with another draft of some of the Veelas, here you go:

Ooga and booga? No.

Excellent. I like these.

Healthy Mind in a Healthy Body

As you could imagine, a part of every life-improvement plan contains elements of health, exercise, and food. So does mine.

This part has actually started out pretty well, and it is one of the parts that has not stalled, well, not too much.

When it’s about a man turning middle age, having a family at home, and all those excuses, the discussion around sports seems to revolve around time,¬†or more precisely, not having any. When do I have time to do it? What kind of sports should I do? And it’s very true. A big part of a life-improvement plan is about time management, and I do not differ there in any way. I love spending time with my family, and I will never change on that. Alas, the time for sports has to come from other places, not from the time between my homecoming from work and putting the kids to bed.

I used to do a lot of gym and roller skating, but those have been dismissed since years. Going to the gym is a bit boring and I do not hold the discipline to do it with the energy I had when I was 22. If I go to the gym today, I tend to compare myself to the 22-year-old myself. And today’s myself tend to lose that comparison.

So, what’s a good sport one can do by minimising the time he has for it? Jogging is a good candidate. So is cycling, and other sports which you can do a) by just stepping out of your front door b) replace a part of your normal routines with, such as job commuting, or c) something you can do while working.

Weird enough, cycling seems to be a sport that every 35+ man who works in IT or computers, seem to get interested in. I could imagine it is partly because one can build his own bike, assemble it from different parts (“Do you have Shimano XT or Deore or… and what disc brakes do you use?”), thus fulfilling the geek factor, much like building your own computer (when we used to do that in the 90’s – no-one does it anymore, right?). On a physiological note, cycling is better than running – old men don’t want to strain their knees, heels, and feet.

I’m interested in picking up biking, I even looked up the bike I like to buy, but then my {now former] employer fudged us out of our bonuses ¬†(you might start to get the idea why I was not thrilled by the situation at work). So I’ve put the bike on hold for a while. Will look into it when I’m back in Finland. Won’t have any commuting to do, though, which is a pity!

Anywhoo. A promise is a promise, so no procrastination for me. Immediately when I got back to work after having this epiphany for a life-improvement plan, I put two 1.5 hour reservations around lunch hour for “lunch hour sports, out of office”. That calendar block also blocked out some annoying meeting requests I’m sure, so win-win!

It worked. When the calendar said it’s jogging time, I jogged. No excuses.

Now that I’ve jumped of the hamster wheel to build my own company, I have started to procrastinate again when it comes to sports. Get a grip, man!

I will. I promise.