Saturday, 30 July 2011

Solid Motion

A while ago I posted the image below as a little teaser. Quite a few people told me they liked it and asked me what it was. Today, answers are given!


"Solid Motion O" - view high resolution or download ultra high resolution

What you see here, is the Solid Motion of a teapot falling down and bouncing off the ground. Solid Motion is a word I made up for these kinds of shapes. So what does it mean? The idea is that when an object moves from point A to point B, there is an amount of space in between that it moves through. All this space together is what I call a Solid Motion. It is a solid object that covers that entire space.



So to generate a Solid Motion, I need an animated model. This is the animation that created the teapot image at the start of this post:



When you compare the two, you can see all the motions in the Solid Motion. Especially the ending position of the teapot at the bottom of the image is pretty easy to distinguish.

What I find absolutely fascinating in this technique, is that the shapes it creates are at a strange middle ground between abstract and figurative. The image above shows a falling teapot, which is totally figurative. Just a teapot falling down. However, once the Solid Motion has been generated, the teapot is hardly visible any more and the new shape is this weird, abstract thing with lots of interesting curves and spikes in its surface. So the figurative teapot became an abstract Solid Motion!

Another beautiful example is this temple being destroyed by a ball crashing into it. I especially love the curves of the pillars falling down.


"Solid Motion M" - view high resolution



I cam up with the idea for Solid Motion after reading a book about Futurism. Futurism is an Italian art movement from the early 20th century. Futurists were fascinated by movement, especially in the new technology of the machines, planes and fast cars of the time. They did lots of artistic experiments, including theatre with strange angular costumes and even cooking, which apparently resulted in absolutely horrible meals...

The futurists were a strange bunch: they loved modern technology so much, that they were very eager to go into the Great War and play with all this speed and technology. Several of them died during World War I, including Boccioni, their most talented artist (just check this painting and this famous sculpture for an idea of his awesome work).

Futurism resulted in lots of interesting artworks, and their history has so many strange aspects that I could talk about them all day, but lets ignore the story of them trying to become friends with the Italian fascists (Mussolini!), and lets not turn this blog into an art history thing (although I have to admit I would enjoy that quite a lot...). The point here is that one of the things the Futurists tried to do, was to capture movement and speed in a single painting or sculpture. This made me think about modern methods to do that, which resulted in my Solid Motion script.

Enough talk, though! Here are some more Solid Motions, plus the animations that were used to generate them. I had a lot of fun playing around with some really weird materials for these, and I personally think that resulted in some pretty strong and unique images. ^_^ Be sure to check out the high resolution images as well, since they look a lot better when viewed full screen!


"Solid Motion I" - view high resolution or download ultra high resolution




"Solid Motion E" - view high resolution




"Solid Motion J" - view high resolution or download ultra high resolution




"Solid Motion Q" - view high resolution



I made a bunch more, but the others didn't turn out as well as these. You can see the rest here.

So, how did I actually create these Solid Motions? Since this is a new concept (as far as I know), I had to write my own script for 3D Studio MAX to generate them. Technically, it is quite simple. It starts by copying the animating object at every frame of the animation. This gives a good basic shape. To also create a smooth outside surface, I continue to create a polygon from every edge of the model to the same edge in the next frame. And that's basically it!



This does create an insane amount of polygons, though. For example, "Solid Motion J" (the black and white image above) has over four million polygons! Generating that using the always slow MAXScript programming language took a looooooong time! However, since this is only intended to create images, I don't really care about efficiency here anyway.

The first version of this script is already from 2006, and I have to admit that these images were mainly made in 2009, so quite a while ago. I will post some new ones in the near future, but in the meanwhile you can also give it a try yourself! You can download the MAXScript here:

SolidMotion.ms

To use it, animate some objects in 3D Studio MAX, select them, then click MAXScript at the top of the screen, select Run Script and select the script. Be sure to bring some patience, though, since generating them may take a while! The script generates Solid Motions for all selected objects for the entire timeline. Be sure to start out with just a couple of cubes and a hundred frames, though, before trying more complex things. Long animations of objects with lots of polygons are quite likely to crash 3D Studio MAX, so start out simple!

If you make some Solid Motions of your own, then please comment below to show your results! I would love to see what kind of animations and shapes you come up with! ^_^

Tuesday, 26 July 2011

Proun highscore system patched

After a lot of requests I have changed Proun's highscore system, so that only the best score of each player is shown, instead of all the separate scores. Since a single person often held the entire top ten, the highscores were a bit boring. Now more people are shown there, making it ten times easier to reach the top 10! ;)

The patch was applied to the server, so you don't need to download anything new to benefit from this. :)

I hope this works, though: I am not very pro with SQL, but I think I got it right after a dozen tries...

The reason I didn't make it like this in the first place, is that I totally didn't realize this was going to be a problem. Pretty dumb, in retrospect, but it felt good when I was testing on my own by submitting lots of times myself. Obviously, I should have thought of the big picture with lots of players, instead of my own situation when only I was playing.

Also, let me grab this chance to thank Jan-Pieter van den Heuvel, who fixed my hosting problems a while ago. I studied Computer Science with him, and he now owns a web development company called Piozum. Piozum develops custom software and web technology for clients. As I said above, I am not an expert in web technology and such. Jan-Pieter definitely is, so he adviced me on finding a new host and optimised my SQL scripts for me. Thank you, Jan-Pieter! :)

The new host, by the way, it Byte.nl. The most important thing I have learned from the website going down last month, is that I should always get hosting at a company that can scale the service up to a more expensive deal, instead of closing me down when I reach the traffic limits. If the website is a success, paying more is not a problem. Being shut down however is absolutely horrible...

Meet the Awesomenauts: Sheriff Lonestar

Today we have released a new trailer of Awesomenauts, showing Sheriff Lonestar in action! He was genetically engineered by cows, but escaped and enslaved them all. Now his most powerful weapon is a holographic bull!

(Yes, it did make perfect sense to us when we came up with this back story... ;) )

Fellow Ronimo Ralph did a great montage for this trailer, and Sheriff Lonestar's theme song is again some awesome music by Sonic Picnic!

Saturday, 2 July 2011

Games as expression / Proun as me

What goal does a game developer have when he makes a game? This is a very interesting question, and one that cannot be asked often enough. I think the most common answers can be summarised as one of these two:

  • To make as much money as possible
  • To give the player the best game possible

(Note that in this blogpost, I am ignoring serious games, advergames and political games, which are games with different goals than these two. These are interesting topics in their own rights, but I don't want to talk about them today.)

Obviously, there are lots of subtleties to my two types of game development goals. Making money is not just about how much copies you sell at what prices, or how many in-game items you sell. It is also about how much making the game cost in the first place.

"Giving the player the best game" can also be interpreted in many ways. The most obvious interpretation is trying to get the highest review scores, but it can also mean other things. Niche games can be really good for a limited audience, and at the same time also really bad for everyone else. And I have been told that in Japan, game development is very much about fan-service: if gamers love a game, then making lots of sequels and derivative games is a service to the fans. In the western world we sometimes frown upon this and judge that they are abusing the franchise with quick games to make as much money as possible, while it may really be very good fan service. This is a very different view on what is the best thing to do for the gamer.

Of course, most developers try to aim for both goals: make a good game that also makes lots of money. This is also our strategy at Ronimo Games: we try to make awesome games, but we are also a company, so we also need to earn enough money to make a living. We believe that these goals can coincide really well, though: good games have a better chance at selling well.

Money and quality don't always have to agree, though: free to play games often base their design choices exclusively on item sales statistics. Surprisingly, there are a lot of things that make the game less fun, but increase revenue. I will get back to that in a later blogpost, though, because that is a big topic all by itself, and I am getting to the point of this blogpost now, which is that there is more than money and quality:

Games can also be made as self expression.

This is the case with Proun, and without doubt with some other games. Proun was made because there were ideas in my head that wanted to come out. They wanted to be a game. I wanted them to be a game. Design choices in Proun were not made to make it the best game for the player, or to make as much money as possible. Proun was made because I love the experimental art from the early 20th century, and I wanted to express this love in a game. Proun was made because I was fascinated by having a world where there is no up or down, and everything rotates.

The music in Proun is what it is, because I felt it was what had to be there. Lots of people told me they thought the graphics and gameplay should go with techno, but that is not how it felt to me. It felt like something in the direction of the speed of Rockabilly and the cheerfulness of Dixieland. So that is what is in the game.

The best example of the impact that designing a game from my own expression has, can be found in the lack of numbers on the opponents to show their rankings. Players often complained to me that they wanted to see how the computer players were ranked, so I experimented with adding numbers on top of the balls. This really worked: I asked some 15 people to test the game and they all preferred to see this like this. However, I personally hate these numbers: they clutter the minimalist graphics and make the eyes focus on the wrong things. So I turned them off. Despite 100% of the playtesters liking them, I turned them off. Because I didn't like them. I would never have made that choice if the goal was to make the best game for the player. Yet I did.



Don't get me wrong, though: I do care whether players like Proun or not. It makes me very happy and proud that Proun is getting such positive feedback as it is. I am human enough to be influenced by how other people think about my work. The point of this blogpost is just that that was not the main goal in making Proun.

I think making games from your own expression is an interesting starting point to do something different. Many of the greatest artists in history worked like this. For example, Van Gogh expressed himself through his paintings. He sold only one painting during his life, but he is now considered one of the greatest painters ever to have lived, and he is one of the founding fathers of all 20th century art. Van Gogh is known today for how his (distorted) personality shines through in every aspect of his paintings. I think the Van Gogh of games has probably not appeared yet, and I think when he does, he will change our perception of what games are. I think it is time more game developers start treating games as expression, and in the process they will broaden our minds.


(Image from an interview with me on Indiepubgames.com.)