Monkey Tutorial Videos

Monkey Archive Forums/Monkey Tutorials/Monkey Tutorial Videos

invaderJim(Posted 2012) [#1]
Hey Monkeys!

I've decided to make something of myself and have started creating tutorial videos for people that want to learn or expand their knowledge of Monkey.

I've never made video tutorials before, so I might be a little shakey at times, but I'm slowly getting the hang of it.

I'm putting all of my videos in playlist form on my channel.

And my goal is to have all of the following series completed over the next couple of weeks:

Beginning Programming

01 - Intro to Monkey
02 - Functions and Variables
03 - More with Functions and Variables
04 - Operators and Type Casting
05 - If and Select Statements
06 - Loops
06.5 - Conditional Operators
07 - Arrays (1 of 2)
08 - Arrays (2 of 2)
09 - Strings Revisited
10 - Strings Revisited Revisited
11 - Introduction to Objects (1 of 2)
12 - Introduction to Objects (2 of 2)
13 - Multi-dimensional Arrays

Advanced Programming in Monkey

01 - Objects Extended (Inheritance)
02 - Interfaces
03 - Generic Classes
04 - Lists and Maps
05 - Stacks
06 - Modules and Aliases
07 - Keeping Your Publics Private
08 - Reflection - Globals and Functions
09 - Reflection - Classes
10 - Reflection Examples
11 - Bitwise Operators
12 - External Declarations
13 - Pre-processors
14 - Error Catching
15 - Short-cuts and Strict

Using Mojo

01 - Intro and App Setup
02 - Drawing Primitives
03 - Images
04 - Input
05 - Sounds and Music
06 - The Matrix

Simple Game Tutorial

01 - The Setup
02 - Basic 2D Player Physics
03 - The Camera
04 - Map Generation
05 - More Map Generation & Seed Value
06 - Tile Collision
07 - Scoring and Player Death
08 - Multiplayer!
09 - Player Graphics and Animation
10 - Tile Graphicals
11 - Bitmap Font
12 - Player Selection and End Screen
13 - Finish With Sounds and Music

I'll update this post with links as I upload the videos.

Please let me know if there's anything you think I should cover.

Thanks guys and gals!


therevills(Posted 2012) [#2]
Hey Jim,

Good job! I've only quickly viewed 01 - Intro to Monkey and 02 - Functions and Variables.

First thing I noticed was in 02 - Functions and Variables you talk about the return parameter for Main (:Int), but you don't really need this since you haven't put Strict at the top of the file... its just a small thing.

And maybe you could explain what an Interger and a Float really is, as a total beginner wouldnt have a clue.

Keep up the great work!

invaderJim(Posted 2012) [#3]
Yeah, I did that with Main because I was planning on introducing Strict later on and didn't want to throw anyone off too far with it. But then I decided not to do Strict, so it stuck that way :P

And, yeah, my explanations could definitely use some work. It's difficult, because I don't want to overwhelm people with details, just give them enough to start making games. But I definitely don't want to leave them hanging either! I just may end up redoing the first couple videos.

Thanks for the feedback :)

dave.h(Posted 2012) [#4]
these are tutorials are great and help me out with some of the basics ive missed out on while ive been teaching myself especially strings as ive kinda neglegted them so far.Looking forward to your next set as there are things in there like reflection that i dont understand yet. Thanks

invaderJim(Posted 2012) [#5]
Just to let y'all know, I've updated the original post with links for the first 5 Advanced videos.

More to come!

Jesse(Posted 2012) [#6]
jamming job Jim!

Why0Why(Posted 2012) [#7]
Great work Jim! My kids have been showing some interest in programming and this could be a good starting point.

invaderJim(Posted 2012) [#8]
Thanks for the kind words, fellas!

I have finished the Reflection videos and have updated the original post to "reflect" that. Wa ah ah ah

DeadFall(Posted 2012) [#9]
Really enjoying the tutorials so far!
Really useful, Keep up the good work!


invaderJim(Posted 2012) [#10]
Thanks DeadFall!

The "Advanced" series is now complete.

Moving on to Mojo :D

DeadFall(Posted 2012) [#11]
I actually have a question are you planning on doing anything with like diddy?

invaderJim(Posted 2012) [#12]
Yes! After the mojo series, I plan on going through making a simple game with mojo alone, then a couple after that using diddy :)

invaderJim(Posted 2012) [#13]
Just a little bump to let y'all know that the Using Mojo series in now up!

And stay tuned, because soon we are going to start making some games :D:D

Tri|Ga|De(Posted 2012) [#14]
Nice tutorials.

If you could make some tutorials with Mike Harts fantomEngine commands that would be really nice.

SweCoder(Posted 2012) [#15]
just wanted to let you know that I recommended this tutorial to a friend whom I'm (not having trouble) convincing that monkey is awesome. I've been going through some of the videos and you're doing an awesome job! Keep up the good work.

Neuro(Posted 2012) [#16]
Keep up the good work jim :)

CopperCircle(Posted 2012) [#17]
Wow, what a great series of tutorials, this should have a link in the Wiki

Tibit(Posted 2012) [#18]

Tough I consider myself to know most about Monkey at this point.

Still several of the Advanced Tutorials (especially Externals & Reflection) have given a lot, and I'm going to watch more. It helped a lot so I wanted to thank you for that and recommend these tutorials to others :)

The only thing that could be improved imo is more of the same in more external languages + libraries.

One thing I would really have a lot of use for, and that would make me "immortal" would be to truly master External code in Monkey's target languages.

Monkey Extended
- Wrapping in ObjectiveC, especially non obvious things - like an external library that uses the ViewController
- Same for external libraries in Flash
- Libraries, like Ads, in Android
- C++ libraries or adding commands. How to add & wrap a simple library
- Adding wrapping or adding XNA .Net Libraries in C#
- More on integrating with a html site, I remember trying to add buttons using jquery and make them do stuff in my game. However I might succeed now after the External Tutorial
- How to start to add a new Target Language

Then there would be little that, at least I, could not do with Monkey hehe

Sammy(Posted 2012) [#19]
Amazing tutorials!

+1 for a "C++ libraries or adding commands. How to add & wrap a simple library" tutorial.

Thank you Jim.

invaderJim(Posted 2012) [#20]
Thanks for the kind words, everyone!

I'm currently working on the first full game creation series. Should be up in the coming days..


I do have Facebook & Twitter integration planned, but I was going to just make the modules then provide them with tutorials on how to use them, but you got me thinking I could feature the creation of the modules as well :D

Same with Ads. I can definitely do that. Hopefully seeing these modules created will help with integrating libraries in the other languages you've asked about.

As for adding targets, I did consider that, but I'll probably be waiting to see if the process ever becomes more modular. Right now adding targets, and updating a Monkey installation that has custom targets, is a bit of a chore, and I don't want to force that on anyone with my tutorials :P


Tibit(Posted 2012) [#21]
I do have Facebook & Twitter integration planned, but I was going to just make the modules then provide them with tutorials on how to use them, but you got me thinking I could feature the creation of the modules as well :D

Awesome!, looking forward too it!

And I agree on the target thing, it will probably improve in the future anyway.

invaderJim(Posted 2012) [#22]
Alright, I'm battling school right now, but I've got my simple game series all scripted out. Now to just knock out the videos.

And speaking of videos... the first two are up!

invaderJim(Posted 2012) [#23]
Just a little bump to let y'all know that the "Simple Game Tutorial" series is finished.

I'm now taking a break from making videos to prepare for Ludum Dare! next weekend. After that, I'll start shooting the Facebook/Twitter Integration videos. Should be very fun :D

Bye now.


Jesse(Posted 2012) [#24]
this is great Jim. I am looking forward to the Facebook/tweeter integration stuff.

Atomixrhino(Posted 2012) [#25]
The greatest gift you could ever give a person is knowledge. Thanks!!!

FelipeA(Posted 2012) [#26]
Thanks a lot for this, I actually made a video tutorial in spanish for making a pong but yours is better, plus you got teaching voice. The simple game tutorial is very helpful!

CodeGit(Posted 2012) [#27]
These tutorials are absolutely fantastic, well done and thank you.

Armoured(Posted 2012) [#28]
Hi invaderJim,
Thanks for your work! :)

TheRedFox(Posted 2012) [#29]
Superb work. The passion shows through!

byo(Posted 2012) [#30]
Amazing videos in HD! Thank you

Why0Why(Posted 2012) [#31]
Even though I have been using Monkey for awhile I went through the first series last night(skipped some of the very basic stuff) and I picked up a couple of things. I am going to go ahead and work through the whole series.

Jim, thanks again for taking the time!

vmars316(Posted 2013) [#32]
Hi Jim ,
I am brand new to Monkey , and your Tutorials are great !
Someone above mentioned newTargets ,
I hope someone develops a Monkey Target for "C". Just plain ol' "C" .
What a great learning Tool that would be .
Function Main:Int()
            Local number:Int 
            While number < 1000
            number += 1
            Print("Thanks Jim ! " + number)	
            Print("...Vernon ")
        Return 0

leonhardt(Posted 2013) [#33]
Hi,could you give me a url for all those video download? My country has banned the Youtube so even I watch it through proxy it is still very terrible.

Paul - Taiphoz(Posted 2013) [#34]
leon ,

Raz(Posted 2013) [#35]
I had no idea these were here. Great effort, I look forwarding to watching them all :)

garyk1968(Posted 2013) [#36]
Hey Jim,

Getting alot out of these videos so thanks for sharing.

Have you considered turning them into a paid for tutorial? Its only fair you should get rewarded for your work. As you have alot of content down already you could use something like I published a course on there which I had to promote but generates a nice little income.

Here's my course:



APC(Posted 2013) [#37]
Jim, Awesome Job!

As I posted on your YouTube channel, it is one of the best tutorials out there, specially the Simple Game.
I was able to follow the tutorial and type all the code from the videos. I know I could download the entire ZIP file , but for me to learn faster I need to code.

After your tutorial I purchased the MonkeyPro.

I develop games using other languages and IDE, the last one I am using was GLBasic, very nice, but with Monkey I can get my code done faster.

How about a 3D Tutorial? I can help you doing some of the background work.

By the way, what is the program you use to record the videos?

Soap(Posted 2013) [#38]
He is using Unity these days and has made some cool 3d things. I don't know that he goes here anymore so you might want to ask him questions directly.

His twitter:

Midimaster(Posted 2013) [#39]
There is a first 3D tutorial here:

Loofadawg(Posted 2013) [#40]

Those are some great videos. They are really driving the points home that have always tended to go fuzzy on me.

Highly recommended.

I have been sitting here taking notes, following along by typing in code and I can't believe how much time has passed.

I took a year off from programming and been trying to get back in and your tutorials are wonderfully paced and logical.

It is like having your best mate sitting next to you explaining it all.

You need not worry about your voice or how badly you may think you come across because frankly it isn't off putting at all.

I have read Java and programming books and feel I gotten more out of one day then any of those. AND I have a better understanding.

Much appreciated. If you ever do anymore like say, How to boil water, I will watch. ;^)


Sphinx(Posted 2013) [#41]
Thank you very much Jim for these great video tutorials and for making it available for free (I visited to donate for you but your website still under construction!), keep up the great work man.

I second what Loofadawg said.

BabateeBiyi(Posted 2014) [#42]
My question is that-- It this tutorial for Monkey X software or for Monkey. I just dont get

therevills(Posted 2014) [#43]
My question is that-- It this tutorial for Monkey X software or for Monkey. I just dont get

MonkeyX is Monkey, BRL only changed the name (a few months ago).

kmac(Posted 2014) [#44]
Anyone have the zip for the simple game tutorial? It appears that the site is down.


Aaron(Posted 2015) [#45]
Is the site gone? ;c

Paul - Taiphoz(Posted 2015) [#46]
Edit :: I must have miss-read something , Invader's vids are still there.

Paul - Taiphoz(Posted 2015) [#47]
delete me.

Fryman(Posted 2015) [#48]
Great videos, like the reflection ones, I knew of reflection and what it does but I couldn't for the life of me think of what its useful for. Video explained it well

Richard Betson(Posted 2015) [#49]
This thread should be 'pinned' (marked as important). I often point interested potential Monkey developers here for information. Good stuff.