How Hard Is It To Make A Game If I Have Never Programmed?


TheGoodDoktor said:
Gregor Richards said:
Programming games is not easy, not fun, and generally the tedium of programming overwhelms any creativity very quickly. In the real world, the people who write games are not the people who implement them.

Apart from the first point (programming games not being easy) that simply isn't true. Programming games is loads of fun, I've been doing it for over 12 years professionally and I would have stopped ages ago if it wasn't fun anymore. Also I've always been involved in the design of games I've worked on.

My advice would be to start off learning a language which is simple that you can do fun things with like Lua. Hopefully someone (I will if I ever get the time) will make something like LuaPlayer for the Pandora and you can make games quickly and easily with that.


I agree. I've been programming games for quite some time too, albeit not professionally. If game programming wasn't fun, I would've quit ages ago. Right now I'm using python + pygame for fast prototyping, but if performance becomes an issue even after python-specific optimizing I'll just rewrite the code in SDL/C++. Two days ago I started prototyping a puzzle game for pandora, and the first actually playable version with quick graphics was ready in some 6-8 hours.

Cutting right to the chase can be a great motivational booster, so I could recommend you to find some pygame/SDL tutorials that teach by a case example. When you've got you motivation in place, you can start learning more about algorithms and data structures etc.
 
Last edited by a moderator:
It depends on what you want to achieve. You can very easily get into programming and make a memory game or a very simple shoot em up. But don't expect to write Quake or WOW instantly.

Take a look at the BASIC languages out there. They usually provide a very soft learning curve.
 
I wrote a game once, which was painful. I then finished and released it, which was excruciating.

I've been programming computers for about 30 years on and off (not professionally, as in "writing software to release", but in support of my job) and I can say without hesitation that writing my crappy little shareware platformer (Flynn Sprint) was hands-down the most fun programming I've done.

But in NO way would I say it was easy; admittedly this was 1996 and I was having to write some blitting routines in assembly, etc--nowadays you have really good libraries which help tremendously (I'd certainly use Python/Pygame if I was just writing games for fun).

Programming is hard. It's very hard. It SHOULD be hard. Doing it well and on a large scale (as with modern games) could be one of the hardest ventures in modern civilization, and I'm only slightly kidding there. And modern game development, from what I've seen (slightly dated, but visits to Ion Storm and Monolith) is an incredibly punishing professional environment (it was enough to make me say "no, I don't want to do this for a living even though I love doing it for fun).

I'm not trying to scare anyone away from game programming, but if your approach is "but it's HARD!" then it is not a venture for you. There is no substitute for understanding what the machine is doing; libraries, languages, and tools that abstract that away can do more harm than good until you understand them.
 
I've spent the last FOUR MONTHS trying to speed my latest game up, it's on an old 8 bit and in uncompiled
BASIC, only moving one software sprite around the screen (lol) and nearly half a year of daily work to get
it polished so it's nearly at 25 fps... never felt anything so satisfying, so yes coding can be hard but the
reward more than makes up for it. I always say that making a game is more fun than playing them sometimes :D

Learn to code, it's not as hard as you think, you just learn a few more commands, then a few more... it'll be worth it ;)
 
Shadow of Chaos said:
i dont think i have the patience
I think you've answered your own question, really.

Patience is what it REALLY takes. I've started several projects, and though I've completed some,I've given up on many more due to lack of patience or simply being unable to find the help I've been looking for. The web is a mixed blessing. There's lots of really helpful code samples out there but there are also many which are either designed for a different version of the language, or plain and simple just don't work as they are supposed to!

In the end I decided to do a degree in Computing to help equip me with the tools I need to get a better understanding of what I'm actually doing!

In the end if you are in impatient person you will never be able to learn to code.

QUOTE


shame there isnt some program which just lets you choose things in clear english and converts it to specific code.




For the PC there are 'instant' game creation systems such as Multimedia Fusion but you'll still need that all-important patience. It's no good just sitting down with a vague idea of what you want to do and then trying to make it happen. You need to sit down and consider all the elements of your game, and how they will interact with each other. For Linux there are no instant creation tools. Novashell is probably the closest you'll get, and the Author has shown interest in Pandora, but you'll still need a lot of patience to read through the tutorials and make things work.
 
Last edited by a moderator:
TheGoodDoktor said:
Apart from the first point (programming games not being easy) that simply isn't true. Programming games is loads of fun, I've been doing it for over 12 years professionally and I would have stopped ages ago if it wasn't fun anymore. Also I've always been involved in the design of games I've worked on.
Maybe a better description is "Programming games is not fun if you don't find programming fun. Programming games is certainly not easy if you don't find programming easy!"

If you've never sat down in front of a computer to do some programming, and got up 10 hours later, without noticing the day go by, then you'll probably not get on trying to write your own games - Programming itself *has* to be fun for you to be able to keep at it at a hobby level. Either that, or you're getting paid, at which point the fun matters less than the paycheque!



To put it another way, nobody in their right mind would think "Hey, I know absolutely nothing about engineering, but I think I'm going to build my own helicopter."
 
Last edited by a moderator:
Programming is a bizarre occupation. It's difficult to do. There's no stability to the challenges presented. The rewards are more often than not personal, a feeling of satisfaction at your own accomplishment rather than any sort of external praise. Like trying to solve a puzzle without all the pieces, it can often be an impossibly frustrating thing to do. It certainly isn't fun. And yet I enjoy it so very much. Programmers are masochists: we delight in slamming our heads against virtual walls of design, and take great pride when the wall finally comes down and the solution to the problem becomes obvious. We create massive works of art that will never be admired, satisfied to know that our work drives a whole much greater than itself. We don't look forward to completing the puzzle: we actively seek out the missing pieces and craft the missing pieces ourselves. If you're good, no one who looks at the puzzle will notice that there was ever a piece missing. If you're really good, they won't even know it was a puzzle to begin with.
There's a lot of things people do for fun that I don't understand: hurtling yourself at the ground from 3000 feet with nothing but a backpack stuffed with fabric doesn't sound like fun; running full out while a big horned bovine tries to gore you doesn't sound like fun; swinging a stick in an attempt to hit a tiny ball just for the opportunity to run around in a circle is kinda fun, but others might not see it as such.
Consider these metaphors, and if you understand what exactly you would be getting yourself into, and still want to learn, then you may have what it takes. Otherwise you're probably better off finding a book on design theory, writing a script, and hoping someone with experience and free time takes up the challenge.
 
I know I've mentioned it in another thread, but Megazeux is another game creation tool, and I believe it's open source (there was also a port to the gp2x ). It's also simple to learn, I was able to start making a simple game within about 10 minutes of picking it up. If you don't mind the slightly retro look of it, give it a shot.
 
Gregor Richards said:
A bit blunt, but ...

I'm a CS graduate student. I've seen plenty of years of first-year CS students. All have one thing in common: Many of them want to program because they want to write games, and those who do almost always drop out within in the first year. Programming games is not easy, not fun, and generally the tedium of programming overwhelms any creativity very quickly. In the real world, the people who write games are not the people who implement them.

(A side-note since I mentioned CS a few times: No, CS is not programming, but the first year is. Programming degrees are just CS lite anyway)
I'm a professional game software developer and I beg to differ. Not only do I program games at work, I do it at home in my free time and it's fun. You're right that it's not easy, though.
 
Last edited by a moderator:
You need to be a little crazy to enjoy making games. It seems like fun, since games are fun, but once you get into it you realize it's work. Like model ships are pretty to look at, most people wouldn't want to actually assemble one themselves. Same way for games.

Of course, Python goes a long way towards making it better. ;)
 
WizardStan said:
Programming is a bizarre occupation. It's difficult to do. There's no stability to the challenges presented. The rewards are more often than not personal, a feeling of satisfaction at your own accomplishment rather than any sort of external praise. Like trying to solve a puzzle without all the pieces, it can often be an impossibly frustrating thing to do. It certainly isn't fun. And yet I enjoy it so very much. Programmers are masochists: we delight in slamming our heads against virtual walls of design, and take great pride when the wall finally comes down and the solution to the problem becomes obvious. We create massive works of art that will never be admired, satisfied to know that our work drives a whole much greater than itself. We don't look forward to completing the puzzle: we actively seek out the missing pieces and craft the missing pieces ourselves. If you're good, no one who looks at the puzzle will notice that there was ever a piece missing. If you're really good, they won't even know it was a puzzle to begin with.
Wow. That was... beautiful... sigged!
 
Last edited by a moderator:
WizardStan said:
Programming is a bizarre occupation. It's difficult to do. There's no stability to the challenges presented. The rewards are more often than not personal, a feeling of satisfaction at your own accomplishment rather than any sort of external praise. Like trying to solve a puzzle without all the pieces, it can often be an impossibly frustrating thing to do. It certainly isn't fun. And yet I enjoy it so very much. Programmers are masochists: we delight in slamming our heads against virtual walls of design, and take great pride when the wall finally comes down and the solution to the problem becomes obvious. We create massive works of art that will never be admired, satisfied to know that our work drives a whole much greater than itself. We don't look forward to completing the puzzle: we actively seek out the missing pieces and craft the missing pieces ourselves. If you're good, no one who looks at the puzzle will notice that there was ever a piece missing. If you're really good, they won't even know it was a puzzle to begin with.
There's a lot of things people do for fun that I don't understand: hurtling yourself at the ground from 3000 feet with nothing but a backpack stuffed with fabric doesn't sound like fun; running full out while a big horned bovine tries to gore you doesn't sound like fun; swinging a stick in an attempt to hit a tiny ball just for the opportunity to run around in a circle is kinda fun, but others might not see it as such.
Consider these metaphors, and if you understand what exactly you would be getting yourself into, and still want to learn, then you may have what it takes. Otherwise you're probably better off finding a book on design theory, writing a script, and hoping someone with experience and free time takes up the challenge.
Nice, dude. That description hits home for me.
 
Last edited by a moderator:
I once had an email from a woman who had played one of my games saying something like: "I don't normally like playing video games but I played yours right to the end and loved it. Here are some pictures of my cats." and she included a couple of photos of her cats.
That's pretty rewarding in my book!
 
Gregor Richards said:
Programming games is not easy, not fun, and generally the tedium of programming overwhelms any creativity very quickly.
That I will object with. Programming games is very fun, however you need focus.

My biggest obstacle is finding the non-generic artwork to go with it. When making a game, you can't really do it all by yourself. You always need to remember: You have a role. If you're coding, that is what your job is. You don't have to like coding, you don't have to like drawing, you don't have to like making sound effects or music, or storywriting. But you have to learn to live with doing one, and stick with it. Programmers are programmers, Artists are artists. Can't make a game with just one or the other.

Mr. "I want to write games" goes in thinking he is going to type up a storm and magically have an engine, a story, music, characters, choreography and 3D, ends up walking away from a 2D bouncing ball example completely exhausted. Of course there is going to be some discouragement. But that is because people look at a game as a whole when their job is only a very tiny part of the whole thing. Know and be comfortable with what you're good at, and find a good team to dev with.

Luckily I've found an art buddy that can draw up some of the most beautiful characters I've ever seen. I'm writing the game engine, but /only/ writing the engine. We've still got to find a scriptwriter, musician, and another artist to draw our environments. Then and only then will we have some Pandora goodness on the way. ;)
 
Last edited by a moderator:
WizardStan said:
Programming is a bizarre occupation. It's difficult to do. There's no stability to the challenges presented. The rewards are more often than not personal, a feeling of satisfaction at your own accomplishment rather than any sort of external praise. Like trying to solve a puzzle without all the pieces, it can often be an impossibly frustrating thing to do. It certainly isn't fun. And yet I enjoy it so very much. Programmers are masochists: we delight in slamming our heads against virtual walls of design, and take great pride when the wall finally comes down and the solution to the problem becomes obvious. We create massive works of art that will never be admired, satisfied to know that our work drives a whole much greater than itself. We don't look forward to completing the puzzle: we actively seek out the missing pieces and craft the missing pieces ourselves. If you're good, no one who looks at the puzzle will notice that there was ever a piece missing. If you're really good, they won't even know it was a puzzle to begin with.
There's a lot of things people do for fun that I don't understand: hurtling yourself at the ground from 3000 feet with nothing but a backpack stuffed with fabric doesn't sound like fun; running full out while a big horned bovine tries to gore you doesn't sound like fun; swinging a stick in an attempt to hit a tiny ball just for the opportunity to run around in a circle is kinda fun, but others might not see it as such.
Consider these metaphors, and if you understand what exactly you would be getting yourself into, and still want to learn, then you may have what it takes. Otherwise you're probably better off finding a book on design theory, writing a script, and hoping someone with experience and free time takes up the challenge.

I just bookmarked this post.
 
Last edited by a moderator:
Abandon all hope. Game development is much harder than merely programming at that level which is extremely hard in itself.

On the other hand if it is your passion to develop games then go for it, you have to start somewhere but be aware of a few simple truths;
1) the voyage may be your only reward
2) There are no shortcuts or easy path
3) no one will write your program for you
 
I have a program called Game Editor ( http://game-editor.com ) which uses actors and events to program with (The background is an actor) apart from an occasional x=x+1 its all done with mouse clicks. (includes a space invaders tutorial) Then you compile your program to run on various platforms such as windows/Linux/smartphones/GP2X.
A more traditional basic is GLBasic (www.glbasic.com) This has 3D commands and also compiles to Linux/GP2X/Wiz and when it appears The Pandora. A demo with no time limit is available.
 
TheGoodDoktor said:
I once had an email from a woman who had played one of my games saying something like: "I don't normally like playing video games but I played yours right to the end and loved it. Here are some pictures of my cats." and she included a couple of photos of her cats.
That's pretty rewarding in my book!
I never got cat pictures, but to this day I occasionally get an email someone who found my email address trying to find a way to buy the full version of my old shareware game, and it's really exciting when it happens (I just point them to the binaries or email them). I'll never debate that game development is (or can be rewarding). It's just hard, frustrating, and demands piles of patience, which is why I caution people away from it.
 
Last edited by a moderator:
Shadow of Chaos said:
I've never programmed anything before, at least not with code. But what code does the Pandora actually read anyway? i suppose its C or C++ stuff? I did start reading about java programming once but i got lost fairly easy and just gave up.. as much as i would like to be able to program games i dont think i have the patience, not to mention i always read that you need to be good at maths and i totally suck at it.

the easier programming language that will probably work on pandora from day 1 is python, with either pygame or pygtk for the graphical interface, depending on what you want to do.

If you got lost trying to start with java (which can be overwhelming) python may be easy enought to get a cleaner start (with python easy things are easy to do, with java things start a bit harder); lua, as suggested in another post, is a similarly good choice, as long as it is supported on the pandora.

Both python and lua have the advantage that they also teach lots of stuff that can be still useful if you later decide to move to harder languages (C/C++, java...), as opposed to basic, which uses a different approach.

However, games are one of the hardest area of programming: even with an easy language like python or lua you will have to start with simpler text only apps then progress to gui apps and then you may hope to start writing simple games.

There is an even easier approach that can be useful to teach the very basics of the programming way of thinking, but will have to be "grown over" sooner if you want to get into the standard industry way of programming: logo. I know of a limited implementation included in sugar, the one laptop per child interface, (it can be installed also on a normal ubuntu installation) that is very visual and gives immediate graphical feedback. lately I've had some fun with it, and surely it won't hurt in builing a programmer's mindset, but of course you won't even be able to write games in it)

its nothing that seems easy to grasp and seems like the type of thing you always have to go back to a manual, or read up about something incase you forget

is there any way at all that you can learn and not forget?

yes: practice, practice, practice
and a good starting book/online course, that makes you do lots of practice

the thing that annoys me it all seems to look like

if "blah" = "xxx" then go to > xxx or something like that anyway :blink: [/quote

well, lots of programming is based on stuff like
if something:
do_something()
it's one of the basic constructs

shame there isnt some program which just lets you choose things in clear english and converts it to specific code.

there are programs that allows you to visually combine graphical elements to build a programm or even a game; they can be a great help for the UI partof the program, but in the end you will have to write some logic "by hand", or your program won't make anything useful.

Also, they tend to be quite limited in what you're allowed to do, and give very little room for expansion, so they are one sort of dead end.

My father was talking about how he programmed 2 dice to roll when you pressed the space bar on the spectrum, it was already in a mag saying what to do but it still took him hours apparently.. all that time just to make a pair of dice roll random numbers? :unsure: see now i think that is one big thing that would put me off just trying to learn it :p

programming in the spectrum era was a bit different than it is today: harder and more low level; now a program like that will probably take a few 10s of minutes, since lost of it have already been written (e.g. the "get a random number part": that's a given on modern computers)
 
Last edited by a moderator:
Back
Top