The City in a Bottle bloghttp://www.cityinabottle.org/Latest updates on the City in a Bottle project, creating a game world for virtual creatures.en-usNodeBox for OpenGLhttp://www.cityinabottle.org/blog/nodebox-opengl/ <p>We have released our game development engine. It is available in the new &quot;Download&quot; section on the website. NodeBox for OpenGL is a free, cross-platform library for generating 2D animations with Python programming code. It is built on Pyglet and adopts the drawing API from NodeBox for Mac OS X (http://nodebox.net). It has built-in support for paths, layers, motion tweening, hardware-accelerated image effects, simple physics and interactivity.</p> <table border="0"><tbody><tr><td><a href="/nodebox/"><img src="/media/img/download.png" height="40" width="40" /></a> <br /></td><td><a href="/nodebox/"><span class="big_text">NodeBox for OpenGL</span><br />http://cityinabottle.org/nodebox</a> <br /></td></tr></tbody></table>http://www.cityinabottle.org/blog/nodebox-opengl/E-Culture Fair 2010, Dortmundhttp://www.cityinabottle.org/blog/e-culture-fair-2010-dortmund/ <p>From August 23 to 25, the E-Culture Fair 2010 will be showcasing innovative projects in the fields of creative industry, research, education and media art at the Dortmunder U.<br /><br />ECF will take place during ISEA (International Symposium for Electronic Arts) in Dortmund, Germany. We will exhibit interactive installations at ECF with City In A Bottle, NodeBox and Dark Matter (partner project, Tom Heene, Pieter Heremans et al.)<br /><br /><a href="http://www.eculturefair2010.eu/">http://www.eculturefair2010.eu/</a></p><p>&nbsp;</p><p><span style="line-height: normal" class="Apple-style-span"><img src="/media/gallery/blog_ecf.png" /></span></p><p>&nbsp;</p><p>Some pictures from the exhibition: </p><p><img src="/media/gallery/blog_ecf2.png" height="1200" width="385" /> </p>http://www.cityinabottle.org/blog/e-culture-fair-2010-dortmund/The moving foresthttp://www.cityinabottle.org/blog/moving-forest/ <p>We held a workshop on saturday and one of the things that came out of there was &quot;The moving forest&quot;: a first experiment with parallax scrolling. I simply used the grouped layers of a Photoshop mockup to scroll. The effect breaks down at the edges of the canvas but zoomed in, it's pretty convincing.</p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="640" height="505"><param name="movie" value="http://www.youtube.com/v/aRExmZIurUs&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="" /><embed src="http://www.youtube.com/v/aRExmZIurUs&amp;hl=en&amp;fs=1&amp;rel=0" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="640" height="505"></embed></object><p>The music is from <a href="http://www.amazon.com/Riven-Soundtrack-Video-Game-Score/dp/B00000603B">the soundtrack of the game Riven</a>, by Robyn Miller. </p>http://www.cityinabottle.org/blog/moving-forest/Tim Langdellhttp://www.cityinabottle.org/blog/tim-langdell/ <br /><br />Recently, blogs have been ablaze with the stories of Tim Langdell's gaming company <br />(The Edge) sueing a small 2 man company (Mobigame) for releasing a game called &quot;Edge&quot; <br />on the iPhone.&nbsp; <br /><br />The story goes that, although not having released any new games for 15 years, <br />they have been persecuting a lot of people for using the word &quot;Edge&quot;, including a 1997 film with Anthony Hopkins.&nbsp; And now they're after Mobigames' money.&nbsp; <br /><br />Edge is no longer for sale in the US and UK.<br /><br />Quite amazing, considering Tim Langdell is a board member of the IGDA, an association supporting game developers.<br /><br />If you feel like reading a 4-page backstory:<br /><a href="http://www.gamesindustry.biz/articles/the-edge-of-reason_7" title="edge of reason">http://www.gamesindustry.biz/articles/the-edge-of-reason_7</a><br /><br />Well, I cried havoc, joined the Facebook in support of Mobigame and let as many people <br />I knew know about it.<br /><br />Including Tim Langdell.<br /><br />Yes, I mailed him and, as politely as my infuriated state allowed me to, told him off.<br /><br /><hr size="2" width="100%" /><br /><span class="white_box">Subject: it's either the one or the other</span><br /><br /><span class="white_box">Dear Tim,<br /><br />How can you be board member of an organisation that is supposed to help game developers meanwhile threatening to squash a 2-man dev company over some far-fetched legal issues?<br /><br />If you are serious about your role at IGDA, you would try to sort this out properly.&nbsp; <br />NOT TO THE LETTER OF THE LAW, but with a sense of justice.<br /><br />Regards,<br />Nicolas</span><br /><br /><hr size="2" width="100%" /><br />But then something unexpected happened.&nbsp; Tim replied.&nbsp; And this is what he had to say about it:<br /><br /><hr size="2" width="100%" /><br />Hello Nicolas<br />&nbsp;<br />I am sorry you are being exposed to such a flood of lies about me and my company. First, Edge Games has never demanded money from any one for its trademarks. That was a lie made up to try to make Edge and me look bad. Second, in all the trademark settlements we have done over the years we have never taken a cent from anyone. Not one penny. People want you to think we are trademark trolls, but there is no truth to that at all.<br />&nbsp;<br />As to Mobigame, they infringed our registered trademarks EDGE and THE EDGE which we have held for decades. It was not just a matter of &quot;letter of the law&quot; that they were wrong, it was morally and ethically they were wrong too. Apple investigated the matter and they came to the conclusion that Mobigame were wrong to use the name Edge in the UK, US and Germany where Edge Games has registered the mark EDGE. We did not influence Apple's decision. We did bring the fact of our registered trademarks to Apple's attention, but we are forced to do that by law which demands when we see our mark being used we are obliged to tell the party selling the infringing goods. We would have have serious consequences had we not told Apple.<br />&nbsp;<br />We never asked Mobigame for money and they have not paid us anything. That dispute is over with Apple deciding in our favor. We tried for months since late May to persuade Mobigame to change the name of their game to EDGY but they have repeatedly refused to do so (while lying to the public by claiming we somehow stopped them from changing the name). We abandoned the application in the US for EDGY (which we can prove, if necessary, that we only applied for because Mobigame asked us to), and have done everything in our power to encourage Mobigame to rename their game EDGY, get it back on sale, and stop losing money by keeping the game off the market. Mobigame have refused (as recently as last week) saying that they want to keep the name as &quot;Edge&quot; despite Apple and the US Trademark Office both telling them they may not do so. Mobigame must now fight with Apple and the US Trademark office if they are being so stubborn as to not change the name of their game, but Edge Games is now out of that argument.<br />&nbsp;<br />Again, Edge Games has only sued one company in the past 30 years and that law suit was withdrawn with a very amicable settlement being reached between the parties. So there is not the slightest validity in calling us a company that threatens indie developers, tries to make money off of our trademarks, or etc. We are not, nor have we ever been, &quot;trademark trolls.&quot;<br />&nbsp;<br />Do better research, ignore the lies being stated and restated all over the internet, find out the truth (as us more questions if you like) and come to you own conclusion not one based on the falsehoods being said about us.<br />&nbsp;<br />From a personal perspective, I serve on the Board of the IGDA as an individual, NOT as the CEO of Edge Games. Thus all these criticisms of Edge Games' practices should not influence anyones opinion as to my suitability to be on the Board. I have been an indie developer for 30 years (one of the first) and am a strong supporter of indie rights. My company has funded several hundred indie developers to get their first start in the game industry and my university classes have graduated several hundred students who have gone on to work in the industry both as indies and as part of large studios. With respect, I have give a sizable contribution to the game developer community and have never, ever, done anything that is contrary to the interests of game developers or the IGDA. Those are all malicious falsehoods.<br />&nbsp;<br />Tim Langdell<br />CEO, Edge Games Inc<br /><br /><hr size="2" width="100%" /><br />I have two things to say about that.&nbsp; One, it is very cool that he actually replied.<br /><br />And two, whatever the truth, he is right about one thing.&nbsp; Most of these articles are little more than blogs and not hardcore journalism.&nbsp; How can we be sure the stories are true?<br /><br />They still might be, but I caution the mob that is amassing outside of the gate with torches and pitchforks to hold off just one moment and do some extra research. <br /><br /> Just because it is a nice David and Goliath story, doesn't mean it is necessarily true.<br /><br />- Nicolashttp://www.cityinabottle.org/blog/tim-langdell/What if our insects were weapons?http://www.cityinabottle.org/blog/what-if-our-insects-were-weapons/ Funny.&nbsp; I've stumbled across a game that uses the same principles of emergent behaviour, but targeted at one single item of gameplay, namely weapons.<br /><br />Galactic Arms Race is a multiplayer spaceshooter.&nbsp; Nothing special there, until you come to the weapons section.&nbsp; The lasers have not been designed, but are generated by the AI.&nbsp; And it provides creative solutions for killing enemies!&nbsp; Check it out:<br /><br /> <object width="512" height="384"><param value="http://www.youtube.com/v/QiBOk6ar1mg&amp;hl=en&amp;fs=1&amp;" name="movie"></param><param value="true" name="allowFullScreen"></param><param value="always" name="allowscriptaccess"></param><embed src="http://www.youtube.com/v/QiBOk6ar1mg&amp;hl=en&amp;fs=1&amp;" width="512" height="384" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash"></embed><br /><br /></object><br /><br />- Nicolashttp://www.cityinabottle.org/blog/what-if-our-insects-were-weapons/A question for lazy developers.http://www.cityinabottle.org/blog/question-lazy-developers/ <p>How do you design an entire forest with the least amount of effort?&nbsp; <br />You lay down the principles and let the computer do the rest of the work for you.</p><p>Keeping in line with the mechanics of the rest of the game, we are letting the game engine generate the trees in the forest by itself.<br /><br />What we will do is make a library of tree bark and define rules for tree-like skeletons. The skeletons are created using <a href="http://nodebox.net/code/index.php/Mark_Meyer_|_L-system">L-systems</a> - which are like a simple &quot;grammar&quot; to describe plantlike shapes.&nbsp; The game engine will then procedurally paste tree bark textures together and cut them into shape. </p><p>This is just a first rough draft, with only 10 bark samples in the library.&nbsp; Imagine how it will look after tweaking and tons of (and better) samples...</p><p>- Nicolas</p><p>&nbsp;</p><p><img src="/media/blog/treebark.jpg" alt="treebark" align="left" border="0" height="338" hspace="0" vspace="0" width="600" /><br /><br /><br /><img src="/media/blog/trees.jpg" alt="generated trees" align="left" border="0" height="676" hspace="0" vspace="0" width="600" /> </p>http://www.cityinabottle.org/blog/question-lazy-developers/Game engine source codehttp://www.cityinabottle.org/blog/game-engine-source-code/ <p><span class="pink">Technical note. </span></p><h3>The game engine for City In A Bottle is now open source (GPL). <br />The code is hosted at the <a href="http://dev.nodebox.net/browser/nodebox-gl/trunk">NodeBox development site</a>. </h3><p>For people that are already familiar with NodeBox, the engine has adopted the same API (i.e. drawing commands) as NodeBox so it's very easy to get started.</p><p>The game engine is written entirely in Python and built on top of Pyglet. Graphics are rendered in OpenGL. So far we have code for drawing images and primitives (B&eacute;zier paths, including all the path mathematics from NodeBox), extension classes for working with layers and motion tweening, matrix transformations and basic hit testing, a few GLSL shaders (colorize, blur, gradient, multiply) and offscreen rendering. Integration with PD for sound is coming up, as are some GUI controls (slider etc.) </p><p>There's still a lot to do but the code is already operational for rendering NodeBox-like visuals... at hardware-accelerated speed. There's no documentation yet so you'll have to dig into the source.</p><p>Tom </p>http://www.cityinabottle.org/blog/game-engine-source-code/"City" goes to Denmarkhttp://www.cityinabottle.org/blog/city-goes-denmark/ <p>Last week, we were invited to participate in an international arts expo in Denmark.&nbsp; So we loaded up the car and drove whole the way up to the north.&nbsp; It took us 12 hours!<br /><br />Turnout was better than expected and we sure generated a lot of interest.&nbsp; We met some really sweet and interesting people there.&nbsp; But more importantly, we now have our presentation fixed and ready.&nbsp; So if ever we need to introduce ourselves, the work is done!<br /><br /><img src="http://www.tine-declerck.be/city/dkdesk.jpg" alt="Denmark presentation desk" height="380" width="680" /><br /><i>- Our setup.&nbsp; We laid the carpet ourselves!</i>&nbsp; <i>And that seat next to the beamer?&nbsp; Very expensive!&nbsp; Very!</i><br /><br /><img src="http://www.tine-declerck.be/city/dkuitleg.jpg" alt="explaining city in a Bottle" height="380" width="680" /><br /><i>- These guys came from the other side of Denmark just to hear me yack on about insects and plants scurrying around for food.<br /><br /></i>Nicolas<i><br /></i></p>http://www.cityinabottle.org/blog/city-goes-denmark/Results of the workshophttp://www.cityinabottle.org/blog/results-of-the-workshop/ <p><span style="line-height: normal" class="Apple-style-span"></span></p><p style="line-height: 17px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; font-size: 11px; padding: 0px">Our first creatures workshop was an opportunity to work with Tim to integrate Pure Data into our Python runtime, written in Pyglet.&nbsp;</p> <object width="425" height="344"><param value="http://www.youtube.com/v/c1WN-0qwCTA&amp;hl=en&amp;fs=1&amp;" name="movie"></param><param value="true" name="allowFullScreen"></param><param value="always" name="allowscriptaccess"></param><embed src="http://www.youtube.com/v/c1WN-0qwCTA&amp;hl=en&amp;fs=1&amp;" width="425" height="344" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash"></embed></object><a href="http://www.youtube.com/v/c1WN-0qwCTA&amp;hl=en&amp;fs=1&amp;" class="pldmmlwuebwuwcfvqnpi visible ontop" title="Click here to block this object with Adblock Plus" style="left: 425px !important; top: -344px !important"></a><a href="/admin/blog/entry/10/" class="pldmmlwuebwuwcfvqnpi visible ontop" title="Click here to block this object with Adblock Plus" style="left: 425px !important; top: -344px !important"></a> <br /><p>&nbsp;</p><p>This small movie gives an overview of the underlying creatures engine. What's important here is not how it looks, but how all the pieces fit together. We now have a bare-bones visual framework and editor, an animation system, and a link to the underlying sound system.&nbsp;</p><p>Normally, we all work separately and periodically show each other the results of our work. While an approach like that works great, sometimes nothing beats some face time, especially when integrating separate components into one coherent whole. Workshops are an ideal opportunity to share ideas. Furthermore, they force you to think about the interfaces between all the components: which messages are the creatures sending to the sound engine? How does PD communicate back to the creatures and how to they react on that?</p><p>We're very happy with how this workshop turned out and hope &nbsp;to do more in the future.</p>http://www.cityinabottle.org/blog/results-of-the-workshop/Workshop time!http://www.cityinabottle.org/blog/workshop-time/ <p>For the next three days, we are &quot;workshopping&quot; in the <a href="http://www.champdaction.be/nl/">Champ d'Action</a> studios, our partner in crime for sound and music.<br /><br />Champ has introduced us to Tim Vets, a musician/composer/installation artist.&nbsp; Check out his work at <a href="http://timvets.net/">http://timvets.net/</a><br /><br />We'll be working on the interaction between sound and vision.&nbsp; Give our plants and insects their own voices, so to speak.&nbsp;&nbsp; We'll let you know when our children utter their first sounds.&nbsp; I'm hoping it's &quot;daddy&quot;.<br /><br />Nicolas </p>http://www.cityinabottle.org/blog/workshop-time/