ProCodeCG Talkshow on KLCBS 17 Dec 2015


Today we had a talkshow at KLCBS about the upcoming ProCodeCG Half-day Kids Coding Camp πŸ™‚

The registration is still open, you may send your kids to more than one topics (Games Development, Cryptography, Virus-Antivirus).

Games Development topic will introduce kids to programming using games. They will learn different tools and languages to create games. And at the end they will be able to create their own games.

Cryptography topic will give awareness about security of data to kids. They will learn how to protect their data with encryption. Later their problem solving skills will be improved by learning how to decrypt their encrypted data.

Virus-Antivirus topic will provide the kids with knowledge about malware threats. They will learn about different kind of virus, the level of dangers and how to prevent the threat. They will learn to create simple and less harmful virus to see how it works. They will also be taught on how to create antivirus to the virus they created.

Each topic will be in 3 days, from 9am to 2pm. Kids will learn from beginner to advanced level on each topic.

Don’t worry if your kids are beginners because we will start from the beginning for each topic!

Age doesn’t matter too, we have several Captains on different ages to make sure your kids keep up with the class.

Each kid is expected to bring a laptop and a table. We will provide internet connection, snack, lunch, souvenirs and certificate. And course materials πŸ™‚

IMG_1959 IMG_1960 ProCodeCG - Poster Coding Camp Dec 2015 ProCodeCG - Teaser Coding Camp Dec 2015


ProCodeCG Kids Programming Class 12 Sept 2015 – Modding in Minecraft


Today we slow down a bit πŸ™‚ after spending several weeks making calculator, learning some GUI with Python tkinter, create encryption, decryption and take a look at some virus coding, yesterday we did some Minecraft modding again! πŸ™‚


Some of the kids have never played Minecraft before so the captains gave them some jump start on how to play it πŸ™‚

FullSizeRender 2

The other ones who are already expert shared tips and show some tricks to the class. Like how to create interesting mechanical tricks with redstone πŸ˜‰

FullSizeRender 3

Some of the shows some demos of command blocks too, which is really cool because with it we are now have a car in Minecraft πŸ˜€

FullSizeRender 4

Next week we will be back on track again. We will continues the lesson on Python, and we will probably learn to create some good viruses πŸ˜‰

ProCodeCG Kids Half-Day Coding Camp for Advanced Day 2


Day 2 of Advanced Level Coding Camp!

IMG_3302 1

We continue the previous lesson! We learn about how to create build shapes, structures, and skyscrapers using loops πŸ˜‰

This Ardi trying to make his code work πŸ™‚

IMG_3303 1

This is Nara and Rafli

IMG_3304 1

Zaki, Fadhlan and Dhani

IMG_3305 1

Malik, Binar, Rheino and Hikari. All are very interested in making mods in Minecraft! πŸ˜‰

IMG_3306 1

See how Rafli enthusiastically sit on the floor getting close to the display to make sure he typed in the right code πŸ˜€

IMG_3307 1

IMG_3308 1

We are building skyscrapers! πŸ™‚IMG_3309 1

Like this

Bildschirmfoto 2015-07-10 um 12.56.27 nachm.

And after that the kids are asked to create roof, not manually but using codes, by modifying their .js file


To get something like this

Bildschirmfoto 2015-07-10 um 1.03.24 nachm.

Time flies! We started the class one hour earlier but kids just won’t stop until their parents force them to go LOL


Tomorrow we will log into one server and play together in there, competing to create the most awesome building using codes! πŸ˜‰

[This coding camp is supported by BCCF, withΒ KLCBSΒ and Salman Media as Media Partners]

ProCodeCG Kids Half-Day Coding Camp for Advanced Day 1


First day of Coding Camp for Advanced!

Today we learn how to install CanaryMod, how set up the server, how to install ScriptCraft, how to install the latest version of Java and of course, how to install Minecraft too πŸ˜‰

IMG_3272 1

Some of the kids, of course, have already have Minecraft on their laptop. Minecraft is a very popular game and very good for stimulating creativity, logic, sense about spatial and strategy.


We typed in some JavaScript commands on Minecraft’s command line and see how they works.IMG_3274 1

Kids say that this is much easier than the lessons they got on the intermediate level πŸ˜€ but the truth is, they find it easier because they are doing it while playing πŸ™‚

IMG_3275 1

Yay, Capt. BR explaining about functions (something they have learned on the previous level)

IMG_3277 1

Kids understand better and faster if they feel like playing πŸ™‚IMG_3278 1

It’s been hours and they keep saying “wow, time flies, i wish we could have more time!” πŸ˜€


Well don’t worry kids, we’ll still have plenty of time tomorrow! We will learn about looping, making decisions, event-driven programming, keeping score and many more! πŸ˜‰

[This coding camp is supported by BCCF, withΒ KLCBSΒ and Salman Media as Media Partners]

Minecraft Programming – Listening to Events


Today we learned how to listen to several of events in Minecraft. Scriptcraft has library of events, so we can create listeners to responds to them.

Last week kids were going crazy inside Minecraft, they killed each other or destroy others’ buildings. Here is a code to count how many times a player breaking blocks:

var breaks = {};

  every time a player joins the game reset their block-break-count to 0
function initializeBreakCount( event ){
 breaks[] = 0;     
events.connection( initializeBreakCount );

  every time a player breaks a block increase their block-break-count
function incrementBreakCount( event ){
  breaks[] += 1; // add 1
  var breakCount = breaks[];
  echo( event.player, 'You broke ' + breakCount + ' blocks');
events.blockDestroy( incrementBreakCount );

And this one is a code to count how many times a player placing blocks:

var place = {};

  every time a player joins the game reset their block-place-count to 0
function initializePlaceCount( event ){
  place[] = 0;     
events.connection( initializePlaceCount );

  every time a player places a block increase their block-place-count
function incrementPlaceCount( event ){
  place[] += 1; // add 1
  var placeCount = place[];
  echo( event.player, 'You place ' + placeCount + ' blocks');
events.blockPlace( incrementPlaceCount );

These are how the players get messages about their breaking and placing activities

Tangkapan layar 2015-04-25 19.53.45
Tangkapan layar 2015-04-25 19.54.04

var count = {};

The code below combine two codes before so that for each breaking a player will gets the score decrease and got an increase for each placing:

  every time a player joins the game reset their block-place-count to 0
function initializeCount( event ){
  count[] = 0;     
events.connection( initializeCount );

  every time a player places a block increase their block-place-count
function incrementCount( event ){
  count[] += 1; // add 1
  var theCount = count[];
  echo( event.player, 'Your score ' + theCount + ', you have just place a block');
events.blockPlace( incrementCount );

  every time a player breaks a block increase their block-break-count
function decrementCount( event ){
  count[] -= 1; // minus 1
  var theCount = count[];
  echo( event.player, 'Your score ' + theCount + ', you have just break a block');

events.blockDestroy( decrementCount );

Tangkapan layar 2015-04-25 19.48.02
Tangkapan layar 2015-04-25 19.48.37

It worked to encourage the kids to build more buildings, but for destroying they were using TNT instead, and oh, the killing each other was still going on so the codes really needs some improvements!
And lots of reporting to the server below to help the admin anticipate even the mildest act of vandalism πŸ˜€

Bildschirmfoto 2015-04-25 um 9.20.45 vorm.

ProCodeCG Kids Programming 11 Apr 2015 – Build and Share The Same World in Minecraft


We did lots of things today!

This is the server showing the activity for the first hour of the class: kids chase and slain each other LOL

Bildschirmfoto 2015-04-11 um 9.49.08 vorm. Bildschirmfoto 2015-04-11 um 9.46.44 vorm.

Until at some point they started to make strategy and develop buildings and also armory πŸ˜€

This is Dhanu’s rocket launcher building
Tangkapan layar 2015-04-11 11.43.25

And this is inside Diaz’s house, a very nice place with wide windows!

Tangkapan layar 2015-04-11 11.44.09
Tangkapan layar 2015-04-11 11.44.17See Dhanu’s rocket building through Diaz’s window
Tangkapan layar 2015-04-11 11.44.29This is how Diaz’s house looks at night
Tangkapan layar 2015-04-11 11.56.22And Dhanu’s at night. Incredible πŸ™‚
Tangkapan layar 2015-04-11 11.56.35This is some destroyed castle. Kids build it and then ruin it LOL
Tangkapan layar 2015-04-11 11.58.52
Tangkapan layar 2015-04-11 12.00.22

Dhanu’s has a very unusual structure πŸ™‚

Tangkapan layar 2015-04-11 12.04.08It has some pools below the building
Tangkapan layar 2015-04-11 12.06.10And this is how it looks from below
Tangkapan layar 2015-04-11 12.06.50Ok, we can go swimming here!
Tangkapan layar 2015-04-11 12.07.59This is underwater!
Tangkapan layar 2015-04-11 12.08.35And look, Dhanu (a.k.a loser) is building something under the water πŸ˜€
Tangkapan layar 2015-04-11 12.09.39Going up the surface
Tangkapan layar 2015-04-11 12.09.43And teleport self to Diaz’s basement
Tangkapan layar 2015-04-11 12.13.56which is particularly a very comfy place!
Tangkapan layar 2015-04-11 12.14.06See? It is Diaz tidying up the room πŸ˜€
Tangkapan layar 2015-04-11 12.14.13This is the entrance of Diaz’s house, it is interesting how kids able to develop things πŸ™‚
Tangkapan layar 2015-04-11 12.17.25

And this is how it looks at night. Nice.

Tangkapan layar 2015-04-11 12.26.48

A very nice room, buddy!
Tangkapan layar 2015-04-11 12.18.41And this is Zaki’s building. Very complex.
Tangkapan layar 2015-04-11 11.42.20
And very tall. You can climb up and jump, and see how beautiful its construction.

Tangkapan layar 2015-04-11 11.42.43This is how Dhanu’s rocket building looks from above
Tangkapan layar 2015-04-11 12.30.32From the top
Tangkapan layar 2015-04-11 12.31.41You know what? Everybody should try to play Minecraft. It really sharpened the spatial skills. This complex skyscraper is made by a kid. Awesome dude!
Tangkapan layar 2015-04-11 12.32.46Still lots of things to do but we really have to end the class (the kids just wouldnt want to call it off LOL)
Tangkapan layar 2015-04-11 12.35.58

Oh, btw, this is some pictures from when the kids chasing at and kill each other, LOL

IMG_7467 IMG_7470 IMG_7469 IMG_7468

ProCodeCG Kids Programming 4 Apr 2015 – Learning to Build Things with Array


Today we learn how to use array to create boxes in Minecraft. We have learned how to use box and box0 before, and today we give boxa (or box array) a try.

The kids are now getting better at typing codes πŸ™‚ They typed it fast with very few typos.


And this is how the teacher works, using more than one computer, and if necessary, she will uses three πŸ˜€


This is the coding for creating arrays of boxes,


.. and this one is the coding to create colored triangle


And these are the result! Basically boxa picks the kind of box defined in the array and uses it alternately, depends on the weight, height and length.

Tangkapan layar 2015-04-04 09.44.22

By using boxa we now can make a 3D colored-triangle

Tangkapan layar 2015-04-04 09.43.22

like we did in 2D before πŸ˜‰


ProCodeCG Kids Programming 14 March 2015 – Exploring Scriptcraft Drone Functions


Today we explore Scriptcraft Drone functions and they are quite fascinating πŸ™‚

Below is a (low) skyscraper and a castle that look beautiful at night!

Tangkapan layar 2015-03-14 18.42.20

this is a great small rainbow and a big rainbows:
Tangkapan layar 2015-03-14 18.53.19

this is an amazing dancing floor inviting all creepers to dance! πŸ˜€
Tangkapan layar 2015-03-14 19.10.49

today we set up a flat world free of monsters and creepers and villagers and animal so we can
create whatever we want!

next time we will explore more about this codes and create our own.

Hopefully the server will be ready and up next week! πŸ™‚

Getting Prepared for Minecraft Programming


Finally things are set up to do Minecraft modding πŸ™‚

After the CanaryMod server is up

Tangkapan layar 2015-01-07 21.52.00


Some modifications on server and world files has to be done first


Tangkapan layar 2015-01-07 21.52.46 Tangkapan layar 2015-01-07 21.53.03

Run Minecraft

Tangkapan layar 2015-01-07 21.53.45

Choose some settings before play

Tangkapan layar 2015-01-07 21.54.11


Choose Multiplayer

Tangkapan layar 2015-01-07 21.54.48


And there it is the server is waiting for login

Tangkapan layar 2015-01-07 21.54.55


And now we are inside the game ready to do some modifications! πŸ™‚


Tangkapan layar 2015-01-07 21.44.59


This is a command in javascript to say hello to self
Tangkapan layar 2015-01-08 10.40.20 Tangkapan layar 2015-01-08 10.40.25


*note: don’t forget to op the username on the server command line

Tangkapan layar 2015-01-08 10.33.19

This is what happen when you declare an oak blocks:

Tangkapan layar 2015-01-08 10.43.13So basically to do modifications, just create .js files under scriptcraft\plugins\{username} like this:

Tangkapan layar 2015-01-08 10.49.04

refresh the game

Tangkapan layar 2015-01-08 10.49.18

and then use the function has been created
Tangkapan layar 2015-01-08 10.52.32

to get something like this

Tangkapan layar 2015-01-08 10.52.36

and create another script

Tangkapan layar 2015-01-08 10.55.54

do refresh and try to boo yourself

Tangkapan layar 2015-01-08 10.56.29

and get boo-ed

Tangkapan layar 2015-01-08 10.56.35

or try some yo

Tangkapan layar 2015-01-08 10.56.44

and get yo-ed LOL

Tangkapan layar 2015-01-08 10.56.50


More complex command can also be done

Tangkapan layar 2015-01-08 10.59.36

to get something like this
Tangkapan layar 2015-01-08 10.59.18

Well, the possibility is endless! This is an awesome way to teach and encourage kids to create, to modify, to learn about codes subliminally (because they will also learn about looping, function and if-conditions by building things ;))

ProCodeCG is ready to teach programming with Minecraft Modding! πŸ™‚

Useful references: