t-lopez.com welcome

Hiya!

Welcome to t-lopez.com! I put things that I create on this site... or at least I will soon! While I may have started this website (in 2008, yikes) to host things like my artwork and Flash animations (double yikes), it has slowly evolved, as have I. Presently, (and for the foreseeable future) the primary purpose of this site will be to showcase and share my passion for software development and programming: games, utilities, technical articles, tutorials, et cetera.

I hope that whatever the reason you're here, you find something enjoyable, informative, or at least moderately amusing! So, you , though there might not be much here yet, please check back. I have a bunch of stuff that's just waiting to be uploaded.


Thanks very much!

- Taylor Lopez






Here's my current résumé!

Check out some of my code! A lot of the projects on these sites will eventually be polished up and posted here!

And now, in lieu of more substantial content, please enjoy this Cellular Automaton I wrote on JSFiddle! Oooh... Aaaah...

About Cellular Automaton 3457/357/5

The cellular automaton shown above is a simulation of cell growth and decay in which each dot in the 2D grid represents a cell. Each cell can exist in 1 of 5 states ranging from 0 (nonexistent) to 4 (about to die). Every frame, each cell is drawn to the canvas in its current state, then its state is recalculated based on its eight adjacent neighbors' states using the following logic:

Pseudocode

# 'cell' is the current cell being calculated
if cell.state == 0:
  if 3, 5, or 7 of the eight neighboring cell states == 1:
    cell.state = 1  # The cell becomes alive!
  else:
    pass # leave cell.state at 0
elif cell.state == 1:
  if 3, 4, 5, or 7 of the eight neighboring cell states == 1:
    pass # leave cell.state at 1
  else:
    cell.state = 2  # The cell grows...
elif cell.state == 2:
  cell.state = 3    # and grows...
elif cell.state == 3:
  cell.state = 4    # and GROWS... then...
elif cell.state == 4:
  cell.state = 0    # POP! The cell dies.
You can click the canvas area to pause or resume the animation. You can also start the animation over by clicking the "Result" tab of the embedded JSFiddle area. Depending on the starting size of your canvas, the animation may be short, or it may go on a while.