I’m working on a small game with a procedural map. As the whole game is set in a labyrinth-like building I’ve decided to use tile maps. The map generation algorithm produces a 2D matrix with 0s and 1s. A 1 indicates that the tile is walkable while a 0 represents an impassable field. In a simple 2D setting this could be represented by using a floor sprite for each 1 and a wall sprite for each 0.
In a game with a static camera (looking down at the level) it is important to align the character movement with the camera. Failing to do so creates a distorted input feeling as the input and the actions of the player character don’t correspond to each other. To achieve a correct movement, the directions have to projected from the screen onto the scene. Naive implementations of player movement use the axis of the coordinate system as directions.
The input material I took photos of the grass in my backyard to create a grass texture. The camera was held at shoulder height pointing down. I cropped the image into a 1:1 image. Try to keep the image as big as possible. Do not scale it into your desired dimension yet! Make it tileable! There are two methods to make the image tileable/seamless. The easiest way to create a tileable texture is to use the “Make Seamless” tool (Filters->Map->Make Seamless).