Skip to main content

Level design basics, part 8

 Abstract code

Optimally, there should be two or more level design team members, one for graphical
design and one programmer. This is where code abstraction comes in handy. The
graphical part of doing it is to make a level design document in code: 

arena.lvl
Arguments: hard level, hard bonuses.
Design:
main table = circular 4 meters radius

C++ abstract script code:

Level arena_1{};
arena_1.set_script(hard, hard, basic 3);

Such code extraction and abstraction makes hard to transfer documentation into
actual soft ware and hard ware code to more convienient process.

class Ware
{
    std::string data[100]{};
public:
   void draw();
};

The ware class can be used to more correctly bridge the gap between the both
documentation types.

void Ware::draw()
{
    Direct play{};
    for(int iterator{1};iterator<=100;++iterator)
    {
        play.push_x(data[iterator-1]);
    }
}

The class creates a ware house node in the graphical processing unit, so it is more
challenging, but also more convinient to sort through the random access memory.

Ware pixel_1{};
Ware pixel_2{};

Code abstraction makes a level design document more convinient to read for the
programmer or a coder. A ware house node is stored to the random access memory,
but also the central processing unit.

void Direct::push_x(std::string print)
{
    if (print=="array")
    {
        return;
    }
    else
    {
        std::cout << print[1-1];
    }
}

The function prints the system message if the program is console type. Two members
should collaborate and debate on how to improve the level. Basically printing a 3
dimensional square in a video game is hard, so abstraction fixes this problem. In

theory it sounds easy, but it really isn't. Wether it is a first person shooter, real time
strategy or third person adventure game. This is where data abstraction comes in handy.

class Square
{
    int position_x[4]{};
    int position_y[4]{};
    int position_z[4]{};
    std::string script{};
public:
    void draw(std::string parent_type);
};

Same problems arises when making a square in making a 2 dimensional game that
correctly resembles reality, or 
real world.

arena_collosal.lvl
0 1 12 3 4 5

You would expect only 4 parameters for the square, but there are additional 2 for
colossal challenge input for the monster parameters. You would expect the arena
to be circular from the top down, but it is realistic, which is why physics have to

be applied as well. Such as low-polygon count to improve the frame rate. 60 frames
per seconds is good for level design, especially when making a two dimensional
simulation. Making breathing sounds in a two dimensional stealth games is hard.

And challenging. Code abstraction comes here in handy too. So code abstraction
doesn't make development easier, but actually harder, but also more worth it. People
thinks source code abstraction is to make the coding easier, but where could there

possibly any point in that? Experience points system can be abstracted too.

Comments

Popular posts from this blog

Level design basics, part 2

An arch level design is hard, as it doesn't involve only polygon boxes, but also also three dimensional curve lines. If you ever played. Americas army 1, you'll know how hard it is to make a curve building, like the famous over played bridge crossing map. The point is to start. With one curve. Curve is not a straight line, but it's still a line. Means it is possible to apply lines into a three dimensional level. arch 0 0 1 0

Level design basics, part 7

Meta files Meta means in between. Wild hard ware and soft ware connection. A game design level document is just documentation; it is normal text. Actual level files however are en coded. Not normal text, in other words; which is why they are a lot harder to make. Forests for example are hard to put into a text file. Trees are real world eco systems that are the source of nature and life. It is one thing to put a real world object into a game, what is even a LOT harder is putting one, for example a tree into a text file. Source code is just sofware, it is nothing but encoded writing, which is why to put it into soft ware is not exactly easy, but has been done many times before. However, putting source code directly into hard ware is a completely different thing. That's where meta files come in handy. Meta files are clay ware. They work very similiar to a human brain. Like a connection between software and hardware. A meta file contains level game design documentation and level code....

Coding

I find it extremely hard to code a game. It gets worse than that. I also have to do the game design, UI design, level design and the story. Basically lots of bugs, lots to learn, lots to design. The good news is I have a teammate and she works on level design and story. Helps a lot regardless there is tons of work to be done before even first of the three Trix games gets published. I sometimes work even 12 hours a day. Yikes!