loading

Flixel: Actionscript-lovers, start your Engines!

Today I finally had the time to take a deeper look under the hood of the Flixel game-framework for Flash/Actionscript. My opinion? Highly recommended! Not only the mini-game “Mode“, that ships with Flixel, is a great one, but also all details of the source-code is well balanced and implemented in a professional way. You just need two hours to pop into game-development, even if you have only little understanding of developing games and Actionscript-code.

screenshot-mode
Screenshot from the example-game “Mode”

At Flixel you work with “states” and can add Sprites and Text to the states. There are also some handy halpers for doing animations as well, for example particle-systems. Things, game coders should instantly be familiar with. Here is the documentation.

Let’s look at a simple sprite object. Everything is implemented: health system, physics, animation handling, collision handling. It’s all there and it feels just right.

I do not know, how to best express my initial love for this tool.
A) It is open source.
B) It is possible, to extend it every time on your own for your projects.
C) It can be used for any project you like.
D) Even the preset-stuff that ships along is great.
E) There is a well maintained support-forum at Flixel.org, and I am sure, that it will grow into a community. Leaving one question open: Why pay for other tools? Flixel also integrates seamless into the free open-source code-tool (IDE) FlashDevelop.

Friends, I got a new toy to play with! Thanks Adam for this brilliant Flixel.

flixel-logo

Nikolaus Gradwohl

processing tutorial

I started to write a little processing tutorial, showing how to write a great
sidescrolling space shooter like in this screenshot below.

please give me a little bit of feedback and show me all the great games you make with the
help of my tutorial

download

tutorial.pdf
examples.zip

screenshot

tutorial

Peter Kirn
createdigitalmotion.com

Tangible Interface Hackday: Games, Creations, and More to Come

We have the tools. We have the techniques. Now, what happens when you put technology for tracking physical objects into the hands of artists around the world?

On June 6, members of the CDM community joined in our first “global hackday,” assembling tangible interfaces on tracking tables. Martin Kaltenbrunner of reacTIVision and the reacTable joined us from Vienna, Austria, while Adam Kumpf of the OpenFrameworks-powered Trackmate and MIT Tangible Media Group chatted from Cambridge, Massachusetts.

Much of the day was about saying “hello, world,” and helping each other through getting cameras working, troubleshooting, and the like. But there was an extraordinary variety of ideas even in one day. I can only imagine where things might go from here. I can also see the tools people were developing as being expressive for live visuals and visual performance - and via a really cheap interface, too.

Some of the accomplishments of our first day:

  • Endless ideas: Drawing interfaces using objects, a floor tom as a housing, a musical instrument with soda bottles as the interface, a game with blocks featuring the Tokyo skyline, and others.
  • Troubleshooting data: Both the Trackmate and reacTIVision projects got lots of feedback about how people were using the tools, where tracking was and wasn’t working, and where people got stuck up. We also compiled lots of information on cameras, drivers, builds, and operating systems. I’m working with Adam and Martin to dig through a lot of this information so we can compile a really practical guide to make it easier for people to create their own projects.
  • Special guests: Marco had his augmented magic show and we had the beginnings of an interactive glove. Check out the video highlights to see what the NYC event was like.
  • noisepages for networking, and other tools: Livestream video was a bit of a mixed bag; I’m still looking for easier ways of doing that (both on the video shooting side and the streaming side.) Text chat was an easy win, though IRC can still be cumbersome; I’m looking into integrating standardized XMPP chat instead, and providing access via any client or a webpage. But the other big success story was that noisepages worked nicely for documentation; see the fritzcrate and i3games sites for great examples!

Building Communities Around the World

A real highlight to me was getting to hear from Valeria (jalea.tv) and Jose (Estado Lateral Media Lab), visiting New York from Argentina. They talked about what the scene is like in Buenos Aires, and touched on issues of community, learning, open source, and the multilingual world of coding. And they do some really beautiful and hip visual work, both commercial and experimental. We also wound up with a significant amount of the online chat being in Spanish. That to me is a healthy sign - “global” really doesn’t necessarily translate to “English.”

Hackday Results, and the Future

For more documentation, head to our noisepages site:

Tangible Interface Hackday: The Projects (So Far)
http://hackday.noisepages.com/

http://trackmate.sourceforge.net/
http://reactivision.sourceforge.net/

And, yes, this is only the beginning. My suspicion is that a single weekend would be enough to get workable tracking projects going - especially as we iron out some technical wrinkles. But we’d certainly love to do more of this, whether it’s another “official” hackday or simple an open lab with chat and sharing.

To continue this moving forward, you can join the Tangible / Multi-touch Interfaces group on noisepages.com:
Tangible + Multi-Touch noisepages Group

And I’d like to brainstorm how we might proceed, whether it’s a formal event or a sort of online open lab. You can join that conversation on the group:
Let’s make every day a Global Hackday - the event continues

noisepages is still in alpha state, but we’re working aggressively to move forward to beta, and content placed there is safe and future-proof. (Most importantly, I’ve fixed the jpeg library on the server so that avatars work!)

We look forward to hearing from you.


Suburban Fantasy-Cities from Ross Racine

ross-racine-suburb-suburban
Picture posted with kind permission of Ross Racine

I do not want to talk about that totally web 0.8 styled website, with all that old-school copyright stuff and even text displayed as graphic, as well as those somehow boring “my work can interpreted as…” texts. But what is interesting about the site is the work from Ross Racine itself: a mixture of hand-made techniques in combination with the computer - and the vision behind it.

“Drawn freehand directly on a computer and printed on a high-end inkjet printer, my works do not contain photographs nor scanned material.”

He paint “suburban cities” from an urban-planning point of view. They are greyscaled, mostly have a bigger idea of a special form in mind (circle, spiral, tree, labyrinth), have a high aesthetic value, but are quite frustrating, if you imagine to live there or even to orientate in suburbs like this. Good, here we are now. Game-designers? Will you now take over and give it a third dimension?


Patapon DS Gameplay Video

Patapon is an upcoming Nintendo DS homebrew game, that is… somehow different. Look at this video, to see the gameplay in action (the bottom screen) to understand, that the flow of the game has a very special rhythm. I somehow like it. Read more about it a E-Eragons site, who works on this title. (via)

Update:
The DS homebrew above is made after a living PSP-game:


Codinghorror on URL-Shorteners

This is almost a must read about URL-shorteners, or in other words, what we do to the internet right now:

“The humble hyperlink, thanks to pervasive URL shortening, can now be wielded as a weapon. The internet is the house that PageRank built, and it’s all predicated on hyperlinks. Once you start making every link your special flavor of “shortened” link, framing the target content — heck, maybe wrapping it in a few ads for good measure — you’ve completely turned that system on its head.”

The rise of Twitter and URL-shorteners, that are connected to them as a completely new, I want to say “private owned”, layer to the internet, that makes the DNS and php-serverbased URL structure almost obsolete in a special sense.

Just read the whole article on codinghorror. Hot reading of the day:

“What’s aggravating to me is that the current situation is completely accidental. If Twitter had provided a sane way to link a single word, none of these weaselly URL shortening clones would have reared their ugly heads at all. (…) Every tiny URL is another baby step towards destroying the web as we know it. Which is exactly what you’d want to do if you’re attempting to build a business on top of the ruins.”


Interview about Giana’s Return

For the German-speaking readers and demoscene-lovers. At Superlevel is an interesting interview with Shahzad “Kojote” Sahaib about his project “Gianas Return” (follow up on Giana Sisters) and the games-scene in general, especially remakes and follow-ups of classic games.


Videoclip: Birdy Nam Nam - The Parachute Ending

This video is absolutely fantastic. Music comes from Birdy Nam Nam, that seem to be four turntabelists from France with some heavyweight electro. The video was made by Will Sweeney and Steve Scott.


MicroBricks Lego-Blog

microbricks-spacehouse
A rocket, a man in space-suit, a spacehouse…

microbricks-tractor
Tractor made of 18 parts.

Today I discovered a new Lego-Blog, that is worth reading (or better to look at the pictures of their works): MicroBricks. The thing they build a simple, small scale and make effective use of less tiles, in order to achieve more. The have (not) surprisingly a good amount of urban- / city- / architecture-topics in their works. Just as good as playing SimCity.


Recommended Summerevents in Germany 2009

Summertime - partytime! There are several events in this summer in Germany, that you don’t want to miss. We make the start of the summer-season with our Cologne-Commons Festival for free music culture (as you can guess it’s in Cologne, 12.-13.6.2009).

After that the torch is given to the guys of the Future of Music Barcamp in Mannheim, that will be held on the 4.-5. July 2009.

The beginning of August is as usual travelling and party time. This year you have the choice to move your lazy ass to Cologne, to the cosiest demoscene-event in the world Evoke. Or you choose to join the Indie Game Jam in Berlin. Both events are exactly on the same date: 31. July - 2./3. August 2009.

Got more recommendations? Leave a comment!


Extreme Cute: Mamegoma 3 Trailer Nintendo DS

Can you beat cuteness with mote cuteness? Yes! Just take a look at this upcoming title for the Nintendo DS in Japan: Mamegoma 3. I do not know about the gameplay, but it seems to be a wild mixture of virtual pet, toy and a collection of minigames. To be honest, where ones complain about “extreme brutality” in shooting games, this one just shows the other direction of extreme: Brutal cuteness. I want to have one! (via)

Metaphorical.net - powered by FeedBurner
metaphorical.net

Tween Sprite

Tweening, a.k.a. Linear Interpolation, a.k.a. Lerp, creates animation by moving a value between start and end.

Tweening is quite easy, but managing all the “tweens” in a scene is often a humdrum task.

TweenSprite is a simple tweening class for Actionscript 3. It allows you to animate multiple properties of a sprite, and choreograph the movements by changing time steps and loops.

Some pseudo-code to help you get started:

Create a new TweenSprite:

var sp = new TweenSprite()

Add some content or draw some graphics into it:

sp.graphics.drawRect(…)

Get a tween setting object:

var setting:Object = TweenSprite.setting( start_value, end_value, steps, easing-constant, loops );

Add as many tweens as you like:

sp.addProp( setting, PROP-ROTATION);
sp.addProp( setting, PROP-ETC );

Start the animation:

sp.start();

That’s it! Download the file for the source code and example.

You can also find additional information on tweening and easing functions online. Robert Penner has a great tutorial on this topic.

Andreas
eskimoblood.de

Inside a Letter?

InsideOut

How to check if your inside a letter? My first attempt was to get all glyph points to create a new Shape using David Bollinger fontoutline hack and check the insideness using contains(). By but than I figured out that its much easier cause you got always a shape by getting the outline of the glyph vector.

So here we are:

JAVA:

  1. import java.awt.Font;
  2. import java.awt.Graphics2D;
  3. import java.awt.Shape;
  4. import java.awt.font.GlyphVector;
  5. import java.awt.image.BufferedImage;
  6.  
  7. Shape shape;
  8. public void setup() {
  9.     size(1400, 400);
  10.     shape = makeLetter(”MOD”, 300, “Produktion”, 30, 300);
  11. }
  12.  
  13.     if(shape.contains(mouseX, mouseY){
  14.         rect(mouseX, mouseY, 5,5);
  15.     }
  16. }
  17. Shape makeLetter(String fontName, int size, String text, int originX, int originY) {
  18.     Graphics2D g2d;
  19.     if (g.getClass().getName().equals(”PGraphicsJava2D”)) {
  20.         // JAVA2D has one of it’s own already:
  21.         g2d = ((PGraphicsJava2D) g).g2;
  22.     } else {
  23.         // P3D, OPENGL don’t have one, so make one:
  24.         BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
  25.         g2d = img.createGraphics();
  26.     }
  27.     // note that it must be and installed font no need to put it in the data folder
  28.     Font font = new Font(fontName, Font.PLAIN, size);
  29.     GlyphVector gv = font.createGlyphVector(g2d.getFontRenderContext(), text);
  30.     return  gv.getOutline(originX, originY);
  31. }

Quiet but not inactive

Been a while since I last updated. I assure you I have not been resting. Unfortunately I am working on projects that need to remain under the cover of vagueness until they are either 1)more fleshed out or 2)officially launched. But that doesn’t mean I can’t tease a bit, right?

The two things that have been occupying most of my time the last couple weeks are procedural landscape generation and population, and procedural plant generation. The landscape project started because of an installation the Barbarian Group is doing for a gallery in Seattle (nope, not the McLeod Residence this time). This project should be done sometime in October. I am going to be vague on the details because there is still plenty of time for the scope to change and knowing me and the way I like to work, it will change. Four months is a long time.

Fuji_01

There are some additional test renders up on my Flickr page. In short, you are looking at a terrain mesh based on actual GSPS data from NASA. Many thanks to Kyle McDonald for figuring out how to parse the very strange .hgt file format. His example code is available at OpenProcessing.org.

I have done terrain experiments before but never thought much about how to make them more lush by populating the mesh with plants and trees. Thanks to my new found appreciation for GLSL shaders, I was able to put a nice coating of wind-blown grass onto the terrain, as well as a few thousand trees and bushes.

The water is made of layers instead of a flat plane. This was mostly an aesthetic decision. I just like the way it looks, especially if the camera is lower to the ground as it will be in the final version.

It is interesting to pause here and consider how far we have come since the good ol days of the NextFest grass wall project. That project from 2006 stretched my coding ability as far as it would go. And all for what? A few hundred 2D grass blades that barely broke 30 frames per second. This new landscape has rolling hills of seemingly millions of blades of grass all bending in the wind with cloud shadows and minor dynamic lighting and easily hovers above the 60 fps threshold. Exciting! But thats pretty much all I can say about that until we get further along.

I recently got sidetracked because I wanted to find a substitute for the TurboSquid.com textures I was using for the trees and bushes. I remembered the branching application I wrote earlier this year and decided it would be reasonable easy to recode it to produce plant life.

I was partially right. It wasn’t hard to make the code churn out plants, but it was hard to make it create plants that didn’t look like CG plants from The Lawnmower Man. There was just way too much symmetry and predictability in the growth patterns. I decided to spend a few days making it more robust.

First up, trees. The image below was my attempt to make a believable tree (without branches). The basic process is to start with a node. Think of it as the seed for the tree. The seed is created with all the behavior characteristics for the entire tree. The seed creates child nodes which pass along the tree’s ‘genetic information’. This information consists of parameters like lengthDelta, lengthDeltaDelta, radiusDelta, radiusDeltaDelta, maxChildren, color, maxGenerations, etc. As a parent creates a child node, it sends this information but mutates it slightly. The nodes arrange themselves in space using magnetic repulsion. Any node can repulse other nodes as long as they are of an equal or higher generation. The node at the base of the trunk repels everything whereas the nodes at the branch tips repel only each other. If you code in some decreasing branch lengths and radii as you go from generation to generation, you will create a nice space-filling tree with no branch overlaps. Sadly, these trees are complex enough to elude a reasonable frame-rate but perhaps with some limitations placed on the number of branches that can be created, and killing off the repulsion after the branches settle into place, they will be swaying in the Perlin noise breeze in no time.

Fuji_03

I then tried to place some leaves or flowers on the trees and accidentally changed the perceived scale quite a bit. It no longer seemed like a majestic oak. It turned into a bush, and then eventually, much smaller flowering weeds. I wasn’t put out by this change (bushes and weeds were going to need to be addressed eventually anyhow) so I went along with it and started making bushes and weeds.

Fuji_02

The weeds ended up catching my attention the most because I could see a great deal of potential to create amazing unique renders of realistic looking plants without needing to manufacture them on a more traditional 3D application.

Fuji_04

I was reminded on Flickr that I am treading into territory that has been explored by countless others before me, namely Prusinkiewicz and Jon McCormack. It is definitely an exciting distraction and I look forward to experimenting further with this methodology.