Friday, January 30, 2009

Sneak Attack

At DigiPen, my team is working on an ASCII game for our freshman game project. The limitation for the class is that it has to run in the windows console window, using only ASCII characters. We are creating Sneak Attack, an stealth action game.

GO! SNEAK! WIN! Sneakily move throughout dangerous mazes full of dastardly guards and perilous traps.

Here is a tech demo of our ASCII light engine.

Thursday, January 29, 2009

humor = (Humor*) malloc( sizeof(Humor) );

Malloc and its woes... This video rocks.

Sunday, January 25, 2009

collaborative evolution

Current brainstorm: collaborative "cluster" robots working on genetic algorithms to optimize their behavior...

Monday, January 19, 2009

Artichoke


Artichoke is an awesome band! I love the one about Charles Robert Darwin.

More pondering, and motivation rallying, going into the PIC VGA idea. Steven Liss and I are trying to create a peice of interactive retroness. Maybe a dual monitor battle game, chess, or text adventure. I was also thinking a sudo, not sudo(as in sudo), terminal bash prompt that could be used as a puzzle/hacking environment.

Another thought is to have the PIRD (PIC Interactive Retro Device) be hooked up to a computer. Does this take away from it, should it be hermetically sealed off from external influence? These are the questions we ask of ourselves.

Maybe a robot duel where each robot is controlled by a pic hooked up to a monitor...

Sunday, January 18, 2009

PIC cluster



Check out this pic cluster idea. What evil could be accomplished by this, I know not. But you could potentially wear a super computer on your belt.

On this note, I was pondering the idea of creating simple autonomous robots that acted as nodes in a wireless cluster computer. I was looking at BEAM robots. So yeah, cheap dirty robots that communicate and problem solve together. Maybe not a true cluster, but info sharing and distributed problem solving.

Tuesday, January 13, 2009

Culture Hacker

Lance Weiler has asked me to contribute the workbookproject.com, an “open source social experiment”. In particular I will submit game related articles to culture hacker. My focus will be on the independent game scene, creative technology, and DIY game techniques. I still have to figure out how deep i want to go into the specifics of programming... Don't want to boor people with templated callback functors, or do i? :)

Monday, January 12, 2009

to pic or not to pic

This is where i got the inspiration for the pic VGA game console. Pretty crazy stuff that kid is doing... I just want to get something somewhat cool and interactive going.

So i have this thought: art through computer engineering. I'd like to create works of art that are smart, interactive, and programmable. Think of a coffee table sculpture version of pong. Or "Brazil"-esque terminal. One off, hand made systems. The possibilities are endless. Robots, got to do robots(cannibalistic of course;)... Just some thoughts as to where i'd like to go with my evilness.

PIC VGA update


So the pic wouldn't work on any monitor but my own. My monitor must be especially leniant because i was doing all of the timing wrong. WRONG!!

After a looking at the problem long and hard I came to realize i had missed something very important about VGA. The horizontal sync pulse must happen every 38.1 micro seconds, even in between active draw time. Before this realization, I was only pulsing HS during the 480 lines of active video and forgetting it during the vertical sync period.

A good example of this can be seen in this photo from http://martin.hinner.info/vga/640x480_60.html

So to remedy this i had to implement all the timing with a TMR0 interrupt. So every 381 instructions, TMR0 fires an interrupt, I pull HS low for 3.8 micro seconds, draw lines when needed, and pulse VS at the right time. Now the timing is very consistent and works on every monitor I have tried.

Another nice thing about using interrupts is that my program logic does not have to worry about timing. The logic just waits for drawing to stop with a loop. Then does its thing. Then waits in another loop for drawing to start.



Now I have a working pong game. It needs work, but this is a lot of progress in a few days...

Sunday, January 11, 2009

PIC madness

After enjoying home cooked setan cutlets stir fried with mushrooms with Nicole, she told me that after all: All Robots are Vegan! I like that. I'm not totally a vegan, or vegetarian by any stretch of the imagination. But i enjoy vegan food. It just makes you feel so good about yourself...

I've been working on a PIC based game console since thursday. After much tribulation, I have nice VGA output and input!

I used this info for the timing. My pic is a pic18f4550. It is running at 40mhz. So that makes every instruction cycle .1 micro seconds. I have it timed almost exactly to the specs. I used a scope to check it out at first. I found that microchip's ide's stopwatch was awesome for working out the exact timing.

Now to get pong or something going. YAY. I have about 14000 spare cycles during VSYNC. this should be enough to do some fun stuff. I'm running at 64X60 pixels. Stored bit by bit in 480 8bit registers.

more later...