Author Archive

Component: Map

Monday, September 26th, 2005

The map represents the city in which the game takes place. It will comprise all of the physical objects in the game.

structure:



Sections


the map is divided into sections. Each section is a large visible area. One section is loaded into memory at a time, this being the section where the player resides. The current section has the focus for computations for character activity.


Cells


The Section is divided into arbitrary quanta called cells. Each cell represents the perceptural area for each character inside it. Each character can “see objects in the cell. Nothing else exists except what the character “remembers.”

Objects


Each cell can contain a number of objects. An object is any physical thing in the environment. Objects can include buildings, walls, trees, and so on. The cell also has references to moveable items and characters that are inside. An object has a reference to a mesh and a texture for drawing. Also, whether the object is solid or not is stored.

Suckerville: the Game (miniature agent-based society simulator toy)

Monday, September 26th, 2005

Suckerville: the Game (early planning phase) is based on the comics I write. A few of which are at my comics page. I thought it would be neat to create a game with these characters where you could interact with them. This idea transformed into a lofty concept for a complex(-ish) society simulator. This game is single player and therefore all of the society, except for the players character, are simulated.

This game is loosely inspired by the Nintendo’s “Animal Crossing.” I saw my brother playig it one day and noticed his character had a shovel. I asked if he could hit people on the head with it, for a hilarious cartoony response. The answer was no, unfortunately. I thought I’d make the game like this except you could hit people on the head with a shovel. Naturally this would only be fun If they reacted to what you did, but how far could this go? The problem with the characters in Animal Crossing is that everything they do is tightly scripted. How can characters made to be dynamic. Many game programmers dream of creating emergent behavior in their dynamic content. Is this even possible?

Imagine walking around a city of ridiculous cartoon characters. They talk to you and to each other. They tell you what they like and dislike. They tell you that they don’t like it when you hit them with a shovel. They don’t like it when Charlie down the block hits them with a shovel and ask if maybe you could do a favor and hit him with a shovel. And the shovel smacking is only one of the many things you’ll be able to do. The point is, the characters “know what you are doing and they “remember”, and this affects the way they behave towards you. These characters are not like the typical video game characters that sit around helplessly while you run their errends either. They can do all of the same things you can do. And they can talk to each other as well as you.

The original idea is based around concepts

  1. Each character in the game can do anything the player can do. They do not sit around and wait for you to talk to them, but rather they have a simulated daily routine.
  2. Each character can like or dislike objects, characters, places or actions. Each can observe what any other character does, including the player, within their vision and decide whether they like or dislike what is happening.
  3. Characters can talk to one another and spread their information.
  4. Goofy stuff should happen often. The game should be dynamic and things should change over time. The general feel of the game is one of mayhem and humorous mischief.
Goals and Challenges

To make the game as dynamic as possible. In a game each character may become your friend or your enemy. Maybe you’ll see them a lot, maybe very little. Where are your favorite places? Can the game seem different every time? How can you make the game elements random but not seem like noise? Can the decisions a player makes, make a big impact in the world?
They characters should be complex enough to be interesting. Each character should seem different from the others, and should seem to have a life of their own. Their personality and personal experience should affect what they decide to do. The player should get a sense that there is a whole world around him and that much goes on behind his back.
How far does their AI model need to go at simulating their personality? Is it possible to make the model complex enough so that they seem life-like? Can a general behavior model allow each character to have quirks? What sort of group behavior will emerge?
The player should feel free to do a variety of things. No game will allow a player to do everything, but the player should be able to react to the people and objects in the world in a variety of ways.
The game should be funny. Is it possible to create emergent comedy?

God Tower is a Very Difficult Puzzle Game

Tuesday, September 13th, 2005

God Tower is a very difficult puzzle game. Each level presents you with an image, and the point of the game is to guess the riddle that the picture presents. You input the answer to the riddle ( all lowercase one word), and then you proceed to the next level. I only had enough patience to get to level five (with a hint on level 3.)

I learned about God Tower from jay is games. Jay runs a fantastic blog about web games and game design. If you’re looking for something to burn some extra time, jay is games is a good place to start.

WOO HOO!

Monday, September 12th, 2005

We got an apartment.

One Man’s Graphics Pipeline

Sunday, September 11th, 2005

My attempt at constructing a basic graphics pipeline.  The pipleine should load vertices from an established format (ie obj files), transform polygons into screen space, perform lighting calculations and rasterize. 

Emphasis is on understanding the various stages of pipeline optimization rather than competing with DirectX or OpenGL.

It turns out that I have to do this as a TA in Alla Sheffer’s class. Bresenham is included (which is finished). Texture mapping is a BONUS.

The project was difficult because of some problems correcting seams in polygons but very straightforward.  Source can be furnished upon request.

Possible future avenues of the project are interfacing with the GPU to accelerate the pipeline, but this is unlikely to happen.

GPU programming libs?

Saturday, September 10th, 2005

Do any atlhackers have any experience with programming GPUs without using openGL or DirectX?  I’ve only heard of Brook for general GPU programming and I was wondering if there were any other public resources out there…

DragonCon 2005

Thursday, September 1st, 2005

Just wanted to remind everyone that DragonCon 2005 is this weekend, from September 2nd through September 5th. DragonCon is America’s largest, multi-media, popular arts convention รขโ‚ฌโ€ focusing on science fiction and fantasy, gaming, comics, literature, art, music, and film. Of particular interest to AtlHack folks may be the Electronic Frontiers Georgia panel, whose 2005 Program Schedule includes presentations on Internet privacy, peer-to-peer communications, the DMCA, and more. I attended last year at DragonCon 2004, and intend to do so again. See you there!

Eclipse Framework for Systems Biology

Friday, August 26th, 2005

Eclipse is a powerful IDE and framework for language development. In this project, we build on the Eclipse platform to support operations and tasks that commonly appear in the course of systems biology.

The project aims to support seamlessly the many biological data formats, such as FASTA, and interface with NCBI and the ExPASy Proteomics Server. It aims to provide a unified interface for biologists working in molecular biology, systems biology, and genetics by treating DNA and DNA-like data as a ‘programming language’.

 

 

Peripheral Device Middleware

Friday, August 26th, 2005

 

GUM-Sticks!

The starting point for work on devices that bridge "stupid devices". 

Some ideas:

  • interactions will be based on scenerios as the device is unlikely to be at easy to interface as a full fledge computer
  • scenerios may be customizable and configurable from a full scale computer
  • the device may have a modular I/O design to support enough bluetooth,firewire, and usb scenerios.
  • using an OS like linux to leverage the large driver set out there (compared to a novel OS).
  • allow for scenerios and device drivers to be modular and pluggable so people can make novel ones and so people can manage the limited memory of the device better.

Todo:

  • spec out the prototype hardware that is portable and can still do some of the goals desired.
  • start developing scenerios

Methods for Managing your Schedule

Friday, August 26th, 2005

The beginnings of a project on developing tools that will provide simple ways of building your schedule without having to do all the work manually.
 

Current ideas being tossed around:

  • Website scraping to produce data from places like: delta, orbitz, hotels, evite, ups, amazon, credit cards, orkut birthdays.  Perhaps even sites of little direct personal interest could have a means to schedule from: concert venues
  • Email scraping: like websites, we receive many emails with good information (and structured) information that could be useful in a schedule.
  • Active scraping: an external service, a system on your machine to scrap
  • Passive scraping: scrap when you view a page or email.
  • Intelligent scraping: instant messages, comments that are unstructured.  This one would be hard and likely not a good starting point.
  • Schedule views:  There are events that are of varying importance.  Sometimes I just want to see my travel schedule and sometimes I want to see the Atlanta Thrashers hockey schedule (and since I’m lazy I want to do this all from the same calendar).
  • Todo lists: some calendar items are due dates or perhaps not calendar items but instead tasks.  I nice way to manage these would be good.
  • Dynamic entries.  If I am looking into the past at the Thrasher’s home schedule, I should be able to get the score and info about the game.  Perhaps there should be an alert system when a schedule item has been changed at the source.
  • Templated Entries.  If I am looking at a travel entry booked at delta.com, I should be able to either get more details by drilling down deeping into my calendar or by having a templated link to go to delta.com and show my itinerary.
  • Event feeds.  You should be able to get feeds that are both of personal interest and general interest.  If you login to atlhack, you should be able to get a feed representing all the iCal events you are going to (perhaps you actually want all the atlhack events so the dynamic feature kicks in and you can look into the past to get the meeting notes ๐Ÿ™‚ Also, some sites should provide event calendars so you can have things like "the high museam" view in your calendar to get an integrated exhibit schedule.