I started the project! Got the grid and the data storage working, and began on the input system.
My data storage system works like this:
Every tile is represented as 5 bits of information. The top bit I call the “empty flag;” if it’s zero, there is no tile there. The two middle bits (the 4th and 3rd from the bottom) are the “type flag;” it represents one of four types: Bone, Tissue, Motor, or Stem. The two bottom bits are the “orientation flag;” it represents the direction the tile is “facing.” With my current plan, that trait only affects the Motor tiles… but I may change the rules later :з
The world size I’ve set to 2048 by 2048. This leads to about 4 MB of memory used for tile data. I think that’s pretty efficient. Only 5/8 of my allocated memory is used, too, so I won’t have to add more memory if more mechanics are to be added.
For the input system, you can zoom in and out with the scroll wheel, and I am TRYING to let you pan with WASD, but something is not working with that. Too bad.