SMU Guildhall
Home
Individual Work
Team Work
MIT Project
Resume
Contact
  ||  Back to List
Random City Generator (MIT)

Please see the MIT page for more detail.

Writing a road network generation algorithm using agents that extend the network based on a set of proximity and length parameters.

Writing A* pathfinding with cost based on distance and a terrain heightmap generated from Perlin noise. Roads that are traversed more often are straightened and widened, whereas those that are not used at all or become redundant are culled.

Writing a zoning algorithm in which street density and terrain are used to determine which areas should be city centers, residential districts, business districts, parks and lakes.

Writing a building placement algorithm to place buildings of different types in zoned areas without appearing structured or patterned. Buildings evolve as the city grows and zoning changes.

 

 

Cloth Simulation

Wrote spring-based particle system with velocity verlet integration and collision.

Wrote mesh generation and vetex buffer update.

Wrote excite, wind, and projectile firing simulations to react with cloth.

 

 

Scripting Language

Created grammar for a typeless scripting language (ShovScript).

Wrote lexical analyzer, parser, interpreter, and virtual machine for ShovScript.

Provided support for recursion, multidimensional arrays, conditionals, functions, native calls (integrated with my engine), strings, math and comparison operators, and more.

Provided debugging support (error, file and line number) for, among other things, invalid tokens, undeclared or redeclared variables and functions, incorrect number of arguments, mismatched mathematical or comparison types, failed native calls, and array index out of bounds.

 

 

Multi-Threaded RTS Simulation

Wrote lockless FIFO (first in first out queue) implemented with a linked list and spin count.

Wrote Spinlock using interlocked functions and memory barriers.

Wrote RTS (real time strategy) game class that maintains the queue of units (FIFO) and assigns work to threads for simulation, with drawing occurring on the main thread.

Wrote RTS unit class protected by spinlocks and replication. Included model, team, health, location, and ability to shoot, take damage, and explode.

 

 

OGL / DX Agnostic 3D Engine

Implemented controller and component system for augmenting behaviors.

Wrote streaming system for models, including location, rotation, bounding sphere, vertices, indices, and textures.

Implemented Wezl's minimal bounding sphere algorithm.

Wrote custom memory manager with heap support for enhanced usage and debugging.

Implemented particle system with velocity verlet integration, including cloth simulation.

Wrote terrain loader with dynamic LOD (level of detail).

Wrote BSP (binary space partition) loader with frustum and occlusion culling.

Implemented GL assembly and HLSL shader support.

 

 

2D Engine and Game

Wrote controller and component system for augmenting behaviors.

Wrote camera and tiling system to scroll and cull off-screen draw calls.

Wrote animation system, collision system, keyboard and xbox 360 controller input system, listeners, and ini level loader.

Wrote magnetism based game (Maglev 2D) with main character that can switch polarities and reacts to polarity of objects in the environment.

Implemented throw mechanic allowing character to aim and throw a magnet to metal surfaces.

Implemented main menu, pause, and scoring systems.

Copyright © 2011 Southern Methodist University. All rights reserved. • Right to Know and Legal • Privacy Policy

For questions or problems with this site contact The Guildhall Webmaster.