Engine001:
Engine001 is the engine that runs 001 games made with Map001 (a.k.a. 001 Game Editor). It is quite a complex 2D engine. Here are the features of the engine:
- Lighting System: A feature that was done on request. The result was breathtaking to us. It is an option feature that the game designer may chose to include in the game or not. The great thing is that it doesn't affect in-game performance in most cases when used. The only drawback to using the lighting system, is it takes a bit long to load a map, since everything that is static to the map, it's lighting is preprocessed to improve performance when playing the game. Also note, that a map's general lighting may be set (for say, night and day time). Here are the following properties that may be set to a light:
- Position
- Radial Direction (start, end)
- Colour
- Attenuation (the decrease in light over distance)
- Enable Light Inversion (if enabled, it actually removes light from the map)
- Tile System: A basic requirement in any 2D engine, is its ability to render tiles. Engine001's basic non-alterable layers include:
- Floor Tiles
- Static Objects/Tiles (such as desks, plants, etc...)
- Wall Objects/Tiles
- "Ornament" Objects/Tiles (such as windows, paintings, etc...)
- Character System: The Engine001 character system allows up to millions of 4-directional 8-framed 32x64-pixel sprites to be pixel-based drawn on an entire map while keeping a decent frame rate. Characters have an attached event system of their own, allowing the scripter to precisely change almost any visual and behaviour property ever imagined for a 2D character. Or maybe just the following:
- Direction and Pixel Position
- Enabling Lighting Engine (the next three are disabled if this is set)
- Colour (frozen person)
- Translucency (ghosts)
- Colour Highlight (ARGB, for flashes)
- Walking Speed (great detail)
- Flipping
- Showing Shadow (the next one is enabled if this is set)
- Shadow Colour and Translucency
- Auto-Movement Style (with "stay in region" capabilities)
- Route-Movement (a path that the characters follows over and over again)
- Rules (Ground, Water, etc...)
- Events
- Health/Max-Health
- Enable Generic Action Genre Artificial Intelligence (next two are enabled if this is set)
- General Weapon Interval (used to slow down attacking)
- Primary Weapon (will use in AI)
- Weapons and Ammo Equipped (receive after character dies)
- Vehicle System: Often left out, but the most promising feature of Engine001. The vehicle system wasn't the main focus of the game, at the same time, vehicles is what you should look forward to in 001. They follow real-life physics (mentioned soon) and superbly fast collision detection for their complex mechanism. Here are the properties of vehicles:
- Direction (0 to 360)
- Position (X, Y and Z)
- Enable Lighting Engine (next three are disabled if set)
- Colour
- Translucency
- Colour Highlight
- Flipping
- Showing Shadow (next one is enabled if set)
- Shadow Colour and Translucency
- Health/Max-Health
- Rules (Ground, Water, etc...)
- Width and Height (not all vehicles are the same size!)
- Min and Max Velocity
- Turning Speed
- Acceleration
- Exits (front, back, left, right)
- Ability to Fly
- Door System: Engine001 decided to take a lot of care into how doors would work. Doors are as well 32x64, but only require ONE sprite for all degrees of movement. Here are it's properties:
- Position
- "Openage" (value between -1 to 1, including decimals in between)
- Open Style
- Rotate - From right side, from left side, from right side up only, from left side up only, from right side down only and from left side down only.
- Squeeze - Up, down, left and right.
- Accordion - 8 segment or 4 segment, by moving up, down, left and right.
- Hide - Up, down, left and right.
- Slide - Up, left and right.
- Enable Lighting Engine (next three are disabled if this is set)
- Colour
- Translucency
- Colour Highlight
- Flipping
- Showing Shadow (next one is enabled if this is set)
- Shadow Colour and Translucency
- If Broken Tile (changes to a different door tile if the door is blown up)
- Dynamic Object System: A great plus to Engine001. It allows the power and flexibility to work with tiles in a whole new way! They are quite hard to get used to, since they are so flexible. But when they are used properly, the outcomes are great! The properties for dynamic objects include:
- Position
- Layer Position (Over floor, over shadows, over medians, with characters-doors-and vehicles (has depth), over characters, and over walls)
- Enable Lighting Engine (the next three are disabled if set)
- Colour
- Translucency
- Colour Highlight
- Flipping
- Rotation
- Showing Shadow (the next three are enabled if set)
- Shadow Colour and Translucency
- Shadow Distance from Object (used to demonstrate height in an object)
- Shadow Clipping (used for multi-height shadows, stair-case effect)
- Animation Speed (if an animated dynamic object is selected)
- Animation System: This system relies directly on the Dynamic Object System, and thus has all the same properties, including rotation, shadows, colour alterations, etc...
- Rock, Tree, Etc... System: This is a fairly weak feature in Engine001, but still important. It simply allows the creation of larger than normal objects with EXTREME simplicity. You can create a rock once, choose it's width and height, and it's collision rectangle, and voilą! Just simply paste it all over the place, and you just created a bunch of rocks with ease. They have very little properties to ensure high simplicity:
- Width and Height
- Collision Rectangle
- Shadow Distance
- Item System: The item system is, as well, also a very good feature in Engine001. The variety of items is up to your imagination! The following properties will describe how powerful yet sleek Engine001 will handle items (for both RPG and Action Genres):
- Name
- Description
- Price
- Weight (affects Speed in RPG Genre)
- Ammo Title (bullet(s), capsule(s), grenade(s))
- Preview Picture
- Type: Weapon
- Accuracy (NOT chance of kill, it is the angle fluctuation)
- Type (regular, range single-shot, range repetitive-shot, throwing, drop, script)
- Non-Script Properties:
- Damage Type (Piercing, Bludgeoning, Line, Flame, Explosive)
- Actual Health-Damage
- Use Interval
- Range Properties:
- Bullet/Object Texture
- Width and Height
- Animation Frames
- Number of Bullets per Shot (3 for shotgun for example)
- Speed
- Range
- Silenced (used in AI)
- Throw Properties:
- Vertical Velocity (used for grenade, etc...)
- Regular Properties:
- Maximum Consecutive Attacks (Mario RPG style)
- Hit Chance
- Animation
- Script Properties:
- Type: Equipment
- Type (helmet, armor, shield, accessory 1, accessory 2)
- Attack Alteration
- Weapon Attack Alteration
- Magic Attack Alteration
- Defense Alteration
- Magic Defense Alteration
- Accuracy Alteration
- Weapon Accuracy Alteration
- Speed Alteration
- Events
- Type: Common
- Usability (once per item owned, limitless, never)
- Animation (optional)
- Events
- Scripting System: The scripting system is another great plus to Engine001. Since Engine001 is so complex, Map001 made it extremely easy to use (explained later). Scripting allows you to alter and affect any environmental object in any map (character, dynamic object, vehicle, door, etc...). It even allows you to setup the way AI works! It is based on variables, objects and what not, like any other programming language. Best of all, it is extremely simple to understand. Those who ARE programmers will be able to take advantage of the flexible variables and expressions. Those who don't know anything about scripting or programming will simply get used to a general and simple to use scripting language, that anyone can really use. And those that can't stand using scripting, may use a still in development point and click interface which will be as flexible as the written one, except everything is in text-boxes, lists and graphical representations.
|