Max Did It
Game Design
,Thu
Post the First Comment
Tagged , ,

Planning The User Interface Flow

Yesterday, I had posted a link to my Facebook page for an early game prototype. People could play the (very) early version of the game and I could see whether the idea is working or not.

First of all, thanks to everybody who took the time to test the game and special thanks to everybody who gave me feedback! I already have a couple of ideas to improve and expand the game.

Satellite Prototype 0.0.6

Not much to see yet... (graphics are not final)

Now, I'm moving on to the next iteration of the game. The next version should come a lot closer to the final product. If everything goes well, this next iteration actually will become the release version. We will see.

The first step I've done is to plan the flow of the user interface the game will be embedded in. The prototype had barely any interface, let alone menus. For the next iteration, I wanted to implement the communication between game and UI early on. Doing this late in the production can give you quite some headaches.

So I sat down with yEd and drew some lines and boxes.

Satellite UI Flow Preview

An excerpt from the UI flow diagram for my next game.

See the full diagram after the break.

Read more...

Coding
,Fri
Post the First Comment
Tagged ,

Inheriting From Ivy XML Files

I have now talked about how you can publish artifacts to your local repository and how Ivy resolves dependencies for your project.

As mentioned, Ivy uses the ivy.xml to know what files and libraries your project depends on. Ivy tries to retrieve these and will copy them into your project folder.

In another post, I have described how I keep my Ant build.xml files small and clean by putting targets I use often into central files. But not only build.xml files can contain information you need time and time again. Certain dependencies or Ivy settings might be used in many projects, and I don't want to copy them around, either.

Matryoshka Dolls

© 2012 Max Knoblich


Maven has parent POM files, which are pom.xml files you can inherit from. All settings, dependencies, plugins etc. from the parent POM are used and can be extended or overwritten. With this, you can create a hierarchy of build files that you can combine as needed.

Ivy has a similar mechanism, though it is not as refined as Maven's. Still, you can use it to put often used dependencies in "parent Ivy XMLs".

Read more...

Coding
,Sat
1 Comment
Tagged ,

Resolve Dependencies With Ivy

In my last post, I wrote about how you can use Apache Ivy to automatically store your compiled components and libraries in a local repository. Now, why should you even do that? What's the point?

The point is, that now you can use Ivy to

  • automatically copy the libraries you need into your project's folder structure,
  • always retrieve the latest version of a library,
  • download libraries from remote repositories, provided you have access and
  • get dependencies that aren't even in any of your repositories.
Ivy: Work, Work

"Work, Work". Apache Ivy can take a bunch of manual tasks off your hands. © 2012 Max Knoblich

This is how I use Ivy to make working with libraries easier:
Read more...

Coding
,Thu
2 Comments
Tagged ,

Committing Artifacts with Ivy

In my last post, I talked about the build automatisation tool Apache Ant. Ant originated as a tool for Java developers and has been succeeded by Maven, which provides many nice features like dependency management.

Imagine you wouldn't have to download and copy any libraries into your project path and configure the classpath every time you start a new project or a new version of a library comes out. What if you had a tool that did that automatically for you? Maven does that, and more.

The Trouble With Flash And Maven

I guess for a Java developer there is currently no good reason to use Ant instead of Maven, but if you work with Actionscript or Flex, things are a little more complicated. Right now, FlexMojos is the only current plugin for Maven that allows you to compile SWF or SWC files.

Now, when FlexMojos happens to do what you want it to do, it's great! It's convenient and you can set up projects with unit tests and code coverage very quickly. However, if FlexMojos doesn't do what you expect it to, and that still happens quite often, you will have a very hard time figuring out what the problem is and how to fix it.

Because of this, I decided to keep using Ant to build my Actionscript projects for the moment. However, you can use Maven's automatic dependency management feature in Ant build scripts as well.

Read more...

Coding
,Tue
Post the First Comment
Tagged ,

How To Tidy Up Your Ant build.xml Files

Before I worked at Bigpoint, I built and published my Flash projects the naive way: Just press the right Button in the IDE, and then copy the result from the respective folder. As I learned there, using build scripts like Ant has many advantages over that method though. You can automatize many tasks like

  • deleting unnecessary files from previous builds,
  • copying assets to the target folder or
  • automatically providing libraries your project depends on.

What Annoyed Me About Ant So Far

Now, what bothered me a little bit about the way I used Ant was:

  • When I started a new project that I wanted to build with Ant, one of the first steps for me was: Open another, already working build.xml and copy all the stuff that already works and that I need. Which can be annoying and also means that you will have a lot of duplicate XML markup across a lot of different files.

  • Also, I have made the experience that build.xml files in bigger, complex projects using many different features can become very convoluted and confusing. Once your Ant build script spreads over several screens it can easily give you headaches.

What If I Told You...
Well, I dug a little through Ant's documentation (RTFM). What if I told you that you can make your project specific build.xml only a couple of lines long?
Read more...

Game Design
,Mon
Post the First Comment
Tagged , ,

John Cleese On Creativity

This is a very interesting talk by Monty Python's John Cleese on the topic of creativity, which I found in this post on drawn.ca a while ago. Now, John Cleese has been working in the entertainment business for about 50 years, so I'd say he knows a little more about creativity than you do, pal, because he invented it.

Okay, not really, but he still has a lot of interesting things to say about it, many of which at least I found very enlightening. Some of you will already know the video, because I have shared it a while ago on my private facebook page, but I wanted to post it on my blog as well.

John Cleese in A Fish Called Wanda

John Cleese in 1988's A Fish Called Wanda. © 1988 Metro-Goldwyn-Mayer Studios Inc. All Rights Reserved.

Don't worry, he is giving the lecture fully clothed. Find it embedded after the break:

Read more...

Graphics
,Fri
Post the First Comment
Tagged , ,

How I Designed My Logo

Since one of the first things I created for Max Did It was it's logo, I would like to talk a little about the iterations and considerations it went through before arriving at the current version.

Max Did It Logo Evolution

Maybe you have also spent what felt like hours in front of this message: "Please Enter a Name for your Character/City/Pokémon". Sometimes, one of the most challenging parts in a game is to find something that represents you or your character properly, especially if you will spend a considerable amount of time with it.

Finding a logo that is supposed to represent yourself in real life is a lot like that. Only harder. This is how I went about designing my logo.

Read more...

Announcements
,Thu
2 Comments
This Post has not been Tagged

Welcome To Max Did It

Well, there we go! This is the first official post on Max Did It! The major features of the page are done, the design is final and everything should be good to go! I'm sure a couple of minor issues will pop up as soon as people actually start to visit the site, but I will tend to them as we go along.

Welcome To Max Did It

On this blog, I want to:

  • present the games and projects I am developing,
  • keep record of the things I've learned and the problems I've encountered on the way there and
  • generally keep you updated on what I'm currently up to professionally.

Where Will You Find Max Did It

I have tried to put a couple of features into this blog to make it more convenient for you to follow me:

  • Make sure to like the Max Did It Facebook page. All the posts on this blog will be linked there.
  • I also have a Google+ Page, add it to your circles, if you like.
  • Follow me on Twitter, I will link blog posts there as well, and maybe tweet more day-to-day stuff there? Still have to figure that out.
  • Subscribe to the general Max Did It RSS feed, or choose one of the category specific ones in the menu on the right hand side bar.

Furthermore,

The page itself is available under www.max-did-it.com (which I consider the main address), www.max-did-it.de or www.maxdid.it, in case you want to bookmark it.

I'd be super happy for anybody who follows me, and gives me feedback in the comments or via mail.

That should be it for the introduction. Now, to boldly go where, at least I, have never gone before...