I am a college student who started a game development class last week. This is my first experience with the Unity game engine.
In our first class we, (I am in a 4 person team), put together a game concept for our first assignment. We have two weeks to complete the work.
I have been working through the Unity3D tutorials and I have a few questions about our game and possible implementations. I will start with a conceptual overview of the game to give you an idea of what we are creating.
The playing surface looks like a target i.e. a bunch of concentric rings. Each ring spins at a different rate and in either direction. The rings have attached obstacles (they spin with the circle). The rings have intermittent walls that impede moving along the ring or onto an adjacent ring. Some of the obstacles would block the player and some would kill the player. The player enters from the side and attempts to cross to the middle avoiding the obstacles. Think of the game as frogger but with circles instead of horizontal lanes.
After looking at the docs for Unity3d I cannot figure out how to fit our game into the conceptualized world view/engine/class hierarchy. The biggest problems is creating and managing the rings. The only way I can figure out to make a target/ring is using a circle with the donut hole cut out by transparency or a bunch of circles all centered at the origin with the drawing layer order from largest to smallest. I don’t see how to use the callbacks for colliders, entering, touching etc with all the objects overlapping. If we used this approach we would have to calculate the players position on the canvas for each frame, calculate which ring it was on, calculate where it is on the ring using the current ring rotational position, figure out what is on the ring at that position (look up table or something?), and then figure out if it is a valid move position, blocked, or killed. Each ring would have to be drawn manually with objects in the PNG. Then we would have to come up with a map of positions on each ring that were “valid”, “blocked”, or “death”. This is not good. None of this is supported by the engine or even leverages the classes. No physics engine, Rigidbody, Collider, Joints, Force, or anything else.
I am new to Unity3D and definitely don’t have a complete understanding of how games are crafted. I feel sure this is the wrong way to implement this concept. Could anyone offer general implementation ideas on a better approach?
Jared