53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
= Yugine Engine
|
|
|
|
The yugine essentially is made of a sequence of levels. Levels can be
|
|
nested, they can be streamed in, or loaded one at a time. Levels are
|
|
made of levels.
|
|
|
|
Different "modes" of using the engine has unique sequences of level
|
|
loading orders. Each level has an associated script file. Level
|
|
loading functions call the script file, as well as the level file. The
|
|
level file can be considered to be a container of objects that the
|
|
associated script file can access.
|
|
|
|
.Game start
|
|
|
|
* Engine scripts
|
|
* config.js
|
|
* game.lvl & game.js
|
|
|
|
.Editor
|
|
|
|
* Engine scripts
|
|
* config.js
|
|
* editor.js
|
|
|
|
.Editor play
|
|
|
|
* F5 debug.lvl
|
|
- Used for custom debug level testing. If doesn't exist, game.lvl is loaded.
|
|
* F6 game.lvl
|
|
* F7 Currently edited level
|
|
|
|
While playing ...
|
|
* F7 Stop
|
|
|
|
.Level model
|
|
The game world is made up of objects. Levels are collections of
|
|
objects. The topmost level is called "World". Objects are spawned into
|
|
a specific level. If none are explicitly given, objects are spawned
|
|
into World. Objects in turn are made up of components - sprites,
|
|
colliders, and so on. Accessing an object might go like this:
|
|
|
|
World.level1.enemy1.sprite.path = "brick.png";
|
|
|
|
To set the image of enemy1 in level 1's sprite.
|
|
|
|
.Textures & images
|
|
A sprite is a display of a specific texture in the game world. The
|
|
underlying texture has values associated with it, like how it should
|
|
be rendered: is it a sprite, is it a texture, does it have mipmaps,
|
|
etc. Textures are all file based, and are only accessed through the
|
|
explicit path to their associated image file.
|
|
|