Sandy 3D Heightmap Terrain

with 7 comments

A few people asked how i created the terrain in Nimian Garden. I modified Collin Cusce’s original Sandy 3d Terrain class (link offline) to work with a heightmap, or black and white image, that you import into your flash file.

You can download the source files here:

http://www.protopop.com/lab/assets/src/sandy_heightmap.zip

Unfortunately in my version the texture map needs to be rotated before it is imported into flash to match up with the heightmap. With some tweaking perhaps someone will figure out how to fix this. mclelun has fixed the rotation issue in the class, now you can just compile with a heightmap and terrain texture as is.You can export a heightmap from most terrain editors (see below). To get a picture of the texture, i just position the camera above it and look straight down in my terrain editor and render an image to use as a texture.

In the game Nimian Garden i also created a custom loop to handle collision detection when running over terrain. Basically you can do this by reading your position of the heightmap using getPixel, and use that value to set the y position of whatever object you like in your Sandy 3D app.

As for creating the heightmap and the texture itself, there are many options. Try using Vue (free personal learning version is available)  or Terragen Classic (free, excellent landscape generator), which i prefer to the also amazing but more complex Terragen 2.

Written by protopop

January 20th, 2010 at 6:16 pm

Posted in Uncategorized

Nimian Garden Open Beta

with 7 comments

Screenshot of the Action Adventure Garden game, Waterfall Woods

I’ve just posted an open beta version of Nimian Garden : Waterfall Woods here:

http://www.protopop.com/games/waterfallwoods/

I’m going to be listening to feedback and watching it over the next little while to see what works and what doesn’t. I like to think of it as an Action-Adventure Garden game – that’s a nice little niche genre that remains relatively unexplored so far.

It takes place in the Continent of Nimia, the setting for some of my other games like Nimian Hunter and Nimian Flyer Legends (are you starting to see a theme here?). The game was created using the free Sandy 3D API for flash http://www.flashsandy.org/ , a very game-friendly/artist-friendly way to get 3d into your flash games.

Written by protopop

January 11th, 2010 at 4:29 am

5 Favorite Musical Moments in Videogames

with 3 comments

Sight, sound, touch, taste and smell. For the moment when it comes to games the last 3 are out.  Until smellovision, haptic interfaces and lickable screens are omnipresent, game designers will continue to rely on the big 2, sight and sound, to create their worlds. Why then does sound design always seem to take a backseat to the graphics? The worst kept secret in interactive design is that sound is half the experience. Sure, a cool interface or a golden forest is a joy to experience, but add the right click and beeps or singing songbirds to the mix and your immersion increases ten-fold.  And this isn’t limited to sound effects. More and more videogames are including elaborate soundtracks that elevate the experience to the level of a grand ballet – a heady mix of sight and sound that stays with you long after the game is out away on a dusty shelf. With this in mind, I’d like to share 5 of my favorite musical moments in videogames – where the mix of music and the moment made for an extra special and unique experience.

5. Grand Theft Auto Vice City:  Run to You by Bryan Adams

Beach Cruising at Sunrise

yes I used to listen to this in high school. A catchy, somewhat sad Canadian rock tune that emerged in the age of video. But when I was driving along the beach in Vice City, watching the sunrise and doing nothing in particular except enjoying the view, something magical happened. Suddenly i wasn’t playing a videogame. I was coasting along a Miami beach, windows down, radio blaring. The power of the soundtrack suddenly came into focus, its ability to enhance a moment and make it something other than just a means to get from mission 1 to mission 2 by pressing the A button. I suppose when it comes to popular music soundtracks like those found in the Grand Theft Auto games, it doesn’t matter which particular song is playing. There are so many that we’re each likely to experience a moment where that long lost tune and game activity combine into something special for that particular person.

song only

4. Beyond Good and Evil: In Hot Pursuit by Christophe Heral

Battle with the Domz Sea Serpent.

You’re casually leaving Mamago’s Garage in your rusty but trusty hovercraft, enjoying the sunny, ganja-fueled music, and perhaps thinking about the pleasures of a good joint when suddenly the skies darken, the mood changes, and Teratosaurus Imperator swoops out of the sky. This enormous sea serpent twists and turns in a lifelike manner across the surface of the water, several times the lenghth of your own ship, and In Hot Pursuit begins to play. Suddenly you’re engaged in a life and death shoot out while the choir sings to the rafters and the electro beat pounds along, simultaneously extolling the ‘larger than life’ nature of the serpent and the urgent nature of the moment. It’s this sudden change of contrast that makes the battle stand out that much more clearly, and the desperate chanting of the choir still haunts me.

2:38 in the video

3. Super Mario galaxy: Starbit Festival by Super Mario Galaxy Orchestra

Welcome to the Starbit Festival

I expected catchy music – every Mario game has it, going back to the original now iconic Super MArio original theme. So when Starbit Festival started playing, my first thought was that it sounded somehow familiar – an idyllic almost off tune piece of music that said “This is a Mario game”. As i began to wave my Wii wand around at the tv, collecting starbits and marveling at the then novel way of interacting with my screen, i crossed the crest of the first hill and suddenly the fairy-like majesty of Mario’s newest kingdom spread out before me. Starbits sparkled, mushroom men screeched a somehow soothing “Meee-hahhh!” as i spoke to them, lamps glowed and i began my journey down the village road that would lead to hours of adventure. But what really made this music so poignant later on was that it was never repeated again until the Final Galaxy, then only if you collected all 120 stars. It was a piece that was written just for that initial moment of wonder, and it’s subtle electronic beeps and orchestral whimsy captured and enhanced the scene perfectly. Whenever i hear the song I think of that first moment in a videogame when everything is new and nothing is known.

2. Mirror’s Edge: The Atrium (Kate – Puzzle) by Unknown

Into the Rafters

Some soundtracks are subtle.  When I first arrived in the towering atrium level in Mirror’s Edge i was floored by the beauty of the light. There were sunsoaked walls, deep shadows and beautiful glass and girders. Once i picked up my jaw off the ground, i began my long and frustrating climb to the top of the room – several stories up. And i died. I fell and died then i fell and died again ad nauseum, slowly learning the ropes, cursing the screen and more than once throwing down the controller and leaving the room, declaring this the worst game in existence even as I marveled at the gorgeous scenery, innovative mechanics and that unique sense that somehow, this room and this city was a real place. Eventually i reached the top (today i can do it in minutes) and went on to finish what has become my absolute favorite game of 2008.

It was only months later, when i heard the song that plays in that room, that i realized how much I had invested in the experience. I instantly recognized it as the music from the Atrium, and I was surprised at the flood of memories it produced. I realized that music was with me the entire time i was climbing and leaping among the girders – i just didn’t notice it at the time.  Sometimes a composer writes a piece that, for a minute, becomes like a friend to you – sticking with you through thick and thin, never annoying or intruding into the experience, just enhancing it and prodding you along, enveloping you like a warm bath.

5:00 in the video

1. Shadow of the Colossus: Counterattack -Battle with the Colossus by Kō Ōtani

Phalanx Battle

While the entire soundtrack for Shadow of the Colossus is absolutely stunning, this is the battle that stood out for me. As you chase the colossus by horseback you get a feel for how truly immense it is. A creature of animated rock and earth whose every wing dwarfs your character in size and drags heavily across the sand spewing clouds of choking dust dozens of feet high. But once I manged to daringly leap from horseback and desperately grab onto one of the giants wings, the real thrill began. Phalanx rises into the sky taking you along with it as you hold on for dear life. Counterattack swells in the background and suddenly you’re soaring miles above a sun bleached desert on the back of a gigantic flying serpent at least 100 times your size – this doesn’t happen everyday. Possibly the most immersive and thrilling moment I’ve experienced in a videogame to date, in a videogame that is arguably the closest thing the genre has to true art.

1:15 in the video

I know each of you have your own musical moments that stand out for you. This is the beauty of videogames – they are really experiences and artworks that combine in ways that reach beyond the obvious. We need a new term other than ‘Games’, which has too many childlike connotations to fully describe their nature. As we progress they’ll continue to entertain us, even as they develop into something that means much more. Feel free to share any of your own moments in the comments, and if anyone knows who composed the Mirror’s Edge Atrium music of Starbit Festival from Super Mario Galaxy, please let me know and I’ll add it to the post.

Written by protopop

September 23rd, 2009 at 11:34 pm

Posted in Game Music

Flash vs Unity 3D

with 28 comments

After reading John Grden’s post about  Unity 3D and this post on the subject, I thought I’d add my opinion. Let me say that i am a longtime flash developer coming from an artist’s background. I love Flash and am attracted to Unity 3D, and think there is plenty of room for both. That said:

The Current Situation

Flash is a well-tested technology with a lot of goodwill behind it. Decisions to limit the capabilities of the Flash player to ensure ubiquity have been good ones, but now the imagination of it’s users is outpacing the power of the flash player. Flash’s primary draw has been it’s effectiveness as a creation tool and delivery method for a variety of media (games, music, videos, animation, apps), but while the delivery method is still pitch perfect, the creation tools are lacking.

Why Flash is King

Flash works.

Slower on mac and haphazardly on Linux perhaps but it works.  As for Unity, I have installed the Unity 3D web plug in twice.  The first time i checked out a unity example with it, it threw up a black screen that required a restart of my computer to get out of.  I gave it another test today with another Unity example and had the same results. My computer specs are not an issue for the point i am trying to make – flash works even on my old system, Unity didn’t.

Possibility

Flash and Unity 3D are like PCs and Televisions.

Televisions do one thing very well. They turn on instantly. They don’t crash. They are easy to use. But the trade off is that they are not very flexible. My television cannot create rich internet applications if I decide to try that.

PCs Personal Computers do many things with less reliability than a television turning on and off. They crash. They frustrate. They don’t work and then suddenly they do. They take an age to turn on and off. But unlike the specialized television they can literally do millions of things. Run air traffic control centers. Surf the internet. Play music. Explore Mars.

Flash is like the PC in this analogy. It doesn’t harness the most power or create 3d as well as Unity, but it has consistently offered people who are willing to try a surprisingly unlimited range of opportunities. Unity specializes in games and does it really well. Flash is less specialized but does more – games, motion graphics, video, music, animations, apps, banners and more

Why Unity Rocks

Sex Appeal

Read John Grden’s post and you will notice something – he is excited. The kind of  “I’m staying up all night because wow the power of this is so cool” excitement that keeps flash developers working past their bedtime and without encouragement from the outside.  Unity offers the kind of sexy interface and promise of power that made flash a phenomenon in the first place. I’m excited about it and it essentially crashed my computer twice.

Web 3D

Everyone has wanted this since 1999. Powerful, simple, accessible 3D for the web. Is anyone surprised that an app like Unity is making such a splash by delivering the holy Grail?

Power

Flash doesnt deliver enough graphic power for many situations, and people looking to create powerful applications that can be distributed online are reluctantly looking elsewhere. When Flash superstars like Bit 101 start blogging about the ABC’s of iPhone development with the zeal of a kid in a candyshop, code and tutorials included, the trend is clear. There are new ways to deliver your creations to the masses and this will quickly eat into flash’s userbase. Especially since i don’t see full-powered Actionscript 3 flash apps being available on any devices besides the desktop and laptop anytime soon.

The Masses

If Unity 3D didn’t have a web player, we would not be having this conversation. Unity would be just another game creation app, albeit a very attractive one. It is Unity’s developing ability to deliver 3D on the web that will directly compete with Flash.

How Flash can Compete

The following suggestions are for Adobe to consider:

Open your vision of Flash

No excuses about how Flash is meant for this or that and Unity is meant for something else.

Flash is not the ‘industry-leading-authoring-platform-for-delivering-engaging-interactive-experiences-and-deploying- accessible-and-content-rich-internet-applications-on-the-world-wide- web-and-breathe-whew! ‘. Flash is the best way of getting your imagination out on the web for all to see.  And it has done a terrific job of doing that no matter what kind of imagination you might have.

Acknowledge the Competition

Unity 3d with its web plug in offers exactly the same thing – imagination online. Adobe -get moving! Everyone knows you are the monopoly and we all know what happens to monopolies in terms of innovation – it falters. You have got to surprise us by giving the fans what they want, and for the better part of the last decade, that dream has been hardware acceleration and web 3d.  Learn from them and acknowledge they are offering something out of the box (powerful gorgeous 3d web) you aren’t. No it won’t be easy – but do it or someone else will

Leverage the Power of the Flash Player

Reading a few posts on Adobe’s new C/C++ to Flash solution Alchemy and the open source meta compiler Haxe has surprised me:

1. Flash player IS capable of native OS-like speeds

2. Flash player is capable of delivering all kinds of code bases

Who knew?

I love the flash player – i can play it windowed, full screen, in a  web page – my choice. There’s no reason Adobe or anyone cant create a new IDE that leverages more powerful 3d tools and compile this down to something the flash player can play.  Keep the player – expand the technology that can use it. After all it’s everywhere, its well known, its cute and it works. Adobe has already done this with Flash CS series and Flex. Yes they both use actionscript, but they are two separate apps that compile to the same player. People are willing to use whatever tool they need to to get the job done.

The Buyout Option

Quite frankly, it looks like the Unity team is doing just fine on their own. I’m not sure Adobe buying them would have such a positive effect. Yes it would stifle Adobe’s competition in this area, but it would potentially shake up Unity’s corporate culture in negative ways. Unity has a cool, young app here, so cool we have people buying Macs just to use it. And I know there are a bunch of flash developers just waiting to pounce once a PC version arrives. Yes, they are doing something right so let them flourish. Instead of buying them out, innovate.

The Bottom Line

New technologies that allow content creators to deliver more graphically intensive and powerful games and apps across the internet are emerging.

The Unity Web Player will overcome any instabilities and its content creation tools will go cross platform, attracting hundreds of thousands of developers aching for powerful web 3d in an instant.The Apple appstore reaches millions of customers and the iphone and iPod touch themselves outperform the graphic capabilities of flash on the desktop. The Flash player has excellent reach, easy of use and cross platform capabilities. What it lacks now is raw power and an expanded vision to compete with these new technologies.

The good news  that while i see Unity 3D and Apple apps only continue to expand their marketshare and user base (which is a good thing), the same will be true with Flash if it addresses these concerns.

Written by protopop

December 27th, 2008 at 10:54 pm

Posted in Flash,Unity 3D

Mode 7 Actionscript 3 Engine

with 8 comments

View mode7 engine in actionscript 3 and download mode7 actionscript 3 .fla files

http://www.protopop.com/lab/actionscript/mode7/

Mode7 engine in actionscript 3. You can download the source as well.

The code is an adaptation of Frederic Heintz’s Actionscript 2 Mode7 Engine available at http://www.fredheintz.com/

Written by protopop

December 27th, 2008 at 7:57 pm

Posted in mode 7

Tagged with

Flash vs Unity 3D

without comments

After reading John Grden’s post about  Unity 3D and this post on the subject, I thought I’d add my opinion. Let me say that i am a longtime flash developer coming from an artist’s background. I love Flash and am attracted to Unity 3D, and think there is plenty of room for both. That said:

The Current Situation

Flash is a well-tested technology with a lot of goodwill behind it. Decisions to limit the capabilities of the Flash player to ensure ubiquity have been good ones, but now the imagination of it’s users is outpacing the power of the flash player. Flash’s primary draw has been it’s effectiveness as a creation tool and delivery method for a variety of media (games, music, videos, animation, apps), but while the delivery method is still pitch perfect, the creation tools are lacking.

Why Flash is King

Flash works.

Slower on mac and haphazardly on Linux perhaps but it works.  As for Unity, I have installed the Unity 3D web plug in twice.  The first time i checked out a unity example with it, it threw up a black screen that required a restart of my computer to get out of.  I gave it another test today with another Unity example and had the same results. My computer specs are not an issue for the point i am trying to make – flash works even on my old system, Unity didn’t.

Possibility

Flash and Unity 3D are like PCs and Televisions.

Televisions do one thing very well. They turn on instantly. They don’t crash. They are easy to use. But the trade off is that they are not very flexible. My television cannot create rich internet applications if I decide to try that.

PCs Personal Computers do many things with less reliability than a television turning on and off. They crash. They frustrate. They don’t work and then suddenly they do. They take an age to turn on and off. But unlike the specialized television they can literally do millions of things. Run air traffic control centers. Surf the internet. Play music. Explore Mars.

Flash is like the PC in this analogy. It doesn’t harness the most power or create 3d as well as Unity, but it has consistently offered people who are willing to try a surprisingly unlimited range of opportunities. Unity specializes in games and does it really well. Flash is less specialized but does more – games, motion graphics, video, music, animations, apps, banners and more

Why Unity Rocks

Sex Appeal

Read John Grden’s post and you will notice something – he is excited. The kind of  “I’m staying up all night because wow the power of this is so cool” excitement that keeps flash developers working past their bedtime and without encouragement from the outside.  Unity offers the kind of sexy interface and promise of power that made flash a phenomenon in the first place. I’m excited about it and it essentially crashed my computer twice.

Web 3D

Everyone has wanted this since 1999. Powerful, simple, accessible 3D for the web. Is anyone surprised that an app like Unity is making such a splash by delivering the holy Grail?

Power

Flash doesnt deliver enough graphic power for many situations, and people looking to create powerful applications that can be distributed online are reluctantly looking elsewhere. When Flash superstars like Bit 101 start blogging about the ABC’s of iPhone development with the zeal of a kid in a candyshop, code and tutorials included, the trend is clear. There are new ways to deliver your creations to the masses and this will quickly eat into flash’s userbase. Especially since i don’t see full-powered Actionscript 3 flash apps being available on any devices besides the desktop and laptop anytime soon.

The Masses

If Unity 3D didn’t have a web player, we would not be having this conversation. Unity would be just another game creation app, albeit a very attractive one. It is Unity’s developing ability to deliver 3D on the web that will directly compete with Flash.

How Flash can Compete

The following suggestions are for Adobe to consider:

Open your vision of Flash

No excuses about how Flash is meant for this or that and Unity is meant for something else.

Flash is not the ‘industry-leading-authoring-platform-for-delivering-engaging-interactive-experiences-and-deploying- accessible-and-content-rich-internet-applications-on-the-world-wide- web-and-breathe-whew! ‘. Flash is the best way of getting your imagination out on the web for all to see.  And it has done a terrific job of doing that no matter what kind of imagination you might have.

Acknowledge the Competition

Unity 3d with its web plug in offers exactly the same thing – imagination online. Adobe -get moving! Everyone knows you are the monopoly and we all know what happens to monopolies in terms of innovation – it falters. You have got to surprise us by giving the fans what they want, and for the better part of the last decade, that dream has been hardware acceleration and web 3d.  Learn from them and acknowledge they are offering something out of the box (powerful gorgeous 3d web) you aren’t. No it won’t be easy – but do it or someone else will

Leverage the Power of the Flash Player

Reading a few posts on Adobe’s new C/C++ to Flash solution Alchemy and the open source meta compiler Haxe has surprised me:

1. Flash player IS capable of native OS-like speeds

2. Flash player is capable of delivering all kinds of code bases

Who knew?

I love the flash player – i can play it windowed, full screen, in a  web page – my choice. There’s no reason Adobe or anyone cant create a new IDE that leverages more powerful 3d tools and compile this down to something the flash player can play.  Keep the player – expand the technology that can use it. After all it’s everywhere, its well known, its cute and it works. Adobe has already done this with Flash CS series and Flex. Yes they both use actionscript, but they are two separate apps that compile to the same player. People are willing to use whatever tool they need to to get the job done.

The Buyout Option

Quite frankly, it looks like the Unity team is doing just fine on their own. I’m not sure Adobe buying them would have such a positive effect. Yes it would stifle Adobe’s competition in this area, but it would potentially shake up Unity’s corporate culture in negative ways. Unity has a cool, young app here, so cool we have people buying Macs just to use it. And I know there are a bunch of flash developers just waiting to pounce once a PC version arrives. Yes, they are doing something right so let them flourish. Instead of buying them out, innovate.

The Bottom Line

New technologies that allow content creators to deliver more graphically intensive and powerful games and apps across the internet are emerging.

The Unity Web Player will overcome any instabilities and its content creation tools will go cross platform, attracting hundreds of thousands of developers aching for powerful web 3d in an instant.The Apple appstore reaches millions of customers and the iphone and iPod touch themselves outperform the graphic capabilities of flash on the desktop. The Flash player has excellent reach, easy of use and cross platform capabilities. What it lacks now is raw power and an expanded vision to compete with these new technologies.

The good news  that while i see Unity 3D and Apple apps only continue to expand their marketshare and user base (which is a good thing), the same will be true with Flash if it addresses these concerns.

Written by protopopgames

December 27th, 2008 at 1:05 am

Posted in Uncategorized

Flash Flight Simulator in Sandy 3

with one comment

Flight simulator version
http://kiroukou.media-box.net/demos/sandy/flightsim/

There’s a few additions checked of the list of things id like the engine to achieve:

COLLISION DETECTION
3 center mountains have collison detection.

1) function tests distance from camera to object center
2) use height of camera to determine the intersection with the mountain slope. The higher you are, the closer -you can come to the mountain side

PROCEDURAL GROUND
grid of 4 seamless terrains regenerate in front of the camera providing endless ground textures to fly across

I wanted to use mode7 but couldnt find an as3 version yet. Then I decided to just use regenerating ground planes. They cover the area immediately in front of you, while the distant ground is covered by a lower resolution, larger plane. The distance between you and a ground plane is measured only in two dimensions (x and z) since the height you are flying at has no impact on where the terrain should generate below you. Given some tweaking, i think there might be no need for a mode7 hack (unless an elgant one sows up) and i like the idea of using just sandy’s features for all aspects of the landscape.

OBJECT GENERATION
Objects respawn in new locations once a new area is entered

The idea is to load the scene with a certain number of objects (i.e. trees, mountains) that the engine cn handle. When you fly to a new sector the objects in the old one are deleted and regenerated in the new area. This keeps the amount of polygons etc the same no matter where you go.

Example: fly towards the volcano. The forest and two of the mountains will regenerate in front of it as you approach

RAFAJAFAR’S TERRAIN CLASS
provides mountainous terrain – very very cool!

Originally all distant mountains were pictures on planes. now ive replaced 2 of them with terrain using Rafajafar’s terrain class .

  • cpu impact is relatively low
  • need hittest. will try to figure out something based on the height of the nearest vertex?
  • Im wondering if the class could be modified to use a black and white bitmap as the heightfield as well as the perlin noise. This would allow terrain import from a variety of sources into Sandy
  • Only problem is lack of ‘zero edges’. It would be nice if the edges of the terrain touched down to the ground around all sides.


CAMERA FOLLOWS FLYER
i added the camera and flyer to the same transform group. Its this transform group that is flying around as one, rather than the flyer flying and the camera following it seperately. I did this because i couldnt figure out how to place the camera always ‘behind’ the flyer object

USE SINGLE CONTAINER
I heard Sandy may remove this feature. Please dont – it really improves the performance of my secene. Its nice to have the option. As long as objects dont intersect (which many dont) its not a problem. BTW i added a usesinglecontainer tag to rafajars terrain class so i could enable this function on his terrain

LEFT TO DO

  • figure out how to oad sprite2D textures from library bitmaps instead of at runtime from external jpgs. Whenever i bypass the loader function and try to use a display object directly as the sprite2d image, all the sprites merge into one area and there 3d placement is totally off
  • Terrain Sectors: create an overmap that keeps track of where you are in the world to control the local sceneray
  • Optimization: i think the scene is handling a lot of stuff really well, but optimization tips are always welcome


Overall Im loving Sandy 3d

Written by protopop

August 18th, 2007 at 7:55 pm

Posted in Sandy 3D

3D Flash World in Sandy 3.0

without comments

I’ve been waiting for 3D in Flash for a long time. Now Flash 3D engines like Sandy, Papervision, SWFZ and Away 3D have appeared, ive started to develop a 3D engine that focuses on handling landscapes for Flash games.

This example was created using Sandy 3D 3.0. Thanks to Sandy 3D engine!
http://www.flashsandy.org/

3d model import is from shirotokoro’s really, really useful 3ds import. You can embed models into the .fla without having to load them at runtime. This will let you create games with 3d models entirely in one .swf file
http://seraf.mediabox.fr/showcase/as3-geom-class-exporter-for-3ds-max-english/

Notes:

  • movieclip material for center mountain with waterfall
  • movie clip on plane for smoke, with embedded flv with alpha encoded
  • sun, distant mountains, smoke are on a plane
  • couldnt figure out sprites so this is a modified version of sandy’s spritetest.as
  • hold down the mouse to fly through

To Do:

  • Hit test for objects
  • How can i reference created objects?
  • How can i remove an object when it gets far enouh behind the camera and regenerate a new one in front of the camera?
  • how can i use a library material for sprites? *** this is the big one, right now it uses the loader class code in spritetest.as. I dont know how to create a new sprite from a library png
  • actionscript 3 mode7 engine to incoporate into scene for endless flat terrain (anyone know of any with code?)


Written by protopop

August 16th, 2007 at 7:39 pm

Posted in Sandy 3D