Game Programming Complexity

Started by
7 comments, last by gametopia 7 years, 3 months ago

Hello All,

I'm new on Game Programming. I have signed up forum -nearly 2 months ago so wait and searched for my condition's fitting any topic but could not find. If missed and duplicate any already existing topic is that I open now sorry for that because could not find that topic fitting all my problem. :/

Let me clarify what is my one

I'm not so much experienced programmer on gaming but just know Python well and some C# and JS knowledge. On game programming what I faced off that, could not code my needed functions, script etc. Until know used some Game Engines like Unity, Unreal, Duality, Löve and most last Godot. I'm sure now that gonna continue with Godot and not to change it.

However Godot script Gdscirpt looks like nearly Python <Pythonish> GdScript is so easy syntax, I can't use it's library - reference - class etc. Instance wanna do my character fly and fire together or make it visible on some points then invisible on some, please I just giving example not want to get solution on that specific condition :)
Please do not think that only according to me and my fault that cant use Godot's library problem. I always face off that problem with game engines. Before Godot faced off with Unity (C#), Löve(Lua) etc. and their libraries

More clarify my problem

So my general problem is that can not use any languages's related library, class to code my needs on game developing. Off course nearly impossible experiment on every built-in func. in any game engine's library to learn game programming. Hence I don't wanna ask my all process on game programming to other users when I develop any game.

please don't advice me game engines' -Godot- game developing video tutorials what are not theoretical to teach you general logic on game programming most of them show how to clone existing game or teach you how to clone video instructor's game -don't give me the fish but teach me to fish -

Should I learn game programming patterns via books, or what should learn to use scripting languages and it's library side by side well? Is so any advisable book out there which I would Amazon for it? Anyway how do I pass over that my general problem on game programming? (especially for Godot and though it's weak docs)

Thanks.

Advertisement

It's very hard to read. Really, it's veeeeery hard to read.

If I got you right, you want sources to learn programming logic. Unfortunately, this type of material kind of doesn't exist - the best they can do, is to give you problems to solve. The reason is that programming is all about experience, and ultimately understanding why some approaches fail (and not why they succeed, because there's always a drawback).

You can dig in about concepts like Object Oriented Programming, Design Patterns and so on, but without raw experience, they're more likely to put you into beliefs than in understanding.

A professional programmer takes about 10 years of practice before being "free". So relax, enjoy the journey, and code a lot.

This of course is all my subjective opinions, so feel free to disregard it if you will.

"I'm not so much experienced programmer on gaming but just know Python well and some C# and JS knowledge. "

Just because you know a programming language does not mean you know programming, that being said I do not know your how much experience in actual programming you have.

"please don't advice me game engines'

-Godot- game developing video tutorials

what are not theoretical to teach you general logic on game programming

most of them show how to clone existing game or teach you how to clone video instructor's game"

Why wouldn't you follow these tutorials? a lot of people would actually suggest you learn by making your own clone of chess,tic tac toe, snakes, tetris or similar games to build up the basic knowledge needed to continue on.

"-don't give me the fish but teach me to fish -"

why not have both?

Developing a clone is not easy, is it easier as you know what to copy, probably, but you learn ALOT of an engine by seeing the process. after seeing actually code, you can look up their functions and learn what they do and more importantly, why they did it.

It isn't only the code specifically you should look at, but the functions they use, when,how and why.

Very important things to learn when learning an engine.(and you will probably trip over and pick up some bad habits and look at your code even possible the next day and facepalm yourself for writing such code)

"Game Engines like Unity, Unreal, Duality, Löve and most last Godot. I'm sure now that gonna continue with Godot and not to change it."
This is what most people trying to learn game development do wrong, can't learn one engine, next!, can't learn that, next! and so on.

That cycle will continue until you learn to buckle down and try see the similarities instead of the differences of each engine. afterall many engines does things in very similar manners even if their languages differ.

Learn by looking at examples of scripts, tiny sample games, alter them, play with them,"taste" them, read the documentation of the functions/classes so that you have a better grasp of all their functions/methods.

I would suggest like Kirlim's suggestion reading about design patterns and programming paradigms.

Ok, language chosen, engine chosen. All seems fine.

So my general problem is that can not use any languages's related library, class to code my needs on game developing. Off course nearly impossible experiment on every built-in func. in any game engine's library to learn game programming.

I disagree here.

The first time you drive a car, or go on a bus ride, or so, everything is new. There are so much new things, you just get swamped by them. You realize there is a lot to learn. Picking up a new game engine is the same. These things are huge.

The solution to this is to take it slow, one step at a time. Don't try to learn everything at the same time. Start with the basic stuff, and use that as stepping stone for the not-so-basic stuff. Once you mastered that, use your knowledge for the next steps, etc, until eventually you know all there is to know.

It's a bit like eating food. One approach is to shuffle everything onto a single plate, from hot soup to ice dessert all together. It's eatable, it fills your stomach, it just doesn't taste very well. You don't know what you're eating exactly, and how it relates to the previous of next spoonful of food. It's one big collection of "stuff" without internal structure.

If you eat different things separately instead, it's much more manageable and enjoyable. There is a clear order between the various dishes too, giving much more structure to the meal.

Understanding the library looks like quite basic stuff to me, so I would spend time on learning all the functions. You need those functions at the next step, and being comfortable with them helps a lot. It makes that you can concentrate on just the next step, without being distracted by understanding what is happening exactly in the functions that it calls. Experimenting with each function is a good way to get to know all the functions, so that would be one way of learning.

please don't advice me game engines' -Godot- game developing video tutorials what are not theoretical to teach you general logic on game programming most of them show how to clone existing game or teach you how to clone video instructor's game -don't give me the fish but teach me to fish -

Yeah, but if you never heard of fish, teaching to fish has no meaning to you, as you don't know what it can do for you.

By doing a few tutorials, you go through the process of making a simple clone-ish game a few times. Usually the tutorials also explain what they are aiming to do there, so you get to see the steps involved in making a game with godot, and a glimpse of how that can be done.

It's like getting your feet wet. After a few times, you're accustomed to the coldness of the fresh water, and you can ignore it, and concentrate on other things.

There is a second thing you can do at the end of a tutorial, namely, experiment with it. Try to change something, or (more difficult) extend it with something new or something different (taking it slow, only small extensions until you're more confident). By doing experiments, you can test whether you truly understand things

Should I learn game programming patterns via books, or what should learn to use scripting languages and it's library side by side well?

Start with simple things, and build on them for the more complicated parts. Do scripting language, possibly with library before taking on game programming in general.

When doing game programming, use a simple well-known game (see eg http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976 for a list of possible games). While you won't win any award with these games, they are selected for being simple enough so you don't have to think what the game should do, and you can concentrate on the programming of it. A second advantage of programming a well-known game is that you don't have to do a lot of explaining if you ask a question somewhere.

Once you get used to making these simple games, you can move on to more difficult games.

Also, find the godot community. Likely there are forums dedicated to godot, and they will contain loads of useful material. They know about books and other reading material, they know about common problems and pitfalls, they can steer you in the right direction when you get stuck, etc.

Thanks for all you, to give your time for answering me.

I'm gonna note that all your advice to develop my game programming ability. And I'm still open for other users suggestions also :)

listen to Alberth

baby steps

learn to crawl, then stand, then walk, then run, then sprint.

and learn at first by doing. watching and following others. that way you get the basic theory behind what needs to be done, and the hands on how-to to do it.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Should I learn game programming patterns

best part comes when you stablish your own patterns.

Good guides for me were

http://www.planet-source-code.com/

and

http://www.programmersheaven.com/

1) There is no substitute for hard earned experience. This is what you need now more than anything else.

2) Start making extremely small games. The smaller and simpler, the better. Start with something like a text based "Guess my number". Then do a text based tic-tac-toe. Then do a small text based adventure game. The goal is to build and complete games to increase your skill level and experience as a programmer. If you get stuck on the simple games, your problems are simple. When you have made something like 10 super simple games, you can graduate to something more complicated such as "Pong". It's still a dead simple game, but it's now in real time and uses a game loop.

3) You should expect to spend about 5-10 years practicing and working at this. I've been working to improve my programming skills for 17 years, and I'm still not a master. The only thing that will carry you through the initial pain of learning a hard skill like programming is an unquenchable resilience to push forward.

thanks also you

This topic is closed to new replies.

Advertisement