I have been struggling with creating a star-field that scrolls realistically as the camera moves across it. The difficulty is to make the stars wrap. When a star tile exits on one side of the screen it needs to be moved quickly back to the other side of the screen.
A quilt of these tiles can make for a realistic and efficient moving space effect.
The difficulty was in finding a way to reliably move a tile to the opposite side of the screen after the tile had completed it’s journey from the top of the screen down to the bottom.
After thinking about the problem, I came up with a cool solution. Turns out that the motion I was looking for was the same motion as a sawtooth wave -
The low point in the wave represents one side of the screen while the high point represents the other side. I can traverse in either direction along the x axis and all tiles will move properly relative to one another.
In my application the screen is 800 x 600 pixels. I wanted a function which would flip tiles every time they had traversed a complete cycle of the screen.
The basic formula for a sawtooth wave is f(x) = x – floor(x).
Floor founds a number down to the nearest whole number. So the only real challenge was to figure out how to make the sawtooth flip every 800 steps.
I don’t think so. Sometimes I find myself looking at stories and saying, “Oh, I’ve seen that before. It’s the story of one man and his life is normal until… and then he saves the day…”. You remember the Greek tragedies? I guess in those stories he doesn’t save the day.
Yeah, the above is true in so far as it goes (It’s always dangerous being too reductionist). I like the little details though. Like my mind goes back to Spirited Away where Chihiro is putting on her shoes and she taps her shoes against the step to push the front of her toes into the front of the shoes. Details like that make stories beautiful.
Or… I don’t see this happen MUCH in movies, but when it does I’m always blown away. Sometimes stuff just happens in movies because it just happens.
That’s right. There’s no callback, no link, no “God was pulling the strings”, stuff just happens. Just like in real life. I wish we’d see more stories where stuff would happen just because.
I found my family’s coat of arms from back in the days when the Schlender family lived in Germany. Well, I couldn’t relate to it. It has a chicken, a tree and a weird frilly shield. I decided that I’d like to have my OWN coat of arms that I create. Here’s the first one I made.
I had fun doing this. I used my Nexus 1 phone mounted with a rubber band on top of my tripod. I drew a little bit then I took a pictures something like 65 times. I took all the images and transferred them to my computer via the bluetooth link (seriously the phone rocks). Then I got hold of ImageMagick and used mogrify to bring the images down to a reasonable size. Final steps – create a new flash file, import the photos to the library and drag them one at a time out into a frame in my timeline.
Lots of stuff could be improved, but I rather like it.
I’ve found that drawing things by hand is hard work. I can draw things I’m proud of, but it’s not very repeatable for me. Anyway, I needed an art style for a game I’m making that would allow me to move quickly.
Enter photography. Here’s an early test of some stuff I put together in Flash that demos photography as a medium for skinning flash work.
I love acting. I also do like developing software. I think that both of these things can be really creative. I’ll add that I really enjoy writing and drawing too.
My acting troupe, Magic Jester, puts on shows at the Timescal arts center every 2nd Friday of the month. The shows get people interested in improv theater. Often times people who see our shows end up taking the free classes that we offer on Sundays. So I guess that people find the shows worth watching.
Still, our audiences are not very large. Almost always it’s friends and family. I feel like that’s the way it goes for independent artists. It’s hard for us to get audiences and yet we need audiences in order to improve our craft. I wish it were easier. I’m going to see if I can come up with some ideas that will help pull the general public into our shows.
On that note, one thing has worked with another group I’ve been involved in. Up in Concord I work with an improv troupe that has been putting on benefit shows to raise money for causes. We did 3 shows for the public schools and another 3 shows for some other charity. I forget it’s name. We pulled in over 1000$ on each show. As performers we had A BLAST. And as for the charity, they made some money, but more importantly their members got together and had fun.
So that’s working. At least on a small scale. I wonder if it could be bigger though. Something to think about… sometimes the questions are more important than the answers.
They say that a blog is supposed to have posts about a specific topic or group of topics. That way readers know what it is that you, the poster, are going to be talking about and that will keep them coming back.
Thinking that way assumes that the goal of writing the blog in the first place is that the blog be read. I’d like to challenge that idea. I’ve been writing in a journal on paper every day for the past several months, and it’s been a real source of clarity for me in working out my own thoughts. I’ve found that writing for the sake of writing is much more fun and exciting for me than writing for some audience would ever be.
So this entry is dedicated to the process, may the process be its own reward.