• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
  • entries
  • comments
  • views

[Beginners] How to get better? Program your algebra homework.

Sign in to follow this  
Followers 0


Being an intermediate developer, getting better is a huge focus of mine. I read e-books, program constantly, and follow established programming rules (S.O.L.I.D.), however getting better is still hard. I've come to the conclusion that the only true way to get better is to program (following rules from books, however).

How can you program constantly? You run out of ideas, and you still aren't ready to embark on a big project. There has to be some way to get better at programming every day.

And there is.

Program your Algebra homework. Or, if you're out of Algebra, program the lesson's on Khan Academy.

"What?", you ask. "How does programming my Algebra homework help me at all?". "What does it even mean to 'Program your Algebra homework'?".

Well, it's simple. Algebra follows rules. Repetitive rules. And what are computers best at (If you don't know the answer to this question in less than a second, go read some more beginner books.)? Repetition. Procedural programming is focused on repetition. The idea that you can do the same code many times forms the base of Computer Science.

So, to get better, and learn far more about programming (Especially design), program your Algebra homework.

What do I mean? Put what you're learning to solve, or do, or simplify into a program. You'll quickly find yourself with a large library of Algebra programs.

Want an example?

The quadratic formula (and discriminates). Why did I choose this as an example? Because it's very easy, making it a great example. All you need to solve quadratic equations is to plug in a, b, and c (From standard form:)
into the quadratic formula:
Do this every night, and you'll be a better programmer in no time.

(To see the example, download the file below. The code is in C++, however it should be easy to understand for programmers of all languages as it only uses basic conditional / loop statements, variables, and functions.)

Sign in to follow this  
Followers 0


Uhm, I'm not sure.

Let's elaborate.


In algebra, people have set the rules. Coherent rules.


In programming, you need to write those rules.


In my experience, it does not really feel like algebra.


Share this comment

Link to comment

Actually mathematics is a great way to improve your programming.  A really good site for stretching your programming skills is Project Euler.  Everything revolves around math.  The site evaluates your solution and once you submit yours you can review the code others posted to compair.  This comparison is great because it can really show you how you could have found a solution in a more efficient manner.  Really good stuff.


Share this comment

Link to comment

I think its a great way to get some practice for programming, though it might take a bit out of the practice of math itself.


For programming its a great thing, the rules are clear and you need to understand them very well to device an algorithmic solution to it that works for all cases. Though its kind of outside the realm of real world work experience since the rules are NEVER clear there :P

The problem is you can't take your programmed algorithm to class with you at the time of the final test, and good results in a final test usually require you to have done enough excersices to have the algorithm automated in your head. Also few professors would give you any credit beyond a pat on the head for presenting an algorithm to solve matrix determinant or derivate a function.

I would advice people still do both.


Share this comment

Link to comment

It's one way but depending on the language it's not necessarily a great way.


As Krohm stated algebra has a set of rules and making a program that follows those rules and gives an answer (or answers) is a good start for programming as you have to start somewhere.


The user creating their own rules will come from the interface. How will they want the values entered? Is there a more efficient way? How do they want the values displayed?


For me in the 80s, a language like GW-Basic was great because it allowed near instant graphical representations of algebraic solutions and had a set of math instructions that closely followed what I was taught in grade school.


Within 6 months I had gone from "enter a series of numbers to see a series of numbers" to a graph that could be zoomed in and out upon, compared to different graphs and a different color palate used for imaginary numbers.


Share this comment

Link to comment

Programming math for developing good skills is a great idea (if you don't do that at work).

But it's better to share your code than the compiled program with tons of useless stuff as precompiled headers, debug databases and build logs.

Another hint - always check your input.


Share this comment

Link to comment

This is what I did back in high school actually, when I had to do algebra homework. It was extremely tedious and boring, so I eventually wrote a script to solve them all in one shot and printed out the results to copy back at lunchtime :)


For extra credit: implement complex arithmetic and write code to solve the quadratic equation on the complex plane!


That said, it really depends on the exercise and on the people involved. Learning is a very personal process, and not everyone will find implementing math useful (I personally did not, and preferred implementing simple games and proof-of-concept prototypes, small desktop utilities, etc..). I believe a formal math background is still desirable in addition to (or instead of) the exercise you propose.


Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now