Author Topic: For people completely new to game dev  (Read 1666 times)

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,217
  • Reputation: +28/-1
    • View Profile
For people completely new to game dev
« on: October 31, 2010, 06:05:24 AM »
This below is for those who are REALLY new to the whole game dev thing. If you have 6+ months of coding experience and know what FTP is don't waste your time.


Literacy
Capital letters at the beginning of a sentence, dot at the end. Colons where it is due. If you are not there yet you should ignore everything else and reach that stage. You can make a game without many skills, without knowing about programming, whatever. But you can't, absolutely can't make it without decent (and by this I mean above average) writing skills. You will need to communicate with players, you will be writing manuals for slow thinking players, you will be writing over and over again no matter what kind of game you do. Starting by writing proper posts on this forum seems like a very good start.

I have a great idea for a game but I don't know how to code and don't want to learn - I'm the idea man you know -  I'm looking for someone that would do it for me
I will just quote sloperama since this issue has been explaind extensively already :)
"Pretend for a moment that you have a great idea for a novel, not a game. How would you go about getting it written and published? Would you go to a bulletin board and advertise looking for an author to write it for you? No, you would have to get off your butt and write it yourself. I have heard that a friend of Frank Herbert (author of Dune) asked Herbert to author the friend's idea and split the profits 50/50. Herbert refused, even though the guy was a good friend -- Herbert's reply was basically that ideas are easy; the writing is the hard part. Think about it for a minute -- would YOU want to have a friend come up to you, tell you a few sentences, then have you spend months hunched over a keyboard turning his few sentences into the Great American Novel? I doubt it. If you did spend months writing that book, would you want to give half of the money to that guy? I don't think so." http://www.sloperama.com/advice/idea.htm

Basic web skills
Before you start, do you know how to use FTP (it is a program that let you transfer files from your computer to the "internet")? Or how to write a HTML page in notepad? If not google for "HTML tutorial".

Programming
So, you are willing to to learn to code but don't know what/how? You will need 3 things.
- start with HTML, it is a sort of language that let you display this on screen (the page you read right now is HTML).
- next learn PHP (or any other server side language, PHP is the most popular) it will let you make dynamic things. This is the most important one, most of your coding time will be spend writing in this language.
- the last one you need is MySQL (again, there are others but MySQL is the most popular one) it will let you save the progress of the game, so when the player returns he/she can continue.
There are other things you might need (JavaScript, Flash) but these are optional and can be learned later.
« Last Edit: October 31, 2010, 06:07:46 AM by Chris »

Offline pixlepix

  • Level 12
  • *
  • Posts: 90
  • Reputation: +0/-0
    • View Profile
Re: For people completely new to game dev
« Reply #1 on: October 31, 2010, 06:25:28 AM »
First of all, I agree about the part about the ideas being easy. If I could push a button and make a game from an idea, I would have about 20 games already. Also, when you say that this page is written in html, it could sound like you can make a forum in pure html, and you might want to clarify what dynamic means. Could confuse a newbie :)

Offline saljutin

  • Level 22
  • *
  • Posts: 266
  • Reputation: +6/-0
    • View Profile
Re: For people completely new to game dev
« Reply #2 on: October 31, 2010, 07:19:32 AM »
nice but I would fix this 3 things:
- HTML
- CSS
- PHP + MySQL

Offline pixlepix

  • Level 12
  • *
  • Posts: 90
  • Reputation: +0/-0
    • View Profile
Re: For people completely new to game dev
« Reply #3 on: November 23, 2010, 07:33:08 PM »
you dont really need css. Sure, it is nice but not needed. On my game in the early stages, I am concentrating on gameplay and have no layout or such.

Offline BaRRaKID

  • Level 5
  • *
  • Posts: 16
  • Reputation: +1/-0
    • View Profile
Re: For people completely new to game dev
« Reply #4 on: November 25, 2010, 12:40:51 PM »
Let me add that when developing a game, more important than knowing how to code is knowing how to write proper, maintainable, and extensible code. You need to understand that your game is going to have lots of changes, things will almost always not work as you intended, so you need to think in advance, you need to look at every piece of code that you write as temporary, something that will change in the future.
Learning how to write proper code isn't easy, and you won't learn how to do it by reading tutorials online.
That being said, I'm going to recommend some programming books that have helped me personally:

Head First Design Patterns - Design patterns are essential to write maintainable and extensible code and this book is by far the best way to learn how to use and understand them.

Design patterns : elements of reusable object-oriented software - This book is a complement to the previous one, and should be used more as a reference than learning material since the language is much more technical than in the previous book. This was the original book that named and explained the most commmon software design patterns used today. Must read.

Refactoring: Improving the Design of Existing Code - Refactoring is the art of simplifying your code while maintaining it's functionality. This book provides examples of typical situations in which you can improve your code, and why you should do it.

Code Complete: A Practical Handbook of Software Construction - This is THE book to read if you want to learn how to write proper code. Everything that a software developer should know is in this book.

The Pragmatic Programmer - This book if full of advice from experienced programmers, but it won't exactly teach you how to write better code, instead it will teach you how to be a better coder.

The Art of Unit Testing: with Examples in .NET - Unit testing is essential to avoid creating new bugs when you introduce new code, and to make sure that your code works as intended. This book is essential to learning how and why to use unit testing. Please note tough the all the examples are for .NET

Patterns of Enterprise Application Architecture - This book will give you a better insight on how to build a solid application using well know techniques. If you want to know what domain, n-Tier, software layers, MVC, relational mapping, data concurrency, and many other terms mean, why you should worry about them, and how to use them, then you must read this book.

Hope these help.
« Last Edit: November 25, 2010, 12:43:12 PM by BaRRaKID »

Offline gnoh

  • Game Owner
  • Level 15
  • *
  • Posts: 127
  • Reputation: +2/-0
    • View Profile
Re: For people completely new to game dev
« Reply #5 on: November 25, 2010, 01:36:10 PM »
+1 to code complete it is a real gem.


Offline andrewjbaker

  • Level 17
  • *
  • Posts: 154
  • Reputation: +2/-0
    • View Profile
    • Fleeting Fantasy
Re: For people completely new to game dev
« Reply #6 on: November 27, 2010, 10:17:05 PM »
And +1 for Head First Design Patterns too. If you're new to OOP I recommend you read Head First Object-Oriented Analysis and Design first tho', just to give you a grounding and to help with putting design patterns into context.

Oh yeah, when you first pick up a Head First book you'll be like... WTF is this?! Trust me, the visual style of the book might feel alien initially but if you persevere it'll pay dividends, I promise you.
Currently working on an HTML5 canvas 2.5D landscape renderer and a PBBG that uses it (http://fleetingfantasy.com/). The development blog's at http://fleetingfantasy.wordpress.com/.
What are BBGameZone members working on? See the game list.
irc.freenode.net, #bbg

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,217
  • Reputation: +28/-1
    • View Profile
Re: For people completely new to game dev
« Reply #7 on: November 28, 2010, 04:38:46 AM »
Let me add that when developing a game, more important than knowing how to code is knowing how to write proper, maintainable, and extensible code. You need to understand that your game is going to have lots of changes, things will almost always not work as you intended, so you need to think in advance, you need to look at every piece of code that you write as temporary, something that will change in the future.
I completely disagree. Writing proper code and finishing games is mutually exclusive. You have to choose one :D

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: For people completely new to game dev
« Reply #8 on: November 29, 2010, 06:14:54 AM »
I completely disagree. Writing proper code and finishing games is mutually exclusive. You have to choose one :D
Not really, you're confusing proper code with perfect code. It will take forever (and I mean that literally) for you to create perfect code. However, having proper code is all about getting yourself into the habit of writing proper code. Occasional slip-ups are had by all but, by and large, you should be habitually writing proper code.
Idiocy - Never underestimate the power of stupid people in large groups.


Offline BaRRaKID

  • Level 5
  • *
  • Posts: 16
  • Reputation: +1/-0
    • View Profile
Re: For people completely new to game dev
« Reply #9 on: November 29, 2010, 07:10:28 AM »
There is no such thing as perfect code, just code that is good enough to work :)
Proper code in this case means that you at least should write something that is easily maintainable and extensible. If for example you write all your code against concrete implementations instead of abstractions, you'll have a hard time every time you need to add something new to the game, or extend something already implemented. If for example you have functions that are not properly refactored (for example functions that do too much or not enough, or that have more than one role) the chance of adding more bugs when fixing another bug increases (which can also be avoided by using TDD).
If anything writing proper code will save you more time than just writing code, you may spend a bit more time at the beginning making your code proper but you'll gain it back when doing revisions for new versions of the game.

andrewjbaker, glad you mentioned Head First Object-Oriented Analysis and Design, it's also on my shelf but I forgot to add it to the list. It's a great book to understand the core concepts of OOP.

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,217
  • Reputation: +28/-1
    • View Profile
Re: For people completely new to game dev
« Reply #10 on: November 29, 2010, 07:23:42 AM »
I completely disagree. Writing proper code and finishing games is mutually exclusive. You have to choose one :D
Not really, you're confusing proper code with perfect code. It will take forever (and I mean that literally) for you to create perfect code. However, having proper code is all about getting yourself into the habit of writing proper code. Occasional slip-ups are had by all but, by and large, you should be habitually writing proper code.
Yeah... but for many, many people "proper=nothing less than perfect" :D They would just self delude themselves that they are doing it "proper" way, not "perfect" way so what they do is still OK, while in reality their "proper" is equal or near equal perfect.

Quote
If for example you write all your code against concrete implementations instead of abstractions, you'll have a hard time every time you need to add something new to the game, or extend something already implemented.
I disagree. You can always rewrite you game from scratch, what's the problem (once I lost source code for a game I was writing for a month due to harddrive crash, I recoded it in 2 days and it was better, faster, simplier, cleaner, etc)? Writing a game, as a lone programmer where no one else except you will deal with the code, the proper extendable way is just a waste of resources and time.


Offline Ni2bba2011

  • Level 2
  • *
  • Posts: 3
  • Reputation: +0/-0
    • View Profile
Re: For people completely new to game dev
« Reply #11 on: September 15, 2011, 04:16:07 AM »
First of all, I agree about the part about the ideas being easy. If I could push a button and make a game from an idea, I would have about 20 games already. Also, when you say that this page is written in html, it could sound like you can make a forum in pure html, and you might want to clarify what dynamic means. Could confuse a newbie Smiley




Edited: Removed fake ads
« Last Edit: September 15, 2011, 08:10:17 AM by Zeggy »

 


SimplePortal 2.3.3 © 2008-2010, SimplePortal