Adrian Herbez Rotating Header Image

Posts under ‘projects’

Node-based crafting mockup

I’ve started in on a project that I’ve been kicking around for awhile- an approach to gameplay based on the node-based interfaces in apps like Maya and Pd.

What I’m thinking is to have a game world in which players can build things by “hacking” (in the Make-magazine sense) things together to create useful items. But rather than having some pre-determined set of possibilities (as in games like Notrium), I plan on having it be completely open-ended (a ‘la Pd), by keeping things as modular as possible.

What I have so far is a working mockup of the object-creation interface, implemented with Python/Pygame. A list of objects is given at the bottom, and the user can click-drag any of them to the workspace to create a node. Then, the user can create linkages from the outputs of a given node to the inputs of another. Links update automatically to maintain themselves as the nodes are moved around the work area, and deleting a node (by clicking on the X) also deletes any linkages attached to it. The nodes themselves are declared in a separate text file and can be easily added to. So far, all that’s stored is the name of the node, the image to use for its icon, and the number of input/output connections. As the object-model grows more complex, I’ll be adding information to the nodes, such as what kind of connections they require (electric, mechanical, etc) and how much of each.

projects ,

psShotList.mel


I’ve created a script that provides a method for organizing camera switching and shot placement within Maya. At startup, it provides a camera view, along with a list of all cameras currently in the scene. Selecting a camera from the list will update the view through the camera.

Clicking on the “Add Shot” button will add a snapshot through the current camera (tied to the current frame) in the lower “Shot List” area. You can add as many shots as you like, changing the current time and selecting various cameras. The script maintains proper ordering of the shots based on frame number.

Once you have some shots created, you can click on any one of them to set the current time to the corresponding frame and the camera view to the corresponding camera. Right-clicking on any of the snapshots will give you options to change the time, the camera, or to delete that shot. The script is available here.

projects ,

A* Algorithm animation

astar01I recently created a small animation for my algorithms class demonstrating the A* path finding algorithm. MEL was a huge help with the animation. I did a few tricky things that let me finish it very quickly, and I’ll likely be posting at least one of said tricks (the chasing-lights) in the Maya tidbits section soon.

astar02

projects

Second-Person Shooter

This was a kind of game design one-liner- a second person shooter. Instead of “I shoot”, “You shoot”- the player selects a character that then shoots them. In the application, you select a character from a typical character-selection screen. That character then shoots you, the screen goes red, and the application starts over.

If you’d like to try it, you can download it here. Note that it’s all 2d (though implemented with OpenGL) and uses Quake3 characters.

projects , ,

The city of the future

cVaultA friend of mine, Carl Pisaturo and I were talking this weekend about a novel idea he had with regards to city building. Carl was thinking that instead of building a city and then digging down for things like subways and etc, why not just create the holes first, by building the city on top of a gridwork of uniform prefabricated concrete forms, which would provide ample room for transportation, plumbing, etc, while leaving more of the above-ground space free for buildings and walkways.

I made a mockup of the form in Maya, with results at right. Click here to download a short animation (1.2 Megs) of a three-tiered foundation being built.

projects

Updated Street Grid Demo

I’ve built up the street grid app into a proper demonstration of the Infinicity system. This is a small application demostrating a persistent, infinite virtual space based on psuedorandom numbers. At any given moment, the app only knows about 9 grid units, each of which forms its streets independant of each of the other grid units, yeilding a bottom-up generation of street patterns.

Walking in any direction causes the program to move the existing grid units and generate three new ones. Walking more three or more grid units in any direction will result in an entirely new set of 9 grid units. However, since the generative process is based on pseudorandom numbers seeded with the world coordinates of the grid unit, returning to the same place will cause the exact same pattern to be re-spawned.

If you’d like to try it out for yourself, you can download a zip here.

projects ,

Street Grid Demo

I’ve made a small demo app to experiment with local methods to generate streets for the Infinicity project with interim results at left. The approach the program takes is based on:

  • a randomized number of nodes per edge
  • a randomized (though so far hard-wired at 2) number of internal nodes per grid unit
  • creating edges between the internal nodes
  • creating edges between each edge node and the closest internal node

In the real app, the randomization of the edge nodes (both in number and placement) will be based on a simple mathematical combination of the coordinates of the edge vertices, causing neighboring grid units to line up with each other without any direct connection. This is implemented, but disabled in the above app, in order to get a better feel for the variations produced by the process.

If you’d like to see the demo in action, you can download it here.

projects , ,

Deaf on Hollow Winds 3d graphic

falling stones
I recently created a new interactive 3d piece for the OmniCircus show, meant to accompany “Deaf on Hollow Winds”, one of the songs we perform (written by Frank Garvey). The piece consists of an endless stone walkway that crumbles away and spreads off into the sky, with a moving sunset backdrop.

projects , , , ,

Larry Beau 02

So we did the show at the Xenodrome Friday, to a great audience response. Declan’s music is really haunting and touching, and a lot of people were strongly affected. As promised in the last post, below is a sampling of the interactive graphics I prepped for the show. All images are lifted from an excellent music video shot by Declan and Co. in Ireland, Photoshopped to look like old photos in a frame and stuck into a small OpenGL program that renders images to the screen and advances through them at the press of the up arrow.


projects , ,

Infinite planks

planksSo I’ve been thinking that the next thing I want to add to the infinite city is a coastline, and that I want the coastline to have piers extending out into the ocean. While thinking about how best to approach that, I started thinking about generating an infinite variety of worn planks with which to construct the piers. I’ve coded up an algorithm that does just that, with results to the left. Haven’t had time to add texture support just yet, but the final version will also select from a few different textures based on random choice and the aspect ratio of the plank.

If you’d like to see for yourself, click here to download the demo app. The arrow keys will rotate around the plank, and F3 will cause it to alter itself. Note that there’s currently no bottom to the plank. I’m undecided as to whether or not to add one, as it adds polygons that aren’t likely to be seen, and a savings of 8 triangles per plank times lots of planks could end up being worthwhile.

projects , ,