Looking for good tutorials of basic programming

Started by iamlowlikeyou, Sat 15/01/2011 13:22:23

Previous topic - Next topic

iamlowlikeyou

Hi all,

Like the headline says, I'm looking for good tutorials or books on basic programming, of course mainly AGS relevant stuff.
I'm quite new to both AGS and programming in general - I did complete a very small practice game, so I'm not totally ignorant, but still I feel that I lack quite a lot of basic progamming knowledge to really get anywhere with AGS.

I have searched a lot for in-depth AGS tutorials, but I think there is a huge gap between the beginner's tutorials and those that imply a broad knowledge of basic programming.
I hope some of you have suggestions of how to fill that gap?

Basically what I'm looking for is a source that starts totally from scratch, but doesn't stop when I got my character to pick up an item, if you know what I mean :)


Wyz

Quote from: iamlowlikeyou on Sat 15/01/2011 13:22:23
I have searched a lot for in-depth AGS tutorials, but I think there is a huge gap between the beginner's tutorials and those that imply a broad knowledge of basic programming.
I hope some of you have suggestions of how to fill that gap?

That is infact true, and as far as I know there isn't really a beginners course for AGS programming. There are video tutorials by densming but they will focus on how to use AGS in general, although that involves programming to some extent.

I'd like to make one, but then I'm going to need your help. I don't know where to start ;D
Life is like an adventure without the pixel hunts.

Ali

I agree that more tutorials would be great, however once you have a character who can talk to people and pick up objects, that's a big step towards making a standard adventure game! Maybe you could identify the areas which need to be covered?

I guess the interactions editor used to make things a bit easier for this sort of thing, but I've always found the technical forums to be very helpful whenever I'm stuck or don't know how to achieve a particular effect.


iamlowlikeyou

Thanks, I'll take a look at those videos - although at first glimpse it looks like they don't have much programming.
I know pretty much the basics of the non-code use of AGS, but when I get to scripting, most I can do is copy-paste scripts provided by others :)
Usually I have an idea of how they work, but I never get the overview I'd need to actually make my own scripts, becuase I lack the basic knowledge.

Quote from: Wyz on Sat 15/01/2011 13:39:36
I'd like to make one, but then I'm going to need your help. I don't know where to start ;D

Well, just to take an example I'm not even sure what "void" means in programming (which is one of the "words" I often encounter, and thus figure is a very basic element in programming).
So... I guess what I really need is a "programming for dummies" kind of thing, but I'm not sure which programming language would be the best to study in relation to AGS? Besides I'm not really going to use it for anything else than do scripting in AGS (not at this point at least), so there's no need to use hours upon hours to learn programming that has no relevance for using AGS :)

Ali

It might interest you to know that I made a medium length AGS adventure (below), without having any idea what "void" means!

I think a guide to these terms would be great, but it is possible to make a game with a pretty basic level of knowledge, like mine.

Calin Leafshade

We should have AGS Masterclasses.

Each of the more experienced coders writes a practical example for something in AGS Script. Maybe just like a series of short articles explaining how to do things. The topic of the articles would be fairly irrelevant since they would be more about how to approach a problem from a programmatic perspective and how to use the script commands in AGS to achieve more abstract goals.

A classic example is something like a particle system. They are relatively easy to code and not used that often but they teach the basics of structs, iterative loops, drawing functions, etc.

Or maybe someone could whip up a very basic RPG in AGS and document it. It wouldn't take that long for something elementary but it would teach how to integrate basic AGS functionality with user-coded functionality (and people request it every damn week it seems)

They would also be a good chance to teach new coders about some basic coding conventions (indentation and stuff)

Sound good?

(Void means that a function doesnt return any value (or rather it returns void.. which is nothing... wait that *is* confusing)

Dualnames

That'd be awesome! I'm sure McCrea and Monkey_05_06 are in! If you have a fairly nice idea Calin, we can re-instate the most awesome competition ever. Coding competition!  :D
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

iamlowlikeyou

#8
That WOULD be great!

But does any of you have a suggestion for which programming language would make the most sense to learn regarding AGS?


Quote from: Calin Elephantsittingonface on Sat 15/01/2011 14:13:04
(Void means that a function doesnt return any value (or rather it returns void.. which is nothing... wait that *is* confusing)
And we could go on - what does it even mean to "return a value"? :D
It just seems so stupid to me that I have to waste people's time in the technical forums with questions that would be much better answered from reading a book or tutorial that could teach me everything in the right order, and teach me the greater context. The other way I'd have to ask about 100 questions a day...

Igor Hardy

#9
It's not exactly what you are looking for, but it's what I feel it's the most educational method...

Play the Demo Quest included with the Adventure Game Studio, then make a copy of its files and open them in the editor. In the editor explore how different elements of this showcase game have been realized and finally start experimenting with different parts of the script (at first just modify numeral parameters) to see how it affects parts of the game. It's the best way to start to understand and learn code functionality I think.

Buckethead

Calin's idea is really nice if you ask me. Someone once did this with Unity3d and javascript which was very effective.

It would be nice if someone made some tutorials on small script snippets. And maybe in the end their could be like some test in the form of a small game where the "student" could test everything he or she has learned so far.

Wyz

Well that's a cool idea but that still leaves the basic skills like: Variables, functions, conditionals, iteration, structs, loops, types and on. But maybe that'll just come along. I'll be in for it though.
Life is like an adventure without the pixel hunts.

Calin Leafshade

Quote from: Wyz on Sat 15/01/2011 15:53:52
Well that's a cool idea but that still leaves the basic skills

I think that probably deserves a kind of 'primer' book all on its own. AGS 101.

*Pulls up the DocBook schema and his favorite XML editor*

Chicky

Awesome, it would be great to learn to use the editor after eight years on the forums. Might check out those video tutorials...

RickJ

You may want to take a look at the DemoQuest GiP thread here. 

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=34048.0

The source code hasn't been updated for a while but there are a number f documents that may be of interest to you.   You may find this one in particular helpful.

http://demo.agspace.ws/project/documents/ProgrammingConventions-V0101.txt

I would also recommend that you pick up a book on the C programming language which is what the AGS script language is patterned after.  A basic beginners book would do just fine.


iamlowlikeyou

Thank you!
I will take a look at those threads, and definitely get a book on C.
I wasn't sure what AGS was built in, so I didn't know what to look for :)

RickJ

Here is an online book that may be of help.

http://en.wikibooks.org/wiki/C_Programming/Compiling

You could actually do many of the demos in AGS.  Since the standard C library in not available in AGS functions such as printf() would need to be replaced with an AGS alternative such as Display().

Wyz

Some more differences to keep in mind:
  • If you see something like: for (int i = 0; i < 100; ++i) ... use this instead:
    Code: ags
    
    int i = 0;
    while (i < 100)
    {
        ...
        i++;
    }
    


  • Don't worry about pointers too much, AGS only uses them for strings and in-game objects

  • Those lines with #include you can skip

  • AGS does not have a switch statement you can use conditionals instead

  • AGS only has the `while' loop, but that is actually all you need mostly

  • Like Ricky said: all functions that does not exists within AGS need to be replaced with an equivalent if possible, I presume you can just post them if you an't find such thing in the manual.

    That should be enough for now ;)
Life is like an adventure without the pixel hunts.

Calin Leafshade

I think you are all assuming too much basic knowledge and programming aptitude.

For someone who just wants to make AGS games a book on C is *not* helpful. It's daunting and over the top for a beginner.

AGS script is not C and it seems silly to learn about C when really its AGS Script you're interested in. Going the *other way* makes sense since AGS script is much simpler but going from quite an advanced language to AGS Script is counter productive in the short term.

Wersus

#19
There's actually a tutorial on doing a particle engine in AGS, but unfortunately it seems a bit outdated. Pretty much the whole part about drawing on the screen is obsolete, but a lot of the basic structure should be fine.
http://www.barnettcollege.com/dkhtut.htm

But on general programming I can recommend the Stanford programming courses that can be found on youtube. There's three courses, each around 20h of video, and they start from the very basics (in java) and get quite far to memory management in C, some assembly etc. If you are still learning basic things like functions and loops, it doesn't really matter which of the major programming language you use to learn those, as they are pretty much the same in all of them.

So try this (Programming Methodology, 27 videos): http://www.youtube.com/watch?v=KkMDCCdjyW8
It's the basics of java, but it doesn't really go much outside the very basics of programming in general, so by watching this you won't learn much you couldn't use in any other language. Also if you just pick up a 1000 page book on C and start reading without any prior knowledge of programming, you will most likely be very confused. I did this with C++ when I was like 10 and I had no idea what was going on  ::)

The other two courses are...
Programming Abstractions: http://www.youtube.com/watch?v=kMzH3tfP6f8
Programming Paradigms: http://www.youtube.com/watch?v=Ps8jOj7diA0

SMF spam blocked by CleanTalk