Skip to main content

object render, part 4

Object is either two dimensional, or three dimensional. Even abstract
ones. People imagine c++ game objects as a part of a class on a graph
chart, to understand the game and development mechanics. But they

are really two dimensional, iso metric or three dimensional. They can
be seen on the level or the level map, in other words, about 90% of
used classes. Even server objects can be seen on the game, if there is

any blue print or underlying real world net working mechanism. So in
other words, the class objects can be used in game. They have to be
dimensional.

//PvE

class Monster
{
    std::vector<int>  head_memory{};
    std::vector<int> body_particles{};
public:
    int get_memory(int element);
    int get_particles(int element);
    int get_head_memory_size();;
    int get_body_particles_size();

};


Monster's head memory is used for AI render, the body particles list
is used for rendering. 60 frames per second is more than optimal on
all platforms, and is good for portability, including Steam.

//trigonometry

void render_AI_path(Monster& monster)
{
    for (int element{1}; element<=monster.get_memory(monster.get_head_memory_size();;++element)
    {
        save_ai(monster_get_memory(element));
    }
}


void render_object(Monster& monster)
{
     for (int element{1}; element<=monster.get_particles(monster.get_body_particles_memory_size();;++element)
    {
        render(monster.get_particles(element);
    }
}

Specific rendering:

void render_object(Monster& monster);
void render_object(Player& player);

Two dimensional object:

void render_object(Monster& monster)
{      render_pixels(monster.get_particles(monster_current_x()),monster.get_particles(monster_current_y()    ; 


Isometric object:

void render_object(Monster& monster)
{      
    render_pixels(monster.get_particles(isometric_x()),monster.get_particles(isometric_y()
 ; 


Three dimensional object:

void render_object(Monster& monster)
{      
    render_vector(monster);



void render_vector(Monster & monster)
{
    system.draw(basic, monster);
    windows.draw(object, monster);
    print(object, axis, monster);
}

Comments

Popular posts from this blog

object oriented programming

Object oriented programming is a sound and bold approach to c++ and internet wiring application and video games. It reduces a lot of code messes, made by global and half global functions. One of the more advanced object programming techniques are private access, poly morph and object message inheritance. It is set by c++ bjarne stroustrup and iso isometric standard convention comitee to use classes instead of structs and structures for making objects. Which means you most definitely should , but not must or have to. class Monster {     std::string memory_attributes{}; public:     void treck();     void track();     void trace(); }; The treck() function makes the monster roam and do human like jogging and trimming. track() means the monster goes ai path tracking and trace() means it tries to find other monsters in the area. class Weapon {     std::string memory_attributes{}; public:    void use(); }; void Weapon::use() {   ...

object render, part 3

 Making a object requires a class call, but also has to be rendered. Monster monster{}; monster = new Monster[10]; void render_monster(Monster* monster_array); The iso c++ standard says you should use classes for making objects, not structs(structures). Considering it is a standard.  With emphasis on  should , not  must . It is a standard, not a coding rule. It was set forth by iso commitee and bjarne stroustrup. Polymorphism allows us to make multiple monster arch map types. virtual void render_monster(std::string map_name, int type=0); Atch map is a data map about what all is happening in the game, like for example campaign map. It allows making archetypes. monsters, for more efficient run time memory and pointers managing bugs and random access memory. Random access memory can hold quite many objects. class BackPack {     std::string inventory_node{}; };