AGD Video Tutorials


My Old AGD tutorials have been received very well despite not actually completing them. With AGD moving to version 3.0 and beyond, I thought it was time to update them and finally complete them.

I have decided it would be easier to make videos rather than type out all of the stuff in my head. This way you can see how things work, pause the video and work along at your own pace.

I have completed nearly 3 hours of video so far, taking you from loading up AGD to a complete, multi-screen platform game. I have plans to extend the series and extra ones to cover the more in-depth features.

Video Tutorials
Basic Tutorials 1 to 10 - below
Advanced Tutorial

Part 1: The emulator, setting up the game screen, the control keys and the character set editor.


Part 2: Blocks, walls, platforms and building a playing screen.

Part 3: Player Sprite creation, placement, animation and movement

Part 4: Enemy sprite creation, placement animation and movement.

Part 5: Deadly blocks. Text Messages. Lives and Score.

Part 6: Object creation, placement and collection.

Part 7: Sounds. Beeper and AY.

Part 8: Multi screens and map.

Part 9: Killing and completing the game.

Part 10: Final debug, collision distance and creating a basic Loader.


38 comments:

Alexandre said...

Thanks! Now I´ll be able to make my own Spectrum games!

Paul (Random Kak) said...

The best way to save your progress is to use the emulators SAVE AS function and save out normal .SNA or .SXZ files. (this will save a snapshot of everything - use FILE - SAVE AS). Do not use the tape option until you have a complete game ready to be released. Hope that helps.

Anton Dohrn Cafè 2 said...

ps i really admire your style!

Anton Dohrn Cafè 2 said...

OK i got that thanks so much

I was wondering: how do you make a patroling enemy to change sprite according to the direction it goes (like the snakes in antiquity jones which point to left or right according to the direction they move). Also how do you make your sprite to shoot? can you make an enemy to behave like the falling barrels in donkey kong? and finally (i hope) I am saving many times in AGD...is it possible to erase my previous saved files to free some memory?

thanks so much Gab

Anton Dohrn Cafè 2 said...
This comment has been removed by the author.
Paul (Random Kak) said...

To remove sprites just detect if their X and Y positions are bottom left and then use the REMOVE command.
If you load an empty AGD instance, you can load in any of my games and view the code to see how things work.

Anton Dohrn Cafè 2 said...

yes i was trying to do that...but i do not the value of the x and y at the bottom left or right of teh screen...as for teh rest i will have a look at your work thanks so much

Anton Dohrn Cafè 2 said...

ok i got that too!

Anton Dohrn Cafè 2 said...

hey there I just wnated to thank you for these tutorial and the tips...here is alittle somthing i started ...hope you like it ;D
http://www.youtube.com/watch?v=HhK1laSY_RI&feature=youtu.be

Paul (Random Kak) said...

Wow - that's looking really good. Keep up the good work, I'm sure people will love your game.

Anton Dohrn Cafè 2 said...

thanks! i couldn't have done it witohout your tutorials!..I will try to finish it at some point but I am afraid I will have to bother you with questions some more...hope you don't mind too much;D

Anton Dohrn Cafè 2 said...

hey there !
i got one question (teh last one I promise):

o added a magic feather that makes mario fly... i did this by changing the type of my sprite to a "cybernoid control" (when the feather is collected) . it works ok if i remain in my screen but if i go one screen back my sprite disappearS (to change screen i put the same values for screenright, screenleft screenup and screendown that i used for the type 0 control...but it doesn't work...any hints?
if you want to check my progress here is the link

http://www.youtube.com/watch?v=3afHt3ScOFk&feature=youtu.be

Paul (Random Kak) said...

Hi,
You probably need to ensure a sprite of the same type is set for the screens you want to use it on. In other words, add the sprite (type) to each screen you expect to use it on.
You may need to hide it in code if the feather has not been collected.

Anton Dohrn Cafè 2 said...

AHHH!!! I see ! i will try that thanks so much! (i am not sure what you mean by "to hide it in code" but i wll try to figure it out)

Anton Dohrn Cafè 2 said...

well that's it here is the finished game (i still don't know how to put a loading and a starting screen with music though...).
something went wrong and the code got corrupted so the second hammer is not counted ....even worse i cannot access the control player code (code 0) so i cannot correct this problem (everytime i got a hammer a variable was increased by 10 which is the number of hammer i got)..is there anything I can do about it?

anyway I hope you like it (i can send you the file if you like...thanks so much again
G
http://www.youtube.com/watch?v=yiL079tzpiE

Paul (Random Kak) said...

Great game. As for player(0) code - this sometimes happens and is the reason why I save .szx (or snapshot) files about every five minutes. I end up with about 100 different saves, but I can at least go back if something goes wrong. There is no way to fix this - so unless you have a previous save - there is nothing you can do.
You certainly have good graphics skills, so keep up the good work and always save many versions.

Anton Dohrn Cafè 2 said...

Hey i sorted it out! i changed the second hammer from being an object into a sprite (i used the same that i trhow) and i managed its operation form code 3 (a code i used for static items) and it works fine (ok i know i ma not being clear but i am so happy about having this to work since i never programmed in my life)!

So the last question is: how do you put teh loading screen and the starting screen (the one with the instructions )?

Paul (Random Kak) said...

Great news.
Can you use the contact form (top of page) as the instructions are quite long - or check out tutorial ten - that has basic details.

Anton Dohrn Cafè 2 said...

Paul,
to complete the game I tried to have a "victory screen" instead of a "victory message"

so i set a counter to count how many time kong is hit with a hammer, when the cound goes to a certain number teh game ends (this part works fine and if i use the victory message that is displayed correctly)

to make the victory screen appear, in the "completed game" code i wrote

"screen 9 (that is the number corresponding to my victory screen)
delay 250 "


(i made sure in screen 9 there was a type 0 sprite)
but i did not work: after completion , the game goes back to the initial AGD menu screen...
what is the correct way to write this part?

Anton Dohrn Cafè 2 said...

Hi there
I just wnated to share another little game i made with AGD
https://www.youtube.com/watch?v=Ewfb_U8JisE

hope you like it (well I discovered several things along the way)
Gab

cardew said...

hello . i'm looking at starting a game and i'm finding your tutorials invaluable . could you tell me how you resolved the lives not displaying correctly that appeared in tutorial 5 .ta very much

Paul (Random Kak) said...

Hi Cardew, glad you find them useful. The fix is to add the three lines (let line=.. let column= and display lives) to the Restart Screen section in the events editor.

Miquel Ángel Anguís said...

Hello,

AGD is really amazing, unfortunately I don't know how to put a basic loader to draw my own loading screen or edit the default loader, please somebody can write a little tutorial?
AGD video tutorial 10 does not help very much. Sorry for my poor English.

Luca Bordoni said...

Hi, I encouter a problem in saving new character sets. I'm using a regular Spectaculator emulator, and when i save my AGD game (as a new block in the same TAP file), it seems it's all ok. It can be reloaded, and edited. The problem (a bug?) comes when i close AGD and start a new session - sprites and settings are loaded correctly, but i've lost the whole new character set!!
How some programmers have bypassed that? And finally, how is it possible to load a new character set - from what starting POKE number ?

fred nunn said...
This comment has been removed by the author.
Dexter jazz said...
This comment has been removed by a blog administrator.
Stephen Nichol said...

Hi Paul,
I've watched all your AGD tutorials, and I'm just wondering which version of AGD you have had the most success with in terms of stability, as I've tried a couple of versions since June this year (2014) and encountered glitches that got in the way of finishing what I was doing so had to give up.

P.S. I just started watching The Spectrum Show from episode one and I'm really enjoying it, especially the flashbacks to news from 1983 and hardware information.
P.P.S I also used to own an Amiga - awesome machine!

I

Paul (Random Kak) said...

Hi Stephen. AGD 4.3 works best for me, although I have yet to give 4.6 a good run. I too have messed up with 4.4 / 4.5 :-/

Stephen Nichol said...

Great, thanks. I'll have a go with that version instead, maybe I'll have some success now. The Spectrum always was a bit quirky :)

David Pagett said...

Great videos Paul, I have almost finished my first simple platform game after following your tutorials. Creating a Spectrum game is an ambition finally fulfilled! Thank you.
P.S. Any idea how to set up a high score? (needs to be retained in an 8 bit variable I assume and potentially my players could score over 10,000 - So divide SHOWSCORE by 100 and save in a variable?)

Sendy said...

I just want to say thanks so much for this AGD tutorial. It's really given me a fast track to getting work done instead of futzing around learning the basics. I'd say you've saved me a week of time with these few videos. Thanks!

Toni Hernandez said...

Please,I'd like a video-tutorial of Tommy Gun.

captaincheesemonger said...

Dont know if my previous comment appeared, so here goes again.

Can you make it so if an object is collected, a door opens in another screen of the game? I've been struggling with the code for that.

Paul (Random Kak) said...

Captaincheesemonger: Contact me via the link at the top of the page if you want full details. There are several ways to do it - use a variable or easiest - check if you have collected the object in the screen initialisation section. Use the command GOT to see if you have the object and then add or remove the door. To do this depends on how you draw the door, either sprite or blocks.

captaincheesemonger said...

Thanks a lot. Ive got it working. I'm making a JSW/MM game called Grantanamo Bay, you are an old woman forced into an old peoples home by her sole living relative to try to get her inheritance, and she has to escape to prove she is corpus mentice to live her life normally. Sounds weird but it might work..

Fully Help said...

Excellent blog!. I was looking for html tutorials and I landed your website through google search. I found your blog very interesting.

FGE said...

can you please explain how a save the texts ? when i edit a text i cant save it with CTRL+A.

Sendy said...

Just a heads up... Beware of deleting text messages. Whenever I do it, it corrupts the object sprites and a bunch of other stuff! Also, save after every edit, with a different file name. Creativity!!

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Dcreators