Improve Programming

Miscellaneous Forums/General Discussion/Improve Programming

I'm pathetic at blitz-plus and need some idea's to improve, practice... I know, already read Game Programming for Teens;
any other decent literature?

The best way to learn is to start doing something.

Retro remakes are a good learning exercise, or maybe a remake of something you've done before in another language.

I know, already read Game Programming for Teens;
any other decent literature?
Who in their right mind suggested that to you as decent literature? You must burn that book in an act of revocation if you ever hope to remove all of the evil spirits of misinformation that now inhabit your mind.

(double post, might as well make it useful)

Blitz+ code to study
http://www.eiksoft.com/eik/articles/framework.txt
http://www.blitzbasic.com/Community/posts.php?topic=48890

Out of interest, why did you buy BlitzPlus? What sort of thing do you want to program? What sort of path do you want to tread?

Who in their right mind suggested that to you as decent literature?

It always seemed like a decent book to me. In fact, without it, I probably wouldn't be programming. Just out of curiosity, why does everyone seem to hate the book?

It always seemed like a decent book to me. In fact, without it, I probably wouldn't be programming. Just out of curiosity, why does everyone seem to hate the book?
I think the first clue that he wasn't the best person to take programming advice from was when he appeared on TechTV and had Pong bug out on him on national television. If the guy can't even write a bug-free Pong, I certainly wouldn't buy his books.

He used to have the first two chapters of the book available in PDF format, which made for some really entertaining reading, but I see he has removed them from his site - a wise decision for potential customers who prefer books above the reading level of a rhesus monkey.

Puki,
I just want to program basically just games, although I want
to try to make a simple animation program; without sucess
some people in the Blitz Plus forums can't seem to understand that all I need is a few decent examples...
I've already tryed the GUI manual's with limited progress because I can't seem to get a window with buttons and menu's, that's just about it.

I like his book.
It's how I got here too :)

@Eikon
That was kind of funny (because it was a pong game) but haven't you ever introduced something and had some thing go wrong?

I've already tryed the GUI manual's with limited progress because I can't seem to get a window with buttons and menu's, that's just about it.
The framework I linked to in my second post shows you how to do exactly that.

That was kind of funny (because it was a pong game) but haven't you ever introduced something and had some thing go wrong?
Of course I have, but I'm not the one trying to give programming advice to potentially millions of people, without having acquired the necessary experience myself.

I thought I was the only freakin person in the country who
bought that book, turns out I was wrong! P.S thanks for the
help, Eikon

I wonder how many of us are here because of that book.

Also, GfK when you say Retro Games you mean like Space Invaders, Dig Dug, games like that?

I just want to program basically just games

Mind you, unless you'll settle for Space Invaders or something, games aren't going to be easy. Depending on the game type you'll need all kinds of knowledge. Blitz is not a CreateGame() language, it's just like any other programming language, except that Blitz doesn't try to be 1337 for 1337-ppl with binary h4xx0r-skillz, it rather stays like ordinary Math+English.
Even an ordinary platformgame isn't just something to do during lunch, let alone an RPG or whatever.. :P

http://www.youtube.com/watch?v=Vul6hUl0MWw

I wouln't bother with a book to start with. Pick a classic game like Tetris, Pong, Space Invaders, Breakout and write your own clone. Do everything, high score tables, redefinable controls etc. When you FINISH that you'll be a pretty decent coder.

When you get stuck, desribe the problem to yourself outloud (or to your dog or something). You'll be amazed how many problems you solve just by putting them into words. Failing that ask questions on here. This is a really helpful forum and pretty much any problem will receive a few constructive answers.

Well, here's my advice. Start spamming the forums with questions. When I first started programming I wanted to make platform games so i started spamming the forums with 1000 questions. People got annoyed, some even made fun of me but others (rare Gems) would give me the information I needed to learn.

There is a Guy called nebula who got me on the right track to programming platty's. Also, AngelDaniel and a few other people who put up with my constant noob questions on designing tilemaps and tilemap makers.

I now have all the necessary knowledge to program a small platty game.

So, start by trying to make the game you want. If you get stuck, ask on the forums. Search the forums also because your question may have been asked before so you may not even need to wait for a reply to get the answer you want as a quick search on the forum will reveal the goods.

Anyway, back to coding. :)

>Of course I have, but I'm not the one trying to give
>programming advice to potentially millions of people,
>without having acquired the necessary experience myself.

Your name must be nobody...


Andy

Also, "How to Program 2D Games in Blitz Basic" (I think that's the title) by Krylar is a decent read.

I also owe my existence here to Maneesh Sethi, but that's not to say I was particularly impressed with his book. He confused me when it came to animation, and he started my bad habit of always (almost) calling a type by its original name, like so:

superDuperHeroMan.superDuperHeroMan = new SuperDuperHeroMan

superDuperHeroMan\cape = "red"


Rather than:

man.superDuperHeroMan = new superDuperHeroMan

man\cape = "hot pink"


Anyway, just my two cents.

Not to reitterate what Gfk and JP said, but do that. Nobody ever became a better programmer by reading books. Reading books are useful for theory (ie no need to reinvent the wheel), but nothing will make you an acomplished programmer quicker than programming something. Start off with Pong, Space Invaders, Pacman, ASteroids, Match-3 and then move on to more complex stuff.

Krylar's book isn't a good book for beginners... I got amazingly frustrated at it because he does what all people trying to teach programming do- get carried away and forget you're a beginner. Now I've left ultimate newb status (still a newb though!) it's not really bad... but it's not that a book I think you can learn a lot from, unless you like copying someone elses code.

Even though it's not a beginner book, I went out and bought Code Complete. When I had questions about how to set things out, I found the advice in there amazingly helpful. Of course a lot of it was like reading a document from another planet... but it helped, and it still helps :)

The best thing that has helped me (speaking from a programming newb perspective) was to study Flash programming at college. For some reason I just found it easier to learn than Blitz, and now I've come back to Blitz from it, all of a sudden things in B3D seem really simple!

Go figure I guess. It's a different journey for everyone :) But, I second the comment that reading a bunch of books won't help you much... the best way I've found to learn is to do something and learn along the way. Failure is a superb teacher, and because of that I've been learning a lot.

Ok I'll guess I'll try to make a Space Invader's clone, I love that game so'ill just perfect it and add my own flare.
Thanks,
Siopses

Here's a challenge: Make it as good as the original. I've yet to see a clone as good as the coin-op.

Tip: Only one invader moves at a time (per frame).

Ok, I'll try my best... and I suppose you'll want the duh-duh
noises as well eh? :) Also, could I make this game without
any animation? I don't have an animation program? :(
Could I make an array for two frames? one for the first image
of an invader and one for a second?, so every so often the invader moves... it changes frames. Would that work?

You can make all animations in one strip in paint. Just make sure you make each frame the same length across (such as 32 pixels) and then you just load it into b+ using the loadanimimage command.

you could use an array but it is much simpler to make it on one strip like clown hunter said

just remember when you use drawimage do it like this

[CODE]drawimage(alien\image,alien\X,alien\Y,alien\frame)[/CODE]

So just one long strip with multiple images inside it, like people make when displaying an animation.
Correct?
But wait, wouldn't that just come up as one big image... or
would it recognize each frame of the one image as
a seperate one?
If I wanted to use an array how would I?

with LoadAnimImage, blitz understands that it's made up from frames and one of the parameters of that command is the size of the image so it understands all the frames then when you use DrawImage, the last parameter in that is for the frame of the image.

Oh so Blitz divides the one image into frames.
Correct?