Monday, September 28, 2009

Times of silence

I am writing this note to apologize in advance for a period of silence on this blog. I am leaving for Japan very soon and won't be back until late October. I did miss Tokyo Game Show this year, but my bi-yearly travels to Japan ('05, '07, '09) are not only game-related. With all the things to take care of prior to and during the travel I won't have much time to write down my musings, hence this note.


I will, however, bring you some tasty bits of gaming news from the Land of the Rising Sun, I promise. There's also a bunch of (somewhat stale) news, information and articles waiting for their turn to be published, so be sure to keep Barts News in your RSS tabs and we'll return in less than a month time with a kick. Take care until then, gentle readers!

Thursday, September 17, 2009

The city made of pixels

Writing about Canabalt, I used terms "city" and "procedurally generated" in the same note. This has triggered some neurons deep in my brain and I recalled a really cool thing on the same subject that I had seen quite some time ago:


Procedurally generated city. That's right - a digital depiction of three-dimensional city, randomly generated at runtime based on a set of rules. It actually is amazing: I know I have just recently brought you the demo of procedurally generated landscapes, but nature and procedural generation kind of go hand in hand, while artificial and ordered human creations, such as city not so much. That's what I thought until I saw this:



For those curious how the development went and how it was done, read Shamus Young's blog entries on creating pixel city. For those less technical savvy and more visual, just watch the video above. The program itself can be downloaded from here. And if you would like to see how procedural generation can be applied in games, have a look at Canabalt and Rescue the Beagles.

[ via RockPaperShotgun ]

Wednesday, September 16, 2009

God of War Trilogy coming to PS3

For quite some time I have been struggling with the thought of getting Playstation 3. Xbox 360, while having some cool exclusives and generally being cheaper, scares by its infamous failure rate. If I buy an entertainment device, I don't want to be left without it for extended periods of time - and since Poland is not USA, struggling with it would be much more painful. Hence, Playstation 3.

One of the best games on PSP, if not downright the best, is God of War: Chains of Olympus. I never owned PS2, so I admit not having played two first installments more than an hour or so. I thought I'd buy them, once I get my PS3, but it turns out that backwards compatibility was just an occasional Sony mistake and is not an option now (unless one chases the elusive 60Gb PS3 on eBay or elsewhere). So, until God of War III graces Sony's black behemoth, no Kratos adventures are to be had on PS3.

Now there's good news - you can scratch the last paragraph, because Sony will bring two first parts in new remastered version:


The information states that "games are now running 720p, with full anti-aliasing, running at 60 frames per second". God of War I was okay in graphics department, but God of War II was great and just thinking of how it might look with aliasing and bumped up resolution gives me the shivers. The God of War Trilogy (Collection plus third part) might be what finally gets me into buying Playstation 3.

[ via Ars Technica ]

Monday, September 14, 2009

Introduction to Flex programming

So you want to learn how to make online games, just like the ones you can see on Kongregate, but don't know where to start and don't have money for Flash? You've come to the right place. This post will be a short introduction into making games in Flex - the result being Flash games. Don't worry, you'll understand what's the difference between two names that start with F is, the important bit is that they both are free and it is not really that difficult to start.

The first thing to consider is why I am talking about Flex instead of Flash here. You can read what people smarter than me have to say on that difference here, here and here. In simple terms, the outcome is the same whether you use Flash or Flex - a SWF file, containing compiled ActionScript, graphics and sounds. It's how you get there that is the main difference. At the risk of oversimplifying things, I will say that the main difference is that Flash approaches the end result from the point of view of a designer and Flex from the point of view of a programmer.

Just substitute Flex Builder with Flex IDE for now.

Flash is an authoring tool, more suited to making animations, movies and simple games. Flex is a development tool, consisting of set of components for creating rich internet applications (RIA), interfacing with databases and implementing client-server architecture. Does this sound too complicated? Second attempt at ubersimplicity: Flash equals drawing plus ActionScript, Flex equals industrial components and ActionScript. Professionals will smack me on the head with a stick for writing that, but for layman it should be comprehensible - and you can read the articles I linked to above if you want to know more.

Now, if you want to begin writing simple online games, these tutorials on Flash game development with Flex and ActionScript are the best out there (or at least the best I have been able to find). When you go through all of them, you will have some understanding of how Flash games work and you will also have a basic framework for your games with loader and all. That's a very good starting point indeed.

The only problem from the beginner's point of view is that the setup part described in the first tutorial is a bit complicated, because it uses a simple text editor instead of a proper IDE (Integrated Development Environment) and requires some command line magic to be done. Let me fix that by showing you alternative setup that is easier to use, more powerful and equally free - and you can continue with the rest of tutorials from there on.

First of all, download Flex SDK from here. SDK stand for Software Development Kit and contains all the components, libraries and whatnot that constitute Flex. Once downloaded, unpack it to some directory, in my case C:\FlexSDK (why complicate things?). That's all, no fancy setup magic is required.


Secondly, you will need a proper editor that's designed for Flex. Contrary to what Adobe tries to convince us, FlexBuilder is not the only Flex IDE out there. The free alternative to that bloated and overpriced piece of software is FlashDevelop, which you can download here. Download it, run installer and you are almost ready to start writing games. Before you start coding, however, you will have to go to Tools\Program Settings... (or just press F10) and tell FlexDevelop where your Flex SDK is. You do this by chosing AS3 Context in the left column and filling Flex SDK Location box on the right with the appropriate path (in my case C:\FlexSDK as stated above). That's all, you can now proceed to making your first project.


Select menu Project, then New Project. Choose Flex 3 Project, fill in Name and Location. In my case it was Tutorial1 and C:\Barts\Flex (again, why complicate things?). Check the box called Create directory for project, it does exactly what it says. Since each Flex project will consist of several files and directories, it's best to keep them all neatly separated into folders. Then all you need is click on OK and your first project is ready.


Now, double-click on the src folder on the right, then select and edit Main.MXML file. Copy and paste the code from Flex tutorial, save it. Then compile and run your first Flex program by selecting Project\Test Movie (or just click F5 instead). Voila! You should see your very first application up and running:


If not, then perhaps you do not have the Flash player and/or Flash plugin for your web browser installed. Download them here. If it doesn't help, check your code - perhaps there is something you have not copied correctly or some mistake in typing. If it doesn't help either, let me know via comments, maybe I will be able to suggest something.

From now on you can continue on your own with the tutorials. They will give you good basics of game programming in Flex and with it you will be able to start creating your own things. And if you ever make something that you publish (maybe on Kongregate, who knows), please put a link to this post somewhere or at least let me know via comments or email - knowing that I have helped someone is incredibly rewarding for me. Good luck!

Sunday, September 13, 2009

C.P.C.

I am in a bit of a nostalgic mood, so I started Amstrad CPC emulator (you do remember that this was the first computer on which I have played?) and fired up a game that I am going to describe today. It is called Cosmic Prison Commando - as in CPC, get it?


Graphics are appropriately colourful and retro, as you can see on the screenshot. Sounds are, well, not that great, but there are some at least. The gameplay is of a classical retro hardcore variety, which means that you will die a lot. Some parts of the game are obviously not finished. That would be all to say about the game, except for one thing...


...Cosmic Prison Commando is, in fact, not a CPC game. It is a PC game made in old-school stylistic of CPC family. I originally wanted to use the term "demake" to describe it, but I don't think it applies, since it is not a port, but a new game (speaking of which, you can download it here). And even though it definitely is not perfect, I thought I'd share it here as a curiosity for everyone that's into indie and retro gaming. I spent a couple of happy minutes reminiscing Amstrad era, maybe you'll find it amusing as well.

[ via Carnivac Games ]

Tuesday, September 08, 2009

Re: Re: Canabalt

Okay, so I wrote this little paean on Canabalt, because the game sucked me in and I really, really liked it. Adam Atomic noticed it, saying it's his favourite review - then discarded it a bit later. Woe is mine. But that's not what I wanted to write about today.


If you read my previous note, you know that I think that the good part of what makes Canabalt so memorable is its atmosphere and that the good part of that atmosphere is the sense of impeding doom from which there is no escape. It doesn't matter how far or how fast you run - in the end you'll die anyway. You simply cannot win and your poor nameless character is bound to end up dead with no chance of ever escaping from his private own running hell. Doesn't it strike you as unfair? Don't you wish this little guy could finally rest somewhere?

It did bother me a bit, but I just shrugged my shoulders and moved on. Turns out, it did struck a chord with some other folks as well:

Canabalt is a beautiful tale about nonsense, road to nowhere, the farther you run, the longer you'll live (...), but in the end the world will end in weeping anyways.

wrote MRW in his review (science-fiction double feature, he also examines Vox Populi in the same post), triggered by my review. Our common buddy Radkowiecki then left a lengthy comment in which he both expressed his liking of the game and refused to admit that there is no ending:

Canabalt scares me a little. I know this game does not have an ending, but after three days of playing and cashing all points on Congo [Kongregate] I am still playin'. Because I hope that after running some distance this guy will find a quiet place in which he will wait out the assault of alien robots / robotic Aliens. It is devoid of any sense, but I am still running and I have found out that there is no bonus after 8 kilos. We'll see what is waiting for me on the tenth kilometre of the road.

Damn - one button, looped tune, simple graphics, but replayability is such that games costing a carriage of paper could envy it. Forgive me, but I'm back to pounding x, c or space (it's the only choice in this game), because I am convinced that there must be some ending line out there. Because there has to be, right?

To which MRW replied with a new post, stating that "of course it has to":


It looks that we all pretend to be die-hard cynics, but there are things that really do touch our inner emo kid (to think that it's a bunch of gray pixels that did this). I myself went all "awww" when I saw it. Nameless runner can now rest in peace - good job, MRW!

I just hope that Adam Atomic sees this and adds it to his new iPhone port of Canabalt.

Saturday, September 05, 2009

Kanban versus Scrum

As indicated by the previous post on the subject, I got more and more drawn into Agile development in general and Scrum in particular. Other than applying a whole slew of the Agile practices at work, I also spend time learning about it, both from books and other developers. Recently, I have stumbled upon a very interesting document that compares Scrum and Kanban - and I would like to share it with you.

Spot the difference

I have heard about Kanban at my university when I was still a student, but it was more applied to managing industrial production, not software development. Also, it was presented in a mind-bogglingly boring way. The only thing I could vaguely recall was the idea of a board and a drawing I made during the lecture depicting a Japanese man in II World War uniform, holding a katana sword and threatening workers in order to make them work harder. Hur, hur. It just goes to show how boring the lecture was.

If you don't know what Scrum and Kanban are, fear not, as this document is a very good place to learn. It is relatively free of technical jargon and presents the topic from a refreshing perspective - namely, remembering that these tools are nothing more but tools, not some sort of universal truth descending from heavens.

Well written, concise, useful and user-friendly - if you have anything to do with software development, you will do yourself a favor by reading this document. Also, it's free and available for download from here. The accompanying presentation on the subject can be seen here. Good lecture!

Thursday, September 03, 2009

Steampunk parcour - Canabalt

It seems like everybody is writing about this game recently: TIGSource, Indiegames, GamesSetWatch, RockPaperShotgun, Kotaku, and others . Let me jump on this wagon as well while the news is still relatively fresh - and I do this with pleasure, because I have immediately fallen in love with Canabalt.


The premise of the game is very simple - there is a man running through the city attacked by aliens or robots (or alien robots). The nameless man is running on the rooftops, probably trying to escape. The city is dying, giant machines are looming in the background, buildings are coming down, spaceships woosh by, dropping strange but deadly objects. It's time to run!

As it often happens, the game is more than a sum of its parts - what it delivers is a strangely hypnotic experience, both in a sense of getting into the state of flow while running and in that "just one more try" feeling that I thought I had forgotten long time ago.

The game mechanic is deceptively simple - there is only one button for player to press in order to make the character jump. Nameless protagonist is running all the time, faster and faster with each step, reaching speeds worth of Sonic and making jumps worth of Neo. Player can't control anything else but jumps - at least in theory, because bumping into some obstacles slows the character down. Slower speed means smaller jump range, which can be deadly if there is a particularly long gap between the buildings, but it also provides better control of the hero. Therefore, there exists a very delicate balance between them for the player to keep and this is why the actual gameplay has much more depth to it than just "press button to jump". As an interesting point, levels are procedurally generated, so player never knows what to expect next.

Graphics are great; while I am not too keen on abuse of pixel art that is the trend with indie games recently, there are exceptions to this rule and Canabalt is one of them. There is a surprising attention to detail present in this game, both in paralax-scrolling background (love the effect!) and the foreground. One can see pigeons that shoot out in the air from under the character's feet when he lands on their rooftop, as well as glittering pieces of glass that drop from broken windows that he had just smashed through, and the evil machines in the background are awesomeness incarnated with a hint of steampunk to them (hence the title of this post).

Likewise, the animation, while simple (not that many frames is what I mean by simple), is also great and very fluid. Watching the character roll after a jump from larger height reminds me of the first time I saw Conrad roll in Flashback - this certainly is a very good memory and therefore a good connotation for the game to provoke. Two thumbs up in this department as well.

Music is another component that is just perfect - it enhances strange and unsettling setting of the game and also gives a sense of speed with a hint of hope that quick feet might be the salvation to the horror. In other words, it is great and fits the mood of the game.

You can play Canabalt here (or here if you have a huge HD monitor) and see how it plays below:



Now, with the review part taken care of, a couple words on the idea that came to my head when I was pondering about Canabalt before going to sleep last night: the whole premise of the game reminds me of a bad dream. Think about it for a second: running away from an unknown danger, not being able to escape no matter how far or how fast one is going, not being able to stop, surreal surroundings mixing ordinary everyday elements with imaginary ones, sense of impeding doom, absence of other people. All the components that make a good nightmare (in a sense of one that is memorable and makes the dreamer wake up in horror) are there. Could it be that Canabalt is a result of Adam Atomic having a bad dream one night?