III. A ™REDPILL

Game In order to understand what we will discuss below, we first need to clarify how a ™REDPILL game is structured. The topic is not that extensive, but I think it's good to talk about it.

GOALS

If you want to build a game with ™REDPILL, you must first decide on a platform: ECS/OCS for AMIGA500, AMIGA500+, AMIGA600 and AMIGA 1000 ... or AGA for AMIGA1200, AMIGA4000 and the CD32. For all platforms: 1MB Chip RAM and a small portion of Fast RAM are required. Of course you should always remember: The more colors, the more performance ™REDPILL requires. Since ™REDPILL can never run a game as fast as a native game would, it is important to keep in mind that you should be careful with graphics, sounds, calculations and colors. Even if a game like "Turrican" is not possible in ™REDPILL, it doesn't have to be. A game is not made good by as many objects and absurdly fast action. Often it is a story or clever gameplay that makes a game a classic. It is your decision.

ANATOMY

A ™REDPILL game is always made up of levels. It starts with level 0 (in words zero, in numbers too) and ends with level X. X does not mean "10" here, but: Any level beyond zero. A level is not big enough to build an infinitely scrolling game. That means: Your game design must take into account that there are levels with clearly defined boundaries. These limits have to be reached first. A ™REDPILL level is crazy big. Maybe your game fits into a single level. If not: Plan your game so that it can divide its world into these levels (worlds, places, rooms). An adventure game has different places you can visit. A Jump'n'Run consists of different worlds. A top-down shooter (The Chaos Engine, R-Type etc.) can also be divided into levels. But a level in ™REDPILL is not only a level like a game level. It can also be a menu, a trading screen to sell items, a screen where you talk to an alien. A level in ™REDPILL is simply a stage. You decide how it is built. You are stage designer, lighting technician, architect, director and sound engineer all in one. In this level you show a picture, in this one you work with a tilemap. Anything is possible and for every idea, no matter how absurd, there is a solution. As soon as you have become familiar with the level system of ™REDPILL, you must see that a level can be a map. This map consists of tiles which in turn originate from a tile set (tile collection). Imagine your level, and therefore your map, as a tile floor. Each tile is the same size and all tiles together form a harmonious picture. ™REDPILL takes care of the scrolling of your map and many other things you have to take care of yourself in other engines (or even a programming language). Tiles may also be animated. A torch on the wall doesn't have to be an object (we'll get to that in a moment). The torch can twitch and fidget because the tile of the tileset simply has several frames. That means: A tile simply consists of several frames. There are many uses for this feature. Let water or lava flow. Maybe a swamp bubbles in your world or crystals change their color. Besides the tilemaps there are also so-called objects. The player is an object. An opponent is an object. A collectable thing (coins, stones, sticks, etc.) is an object. These objects are always drawn in front of your map. So the player is always only shown when the level is drawn. The coin that you want to collect is also shown. All these objects can be animated, have a physics and move on the map. They can react to tiles, other objects (like the player) or to many different things. An incredibly complex system.

FIRST THINGS FIRST

In the following I would like to give a tight overview of the most important menus in ™REDPILL. At least important for the first part of this tutorial.

[1] In "Game Setup" we define things that apply to the whole game. The gravity (is there an up and down?). The frames per second our game should run with. Should enemies be able to collide with other enemies? With which level does our game start? Maybe level number 0 is not the first level, but the menu we designed in level number 5. The other options I leave out of consideration for now.

[2] The "Screen Setup" clearly defines for which platform we design our game. Should an AMIGA500 be enough, or should it rather be an AMIGA1200? How many colors do we use for the game? Do we paint our background completely with a tileset ourselves, or should a copper gradient help us here and there? Should the camera follow a certain object at every turn, or do we move the camera ourselves? So many possibilities.

[3] Every game should be able to display moving objects on a powerful system like the Amiga. A game character that has an actual walking animation is more likely to be believed to walk than a graphic that just slides through the level. You recognize an opponent earlier if he moves. A twitching torch makes a game world more believable. In the "Sprite Sheets" you load those animations to be able to use them later with objects.

[4] As mentioned above, objects are a not irrelevant part of every ™REDPILL game. Objects are the living essence of a game. They can be the player, opponents, shots, items and much more. Objects can collide with other objects and tiles. They can be subject to gravity and they can be animated using a sprite sheet. Furthermore, objects can have so called "triggers". These are switches that react to certain events in the game. The green slime hits a wall on the left? Then turn the green slime around and let it run to the right again until it hits a wall there. The player wants to make his character jump? Check if he is not already in a jump ... play the jump animation ... pull him back down on the floor! Triggers can do all this and much, much, much more.

[5] Repetition training! But you have to mention it again and again. A ™REDPILL level is, usually, the tiled floor of your bathroom. All tiles are the same size and you can paint whatever you like on it. Each tile is a tile. I already know that DeepL will translate this chapter very funny. Tiles come from a collection of tiles, one set ... a set of tiles. A graphic that contains many of these funny little tiles. While it is obviously possible to load a tileset graphic in this menu and determine the size of the tiles (8, 16, 32), this menu enables us to define how the tiles of our set react with objects under "Tile Properties". Can an object walk in front of the tile? Does the object collide with the tile? Could the tile be a platform to jump onto from below? But maybe the tile is also a ramp or stairs!

[6] As described above, every ™REDPILL game consists of single levels. Even if your super cool game can handle one level: At least this one you have to design! You also place your previously made objects here. Paint a map from tiles, place objects and configure other things that are not relevant for this tutorial. A Place To Be for dedicated level designers.

[7] What could you invent about this button? Trilogies like about a young man with glasses who fell off a train platform and is now healing for a wizard. Or you can stick to the truth and say: The butten does not do more than he says: He lets you play your game. Quite rationally, without ulterior motives. Straight ahead! [8] The most important button of the whole software. With this function your project stands and falls. That's why I have colored it in the graphics. Save early and often! No matter how good you are, you should accept this tip. It is not easy to send ™REDPILL into Guru Meditation, but it works. Look into my suffering wrinkled eyes. So: Whenever you make a change in one of the above mentioned menus, click on "Save". Let it become a fetish!

YOU ARE IN RECALL!

If you made it this far, you're ready for what follows. Let's configure the project, load pictures and paint levels. Later, invisible players will hop through the picture and everything will be easy and understandable. ™REDPILL may seem super complex and impenetrable to you. But believe me: Writing a game in a programming language is more effective and brings more performance ... but it is also worlds more complex and elaborate.

Let's go. Let's build a game!

last update: 2020-07-30 -- v0.5.0