User Tag List

Page 4 of 5 FirstFirst ... 2 3 4 5 LastLast
Results 31 to 40 of 49

Thread: Next Gen ZC. (Otherwise known as ZC3.0)

  1. #31
    Keese Samer's Avatar
    Join Date
    Jan 2015
    Location
    Detroit, MI
    Age
    32
    Posts
    66
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    533
    Level
    8
    vBActivity - Bars
    Lv. Percent
    26.98%
    Mostly to Gleeok but could apply to everyone
    @Gleeok
    I'm really not trying to be offensive, just spreading knowledge.

    Data structures and OOP are one in the same. OOP is just organization. Here's an example program I was using myself with a team for a university project for software change requests.
    https://github.com/Gr1N/EasyPaint

    The implementation for classes (data structure) is still data-oriented but designed in a way to improve stability and balance, speed is important but you'd be better off writing everything in assembly if that's your main goal.

    The classes used for drawing graphics and memory management can still be data-oriented, but encapsulated.

  2. #32
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,827
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,978
    Level
    33
    vBActivity - Bars
    Lv. Percent
    28.3%
    Quote Originally Posted by Samer View Post
    Mostly to Gleeok but could apply to everyone
    @Gleeok
    I'm really not trying to be offensive, just spreading knowledge.
    And I'm really sorry I even brought up concerns about the performance of drawing tiles and maps in Solarus.

    I only did so because I know how it works internally.

    From SDL 2.03 source:
    Code:
    static int
    GL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
                  const SDL_Rect * srcrect, const SDL_FRect * dstrect)
    {
        GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
        GL_TextureData *texturedata = (GL_TextureData *) texture->driverdata;
        GLfloat minx, miny, maxx, maxy;
        GLfloat minu, maxu, minv, maxv;
    
        GL_ActivateRenderer(renderer);
    
        data->glEnable(texturedata->type);
        if (texturedata->yuv) {
            data->glActiveTextureARB(GL_TEXTURE2_ARB);
            data->glBindTexture(texturedata->type, texturedata->vtexture);
    
            data->glActiveTextureARB(GL_TEXTURE1_ARB);
            data->glBindTexture(texturedata->type, texturedata->utexture);
    
            data->glActiveTextureARB(GL_TEXTURE0_ARB);
        }
        data->glBindTexture(texturedata->type, texturedata->texture);
    
        if (texture->modMode) {
            GL_SetColor(data, texture->r, texture->g, texture->b, texture->a);
        } else {
            GL_SetColor(data, 255, 255, 255, 255);
        }
    
        GL_SetBlendMode(data, texture->blendMode);
    
        if (texturedata->yuv) {
            GL_SetShader(data, SHADER_YV12);
        } else {
            GL_SetShader(data, SHADER_RGB);
        }
    
        minx = dstrect->x;
        miny = dstrect->y;
        maxx = dstrect->x + dstrect->w;
        maxy = dstrect->y + dstrect->h;
    
        minu = (GLfloat) srcrect->x / texture->w;
        minu *= texturedata->texw;
        maxu = (GLfloat) (srcrect->x + srcrect->w) / texture->w;
        maxu *= texturedata->texw;
        minv = (GLfloat) srcrect->y / texture->h;
        minv *= texturedata->texh;
        maxv = (GLfloat) (srcrect->y + srcrect->h) / texture->h;
        maxv *= texturedata->texh;
    
        data->glBegin(GL_TRIANGLE_STRIP);
        data->glTexCoord2f(minu, minv);
        data->glVertex2f(minx, miny);
        data->glTexCoord2f(maxu, minv);
        data->glVertex2f(maxx, miny);
        data->glTexCoord2f(minu, maxv);
        data->glVertex2f(minx, maxy);
        data->glTexCoord2f(maxu, maxv);
        data->glVertex2f(maxx, maxy);
        data->glEnd();
    
        data->glDisable(texturedata->type);
    
        return GL_CheckError("", renderer);
    }
    Can we drop it now?
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  3. #33
    Keese Samer's Avatar
    Join Date
    Jan 2015
    Location
    Detroit, MI
    Age
    32
    Posts
    66
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    533
    Level
    8
    vBActivity - Bars
    Lv. Percent
    26.98%
    Consider it dropped. Your concerns are warranted so don't worry about it.

  4. #34
    Keese Jaydeadone's Avatar
    Join Date
    May 2015
    Location
    Seattle
    Age
    46
    Posts
    63
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    513
    Level
    8
    vBActivity - Bars
    Lv. Percent
    13.09%
    Quote Originally Posted by Samer View Post
    C++ is usually the most balanced programming language for games.
    Memory management has to be done manually though.

    It's not that Java and others are bad, they just aren't really cross-compatible and they spring up memory leaks like there's no tomorrow.

    Sharing this Game Design Book:
    Intro to Game Development

    It's pretty big, and it's graduate level but I'm sure everyone here knows what they're doing.
    It's too big to preview so you have to download it.
    Thank you...
    I can use this.
    J~
    A severed foot is the ultimate stocking stuffer.

    Mitch Hedberg

  5. #35
    Keese Samer's Avatar
    Join Date
    Jan 2015
    Location
    Detroit, MI
    Age
    32
    Posts
    66
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    533
    Level
    8
    vBActivity - Bars
    Lv. Percent
    26.98%
    @Jaydeadone
    No problem, it's for the good of the community. Sharing is caring and w/e.
    I just wanted to put an end to useless banter.

    I put that out there because ZC suffers from too many flaws.
    I'm glad you could use it.

  6. #36
    Keese Jaydeadone's Avatar
    Join Date
    May 2015
    Location
    Seattle
    Age
    46
    Posts
    63
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    513
    Level
    8
    vBActivity - Bars
    Lv. Percent
    13.09%
    Quote Originally Posted by Samer View Post
    @Jaydeadone
    No problem, it's for the good of the community. Sharing is caring and w/e.
    I just wanted to put an end to useless banter.

    I put that out there because ZC suffers from too many flaws.
    I'm glad you could use it.
    Well don't expect much contribution out of me for quite awhile...I am still in the beginner's phase of of Python and then I plan to learn C++. The memory management part of C++ kind of scares the shit out of me...

    J~
    A severed foot is the ultimate stocking stuffer.

    Mitch Hedberg

  7. #37
    Keese Samer's Avatar
    Join Date
    Jan 2015
    Location
    Detroit, MI
    Age
    32
    Posts
    66
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    533
    Level
    8
    vBActivity - Bars
    Lv. Percent
    26.98%
    @Jaydeadone
    Don't worry about it bro. It all comes with practice.

    One rule of thumb, NEVER delete pointers outside the destructor as which it will relatively always cause Heap Corruption.
    I'd start with data structures first before moving to Object-Oriented. If you don't know data structures it will be really difficult, tedious, and you will give up.
    I can send a link for my Data Structures & Algorithm Analysis if you want and slides to Software Engineering using the AGILE manifesto/Scrum/XP, etc.

    Start with the basics, I've been there. Ambitions w/o a plan relatively always end up in failure and/or defective software.
    Software development is the same as making games (quests are different, they're more like rom hacks).

    Depending on how you want your memory managed there are many different ways to do it. For saving, the Doubly-Linked List (dynamically allocated) is the best one. If you need A LOT, then you'd need like an AVL Tree, or Balanced Binary Search Tree.

    Start with the basics.
    Last edited by Samer; 07-01-2015 at 03:54 PM. Reason: Can't piece my thoughts together at once, Spelling & Grammar

  8. #38
    Keese Jaydeadone's Avatar
    Join Date
    May 2015
    Location
    Seattle
    Age
    46
    Posts
    63
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    513
    Level
    8
    vBActivity - Bars
    Lv. Percent
    13.09%
    Quote Originally Posted by Samer View Post
    @Jaydeadone
    Don't worry about it bro. It all comes with practice.


    Start with the basics.
    Is C++ for dummies basic enough? Lol...
    My first goal is to make copies of programs, then open up the working program and tweak it and see how it reacts. Something like Fallout or Baldur's Gate comes to mind. These would be easy to mess with I think. They might have their own language mixed in though...BG uses the Infinity engine. IE: adding a weapon or enemy that doesn't exist in the original game...but this also requires that I have a concept of how the graphics work. I am certain I will frustratingly fail my first few attempts.

    J~
    A severed foot is the ultimate stocking stuffer.

    Mitch Hedberg

  9. #39
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,827
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,978
    Level
    33
    vBActivity - Bars
    Lv. Percent
    28.3%
    I would actually recommend to start with the basics of the basics. Not only will you have no idea what a big game is doing, you also won't know why, or how.

    What is the basics? Don't bother with any big libraries (including stl), and just use plain data such as simple structs, arrays, and pointers for everything. You won't have any memory problems if you don't allocate memory for every stupid little thing that shouldn't even of been allocated in the first place. KISS: Keep it simple stupid. Make a simple game, like breakout or asteroids. Once you understand what you are doing then you can do more complicated things and learn design patterns. I can honestly tell you that I've never once ever, ever used a BTree (ie., map),or Doubly-Linked List, in game programming. They are mostly useless. Just take a simple graphics API like SDL or allegro, and make something, anything, using only basic c++. Don't use templates.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  10. #40
    How many licks to get to the center Chris Miller's Avatar
    Join Date
    Mar 2001
    Location
    of a Tootsie Roll Pop?
    Age
    47
    Posts
    3,511
    Mentioned
    94 Post(s)
    Tagged
    4 Thread(s)
    vBActivity - Stats
    Points
    5,686
    Level
    23
    vBActivity - Bars
    Lv. Percent
    42.11%
    http://www.codeacademy.com

    This might be of help to you.

    Download Lands of Serenity today! You will be knocked comatose by its sheer awesomeness.
    The Titan's Quest, best played in the bathroom as the excitement can be somewhat...overwhelming.





    Official AGN Discord Channel

    Official ZC Dev Discord Channel

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social