[Beginner] Software Engineering Practices.

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • [Beginner] Software Engineering Practices.

      Okay, I've been learning C++ for about a year now and I've never written any serious programs/games (all of them were less than 500 lines in length) with it.

      I'm planning on making a tetris game from scratch.

      And I'm just wondering, should I learn software engineering practices from books (like Programming: Principles and Practice Using C++ or Design Patterns) before I make my first game?

      Basically, what I'm asking for is, is it a good idea to learn things on my own and reinvent the wheel for the first time rather than just to learn all the software engineering aspects from the books mentioned above?

      P.S. Sorry for my poor English. I keep practicing it everyday :)
    • RE: [Beginner] Software Engineering Practices.

      This might get me shot.... but my answer is no. I wouldn't bother learning things like design patterns at this point in the game. Write Tetris the best you can, but don't make yourself crazy with architectural perfection.

      Once you finish your Tetris game, THAT'S when you should read through Design Patterns. You'll absorb the material so much more when you can read it and say "I remember having that problem when writing Tetris; spawning blocks with a Factory pattern really would have helped there!"

      I think there's this tendency for people to learn perfect architecture before writing any significant code. I strongly believe that you have to experience the wrong path a few times before the right path really makes sense.

      But that's just my opinion. ;)

      -Rez
    • RE: [Beginner] Software Engineering Practices.

      I like Rez's idea - read a little, then do a little until you get stumped. Then read a little more, then do a little more. This process will get you good a lot faster than just reading, or just doing.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • Hey there! This is my first post here, and I've gotta say, I love the book so far (up to chapter 9, and I've found every word valuable).

      As for making a Tetris game, I did my own several years back, completely off the top of my head, with a basic knowledge of C. The code is a tangled spaghetti mess, and I even think I used a goto in there somewhere. But if you want to do a semi-serious project, Tetris is a great way to start. Check out "TKlone" on Sourceforge if you want to see my code. And when you're done, rewrite it using proper game engineering practices (that's something I'll do once I finish this book).
    • RE: [Beginner] Software Engineering Practices.

      Thank you all for the input! I'm gonna start making a tetris clone right after my examination session at university.

      Also I've decided to use something like HGE for graphics and sound instead of plain DirectX (actually I just realized that I don't want to bother with DirectX at this point :D).

      Originally posted by Bigbio2002
      Check out "TKlone" on Sourceforge if you want to see my code.

      Thanks, I'll check it out.

      The post was edited 1 time, last by alexcg ().