LinksBlogshares LinksThe BlogShares fantasy blog stock market.
BlogShares Price Tracker SproutWorks ProjectsDigg ArchiveA new experimental Digg page. AJAX Pixel Editor A Collaborative pixel editor currently in development. Web promotion links These tools help you get visitors on your website. SproutPics My photography Site SproutSearch I designed this blog indexing tool, and it has accumulated over 6 million blogs so far. Products Some of the programs I've written. SproutTree Demo A demo of a tree-drawing PHP script. My Gallery Sign In
|
sproutworks I decided to work on a javascript canvas experiment where I can drag the mouse and scroll within a map. I got a simple "map" drawing colored squares that can be dragged around. I found a perlin noise library, and made the map look like wavy colors. It was pretty slow at that point, so I rewrote the drawing code so it writes directly into the image data. Now I have a smoothly scrolling wavy thing, but I'm not sure what I'm going to use it for.
sproutworks.com/demos/perlin sproutworks The other day I read an article about how to create fractals using the midpoint displacement algorithm. It's a simple recursive algorithm where you take a square, and split it into 4 smaller squares while displacing the height of the corner where the 4 squares join by a random amount. This process is repeated, creating smaller squares which gradually make a smoother terrain.
I spent an hour or two writing a PHP script to make a terrain image using this method. After I got some decent looking greyscale images, I added a color map so I could create colored oceans and mountains. Today I modified my old 3D graph script to generate 3D terrains using a bitmap and elevation map from my new fractal Here is what it looks like:
sproutworks.com/artgraph.php?bitmap=image_1296466523.jpg&elvmap=elevation_1296466523.jpg&height=200 I might work on getting a terrain generator running in the iPhone, and rendering it with OpenGL. sproutworks The other night while watching a cartoon, I thought of a way to create levels for my iPhone game by scanning an image drawn on graph paper. To do this I need to access the raw pixel data from a CGImage. I already have a method that is loading png images into OpenGL texture maps, so I started modifying it to get the pixel data. I made some progress altering the pixels, which can lead to procedural texture generation later. I am going to try to make a program that detect shaded cells on graph paper and convert them to polygons in my game level. sproutworks When Anna and I both got the iPhone 4, we wanted a way to protect them. After doing some research, I came across the OtterBox Defender. I really liked the built in screen protector and the 2 piece hard shell with a soft outer cover. I placed an order for 2 cases on Amazon, and had to wait a few weeks because they were backordered at the time.
When the cases finally arrived, I installed them on our phones, and was impressed with how well they are designed. There are flaps that cover the microphone port, the dock connector, and the mute switch. There is also clear plastic that goes over the front camera, the screen, and the proximity/light sensors. The case makes the tiny iPhone 4 seem a lot bigger, which is fine with me. If you have an iPhone and want a case with exceptional protection, you should look into getting the OtterBox Defender. www.otterbox.com/ sproutworks I just discovered twitterfeed.com/ , where I can post to my blog, and twitter feed will find new posts in my RSS feed and post to twitter and facebook automatically. Hopefully this will encourage me to write in my blog more often, knowing that my posts will be distributed to more people without any extra effort. sproutworks Dreamhost has just added beta support for PHP 5.3. I can finally start implementing the new language features I've read about. Unfortunately, I just discovered it breaks all my scripts that use GD, so I had to switch back to 5.2 sproutworks Yesterday I moved the code that draws the walls in my maze app to the MazeParts class. Now it can share memory with the floor drawing code and got rid of the allocating/deallocating memory on each frame rendered. I
also enabled the depth buffer and depth sorting, finally the walls are overlapping correctly. I started adding some code to load a plist file into an array. This will help me create levels besides the random mazes it makes now. sproutworks Did some more iPhone programming. The other day I took some of the maze drawing code and put it into a new MazeParts class. This class will be handling the drawing of the floor and walls of the maze. It will make the renderer file cleaner and easier to work with. Today I rewrote the floor drawing code to use translation calls instead of rebuilding vertex and texture buffer data for each floor tile. Next I will do something similar to draw the walls. I also added a setting to my info.plist file to hide the status bar. sproutworks I'm excited about the new iPhone 3GS. The hardware support for OpenGL ES 2.0 will make it more fun to explore advanced graphics in my projects. I have a basic 3D maze running on my iPod touch, and it would be awesome to be able to add shader programs to it.
Here's the link for info about winning an iPhone 3GS from QuickPWN www.quickpwn.com/forums/iphone-3g-s/4177-iphone-3g-s-giveaway.html sproutworks Last month I purchased a new unibody 15" Macbook Pro. It is my first Mac in over 10 years. It's so nice owning a Mac again. I've been dabbling in iPhone development since I got it, and I have a basic OpenGL application working. My app lets me move a marble around the screen using the Macbook's accelerometer.
I used the accelerometer simulator code.google.com/p/accelerometer-simulator/ and the unimotion program unimotion.sourceforge.net/ to accomplish this. It would be nice to have this functionality built into the iPhone simulator. I bought a book about game physics, and I'm on my way to creating a great game. Next I will be simulating interactions between multiple marbles, and figuring out how to load level configurations. |
