Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1412053 Posts in 69447 Topics- by 58483 Members - Latest Member: Exye

June 22, 2024, 07:26:38 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Which can make me learn faster? Manual coding or usage of a game making program?
Pages: [1] 2 3
Print
Author Topic: Which can make me learn faster? Manual coding or usage of a game making program?  (Read 7088 times)
namre
Guest
« on: June 16, 2010, 01:54:23 PM »

Hi guys,

I've done some coding already making programs and games but I still want to learn more, and at a much faster pace.

So which can make me learn faster? Should I go down and dirty and manually code a game from the ground up? I figured that this will make me learn the concepts of game making and programming up close and personal. However, I think that by doing this, too much time will be wasted worrying on how to code a particular problem. Not to mention doing countless of trial and errors just to make the concept execute right (But then again, I kinda like the challenge of being able to solve the problem).

Or should I make use of a game making program and see how it does the coding, how it executes the concepts? I figured that by doing so, I can be able to see how the said program applies its collision system or how it simulates physics. I bet that this would save me a lot of time but at the expense of learning less.

To apply in real life, should I get someone to teach me how to do it, or should I learn through experience?

Which worked for you?

Thanks! Looking forward to your answers!
Logged
deemen
Level 0
***


View Profile WWW
« Reply #1 on: June 16, 2010, 01:56:39 PM »

Depending on how much of a beginner you are, I would recommend looking into the XNA Framework. It's not an engine, so you get to make a game from the ground up, but it allows you to get started on a real game fairly quickly. You can start displaying sprites within about 5 minutes. From there, you have plenty of tutorials you can look at.

http://creators.xna.com/en-US/
Logged

Project Lead - Programmer @ Crankshaft Games
Current Project: Party of Sin
namre
Guest
« Reply #2 on: June 16, 2010, 02:00:19 PM »

@deeman, thanks for you're reply. I'm gonna check that out.

I guess I can rate my coding as average. I have already tried lots of programming languages, Assembly, C++, Javascript, ActionScript. I have made some college-level programming exercises. And have made a tetris clone of my own using HTML5 and Javascript.
Logged
brog
Level 7
**



View Profile WWW
« Reply #3 on: June 17, 2010, 03:06:16 AM »

You say you want to learn faster.  What exactly is it that you want to learn?

If you want to learn about the technical side of game-making, you'll learn that fastest by coding all the technical stuff yourself.

If you want to learn about game design, you'll learn fastest with a game-making tool, because you can focus more of your time iterating on the gameplay and less on technical details.  (Unless you're already proficient in a programming language, in which case you'll likely find the extra power and control to be worth sticking with it.)

Basically, I think you'll learn at much the same speed either way, as long as you're doing things that are new and different and difficult for you.  The question is what exactly you want to focus that learning on.
Logged
Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« Reply #4 on: June 17, 2010, 03:26:31 AM »

Learning faster is a tough one. Depending on your capability, the harder you go the faster you'll learn. So dropping yourself right into making your own engine and learning all the maths and system design and software engineering on the fly will possibly be the fastest. Unfortunately that's too much for most people and to ease yourself into it you can use game making software to get the principles down or go with some scripting solution and a game engine (e.g. torque) or work directly with a game engine (e.g. unity), or code on top of a lower level framework/engine (e.g. sdl, ogre etc).

In the end the more time you put into it the faster you'll learn so get stuck in and if you find it's too hard, switch up to something easier.
Logged

bateleur
Level 10
*****



View Profile
« Reply #5 on: June 17, 2010, 03:39:37 AM »

Empirically, very few people who try to code games using a low-level approach and writing everything from first principles ever succeed.

My advice would be to work on a series of very short, non-commercial projects. Each should be a playable game, but completed as quickly as is practical. Put in as many hours as you can. If, after a particular project, you feel like the technology you're using is holding you back then switch to something a bit more powerful for the next one.

This will work much better than jumping in at the deep and and then becoming stuck and disillusioned.

Logged

MrGando
Level 0
***



View Profile WWW
« Reply #6 on: June 17, 2010, 03:43:12 AM »

I think it's a mixture between both of them.

I need to be able to code my own stuff... so I started my own 2D engine, but still It's important to see how other engines are solving problems, so you should see how Unity 3D works, Ogre 3D, or others.

So, I agree with bateleur, start making some games and move to something more powerful if you feel you need more power, on each game.

Also, I think it's more valuable if you really want to learn, to know the internals, and to do that, you have to code :-)
Logged

Lead Programmer
Gando Games
Twitter
nikki
Level 10
*****


View Profile
« Reply #7 on: June 17, 2010, 05:53:07 AM »

did anybody say learn ?

Programming Methodology
Programming Abstractions
Programming Paradigms

these links each point to +- 30 lectures, from JAVA, to C++, and beyond.
Since it's from stanford they've got handouts, examples, homework, and own compilers!
And most importantly; teachers that are pretty great!


cheers  Coffee

note: none of these links point to information regarding game-design, its all just computer science Wink
Logged
jay
Level 0
***


Spray it, don't say it


View Profile WWW
« Reply #8 on: June 17, 2010, 06:11:39 AM »

Empirically, very few people who try to code games using a low-level approach and writing everything from first principles ever succeed.

A million times this.

If you want to learn to code, go low-level. If you want to learn how to make your own games, go high. If you're working in 2d, for example, it's unlikely you'll ever need anything more powerful than something like GM, except for very unusual/demanding projects. Well, for PC anyway.

Those engines are more powerful than a lot of people give them credit for. People tend to think of the crappy never-finished spriterip games, and forget about the Spleunkys(GM) and Spirit Engines(MMF) of this world.
« Last Edit: June 17, 2010, 06:15:24 AM by cheeba » Logged

namre
Guest
« Reply #9 on: June 17, 2010, 06:27:27 AM »

Quote
My advice would be to work on a series of very short, non-commercial projects. Each should be a playable game, but completed as quickly as is practical. Put in as many hours as you can.
Yes, that's exactly what I'm planning on doing. This could make me finish more games and learn more concepts at a short time.

Quote
If you want to learn to code, go low-level. If you want to learn how to make your own games, go high.
Hmmm... makes perfect sense. Now I'm curious about what famous games are made using GM, MMF, and even Construct.

@nikki, thanks for the links! This would really help in my programming!

Logged
Skofo
Level 10
*****



View Profile
« Reply #10 on: June 17, 2010, 07:55:21 AM »

Quote
If you want to learn to code, go low-level. If you want to learn how to make your own games, go high.
Hmmm... makes perfect sense. Now I'm curious about what famous games are made using GM, MMF, and even Construct.

In the indie game scene? Very many.

Spelunky, Death Worm, the original Karoshi, Desktop Dungeons, most (if not all) of Cactus' games, Iji, Hydorah, Shut Up and Jam, and the Jumper series were made with Game Maker.

Nifflas' games (Knytt, Within a Deep Forest, etc.), Ikiki's games (Nikujin, Tekyuuman, etc.), the Noitu Love series, Bonesaw, I Wanna Be the Guy were made with MMF.

Construct? I got nothing, but it is worth noting that Construct is relatively young.


As for your original question: if you want to learn how to develop games, I'd go with a specialized game development tool first. Those tend to have many tutorials that are geared towards the game developer, which is not the case for conventional programming languages. Plus you'd be able to experiment and learn the game development process without worrying about low level stuff.

And remember: when you finish a painting, nobody will care what kind of brush you used (except maybe a few other painters and people whose eyes are not compatible).
« Last Edit: June 17, 2010, 08:13:44 AM by Skofo » Logged

If you wish to make a video game from scratch, you must first invent the universe.
Richard Kain
Level 10
*****



View Profile WWW
« Reply #11 on: June 17, 2010, 11:25:15 AM »

I'm going to recommend that you go the programming route. This is partially just because I love programming. But it is also because you seem very keen on learning. Relying on existing game creation software will only teach you about that software. Learning about coding will teach you all of the necessary basics of game design.

I think one of your best strategies is to grab a copy of one of the open-source game engines, and play around with that. This will teach you by example how successful game engines are structured and used. You can apply these principles to your own projects in the future. I've been using Flixel for this recently. It has taught me a lot about scene management. (a programming basic that most game "frameworks" don't bother teaching)
Logged
increpare
Guest
« Reply #12 on: June 17, 2010, 11:32:40 AM »

Learning about coding will teach you all of the necessary basics of game design.
A point these higher level tools make is that these things you call basics (things that can be learned via low-level coding) aren't necessary at all.
Logged
Skofo
Level 10
*****



View Profile
« Reply #13 on: June 17, 2010, 12:27:11 PM »

Learning about coding will teach you all of the necessary basics of game design.

This is not true at all.

A lot of people equate game coding with game design, for some reason...
Logged

If you wish to make a video game from scratch, you must first invent the universe.
nikki
Level 10
*****


View Profile
« Reply #14 on: June 17, 2010, 12:40:39 PM »

Warning - while you were typing a new reply has been posted. You may wish to review your post.

by the way:

when questions like these arise: "should i do a or b" my first reaction is usually why not both ?

So what makes you learn faster : programming from the ground up or with an existing gamemaking library ? -> DO BOTH  Panda
: find someone to teach you or through experience ? -> DO BOTH  Panda

I myself started in klik&play went to mmf and am now at blitzmax / flash/ python and the rest... (it took roughly 4 years)..

from existing rapid-development game making solutions (like gamemaker and mmf) you only learn the real basics (some container-types and conditional logic) they are however brilliant if you wanna make a game fast. If you want to learn how to organize big code they are not very good, because all that gets hidden for you...

the tip by richard kain is better imo, open source libraries show you .. the source, and when commented properly that could be very learny. usually a bit much though.
flixel and flashpunk are def. good to check out.

i'm very happy with blitzmax, but i'm not sure if that'll give you the most learning moments right now, could well be though.

anyway the videolinks i posted before would have been great for me 4 years ago!
Logged
namre
Guest
« Reply #15 on: June 17, 2010, 02:10:05 PM »

Quote
Spelunky, Death Worm, the original Karoshi, Desktop Dungeons, most (if not all) of Cactus' games, Iji, Hydorah, Shut Up and Jam, and the Jumper series were made with Game Maker.

Woah, and those are my favorite games! To tell you the truth, I initially thought that Game Maker isn't used by serious indie developers at all. It turns out I was wrong!

I guess it's true what they say that it doesn't matter what program you use to create a game. The end user doesn't care as long as it's good!

Quote
I think one of your best strategies is to grab a copy of one of the open-source game engines, and play around with that. This will teach you by example how successful game engines are structured and used. You can apply these principles to your own projects in the future.
I just tried out Construct and I learned a lot of things on how to structure a game. Before I just squeezed in code as long as it works, now I have a general idea on where to place the code!

Quote
when questions like these arise: "should i do a or b" my first reaction is usually why not both ?
Yeah, I guess you're right. Maybe I could use a game making library or program for rapid-development prototypes. And low level programming for more bigger and complex titles.

===================================================================

Thanks a lot to everyone's replies. I now have a good idea on what I want to do.

To start, I'll be trying out more of Construct and GameMaker and make use of them to create prototypes for my gameplay ideas. For every gameplay idea that turns out to be fun, I shall try and code it using the low-level programming route. I'm thinking XNA or maybe plain C++ with the aid of frameworks.

 Beer! It's nice to finally have a clear goal! Thanks again!
Logged
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW
« Reply #16 on: June 17, 2010, 05:32:49 PM »

I guess it's true what they say that it doesn't matter what program you use to create a game. The end user doesn't care as long as it's good!

They will care if your choice of development tool limits the platforms you can deploy on.  Most game making tools are strictly for Windows.

Something to consider.
Logged



What would John Carmack do?
namre
Guest
« Reply #17 on: June 18, 2010, 08:29:17 AM »

Quote
Quote
I guess it's true what they say that it doesn't matter what program you use to create a game. The end user doesn't care as long as it's good!

They will care if your choice of development tool limits the platforms you can deploy on.  Most game making tools are strictly for Windows.

Something to consider.

Ahh, yes. I guess you're right.

So what game engines are multiplatform?
Logged
Skofo
Level 10
*****



View Profile
« Reply #18 on: June 18, 2010, 09:28:57 AM »

There don't appear to be any "friendly" game editors that support the desktop OS trifecta.

However, Linux and OS X users are capable of running Game Maker and MMF games through Wine/CrossOver.
Logged

If you wish to make a video game from scratch, you must first invent the universe.
PGGB
Level 8
***



View Profile
« Reply #19 on: June 18, 2010, 09:53:33 AM »

I'd check out http://love2d.org/. It doesn't have a GUI but as I understand it, that isn't used a lot in Game Maker anyway. Big upside is that Löve is cross-platform.
Logged
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic