Pixelh8

Pixelh8 and the plan for 2012

December 25th, 2011

I always like to have a plan, in fact most of my 2012 is already planned out and I have some cool things coming up.

A lot of you may have noticed I have moved away from being “Pixelh8″, I still am “Pixelh8″ I am just more interested in promoting, facilitating and helping others be creative, I have always done this, it is just my main focus now. Whether it be making or performing music, designing or programming games or creating stop frame animation. 2012 is going to be about helping others create. There are two reasons for this;

1) I have had five years of fun, making and promoting myself as Pixelh8 it would be nice to now help others.

2) I am starting my PhD in “Educational Music Technology” all my research will be focused on helping to get others involved in music performance and creation.

There are already some great events I am booked for in 2012, Games Britania a game making festival in Rotherham which is building year on year, HESFES home educating festival where i’ll be designing games in a field, BACON a two day technology conference, British Museum workshops, St. Albans game design week, Young Rewired State 2012 and working with IP1 and The Mix to deliver so unique music making workshops. Don’t panic if I have missed anything. The full list albeit amazing is quite long indeed.

This doesn’t include the two patents, several conferences, maybe another published paper, being in a book about music, making all of my existing iPhone Apps HD for the iPad, “OCARBOT 2″ and “Cross-side” for iPhone, helping my ex-degree students publish some XBOX 360 games, jumping out an airplane and sending something else into space. 2012 will be busy.

Of course this is just the “plan” things will change. “OCARBOT EDU” has been slightly delayed to fix a few things here and there; try and trim the 134MB distribution size, allow myself a chance to recharge my batteries and to play on some new games and software over christmas.

Hopefully I’ll bump in to you in 2012 either in real life or on twitter, @pixelh8. Either way I hope 2011 was good for you and that 2012 will be even better. If you need me for anything just drop me a line.

Posted in Chip Tune Workshops, conferences, Educational, Holywells Computing Club, Lectures & Workshops, Software, Uncategorized |

Pixelh8 and The New Wolsey “Video Game Workshop”

May 12th, 2010

Things are getting pretty hectic in the build up to Childhood Remixed, however I am still managing time to run some workshops. This time it’s a collaboration with The New Wolsey Theatre Creative Learning and Holywells High School. The plan is to use the green screen composite technique to put students in to a video game about students that have been shrunken down and teachers turned in to zombies. So this is gonna be good fun working with fellow project leader Laura Norman and her vast array of skills we shall be zombifying Holywells. More news an pics of the game in progress as it happens.

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools |

Pixelh8 @ Computing Club, Holywells High School, Ipswich “Processing Lesson 3″

January 19th, 2010

p3lessonAfter a long Christmas and New Year break, it’s back to coding, fortunately that break didn’t wash away all that they had learned and we were able to get on with Dimensional arrays. The best part of the lesson was when we started talking about how the Baddy AI will be implemented next lesson. They were beginning to think laterally, and how the computer doesn’t view the game as the player, but as a maze of 0 and 2′s in this case. The 2′s in the array are solid walls and so could 1,3, and 4 but they will be added later. 0′s are for nothing and is where both the goody and baddy can walk.The first row of 0′s is there to allow for space to draw the number of lives, score and level later on.

Every loop it redraws the level, and when key presses occur it checks if the position the character wants to head is clear, if it’s not it issues a return;. The following code builds upon last lesson here and adds the map drawing and good guy collision with it. The code as is also purposely presented the students with a dilemma, how do you get into the maze.

To get the below example to work

1) Load up processing and save immediately calling it “MazeGame” this will create a folder, example “MazeGame”

2) Within that folder create another folder called “data” so MazeGame\data

3) Within that folder put a graphic called “good.png” 40X40 pixels.

4) Run it

//MazeGame
//Copyright Room 1 Studios 2009
//Matthew C. Applegate – Pixelh8

int goodx, goody;

int level, column, row;
int[][][] mapper = {

//Level 1

{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,2,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,2,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,2,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}},//End of Level 1

//Level 2
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,0,0,9,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}} //End of Level 2
};

PImage hero;

void setup(){
background(0);
size(600, 400); // 15 X 10
hero = loadImage(“good.png“);
}

void draw (){
background(0);
updatescreen();
}

void updatescreen (){
image(hero, goodx*40, goody*40);

for (int row = 0; row < 10; row++){
for (int column = 0; column < 15; column++){
if (mapper [level] [row]

== 2){fill(255); rect (column*40,row*40, 40,40);}
}}
}

void keyReleased() {
if (key == CODED) {

//check if collision free
if (keyCode == UP)    {
if ((mapper [level] [goody-1][goodx]>0)&& (mapper[level] [goody-1][goodx]<4)){return;}}
if (keyCode == DOWN)    {
if ((mapper [level] [goody+1][goodx]>0)&& (mapper[level] [goody+1][goodx]<4)){return;}}
if (keyCode == LEFT)    {
if ((mapper [level] [goody][goodx-1]>0)&& (mapper[level] [goody][goodx-1]<4)){return;}}
if (keyCode == RIGHT)    {
if ((mapper[level]  [goody][goodx+1]>0)&& (mapper[level][goody][goodx+1]<4)){return;}}

//If collision free
if (keyCode == UP)    {goody=goody-1;}
if (keyCode == DOWN)  {goody=goody+1;}
if (keyCode == LEFT)  {goodx=goodx-1;}
if (keyCode == RIGHT) {goodx=goodx+1;}
}
}

Posted in Educational, Holywells Computing Club, Programming in Schools |

Pixelh8 “A Choice To Compute” the article on Game People

January 6th, 2010

gamerpeopleVery pleased I got to finally written this up “A Choice to Compute: Rant in C++” it is part of a talk I give on the decline of programmers and some of the possible causes behind it. You can read the full article on Game People and all of the quotes can be referenced.

Although things are getting better there is still alot of work to be done to turn things around, and on the back of this rant instead of just complaining about the problems I have set up “Computer Club” with several schools to get people programming at an early age. You can see some of the example lessons and projects that I have undertaken with Holywells High School on this Blog here.

Enjoy.

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Press, Programming in Schools |

Pixelh8 @ Computing Club, Holywells High School, Ipswich “Processing Lesson 2″

December 15th, 2009

mazegameI am genuinely very proud of my Computer Club only the second week in to programming with “Processing” and they are real getting it, they are really thinking logically and coherently. Below is a simple program to load a sprite place it on the screen and move it around using the cursor keys, they were all able to follow my instructions and get it to work.

I also set a few traps along the way for them to figure out for themselves and they were successful in solving the problem. Again this is just another piece of the overall project, and will later be merged with work from other sessions.

Cleverly they also worked out how to load other graphics and experimented with them too.

To get the below example to work

1) Load up processing and save immediately this will create a folder, example “MazeGame”

2) Within that folder create another folder called “data” so MazeGame\Data

3) Within that folder put a graphic called “good.png” 40X40 pixels.

4) Run it

//MazeGame
//Copyright Room 1 Studios 2009
//Matthew C. Applegate – Pixelh8

int goodx, goody;
PImage hero;

void setup(){
background(0);
size(600, 400); // 15 X 10
hero = loadImage(“good.png“);
}

void draw (){
background(0);
updatescreen();
}

void updatescreen (){
image(hero, goodx*40, goody*40);
}

void keyReleased() {
if (key == CODED) {
if (keyCode == UP)    {goody=goody-1;}
if (keyCode == DOWN)  {goody=goody+1;}
if (keyCode == LEFT)  {goodx=goodx-1;}
if (keyCode == RIGHT) {goodx=goodx+1;}
}
}

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools, Visits |

Pixelh8 @ Computing Club, Holywells High School, Ipswich “Processing Lesson 1″

December 8th, 2009

I hate to give the game away in the first sentance, but the lesson was perfect, it had to be. I knew from the moment I woke up this morning this first lesson in Processing had to run smoothly as it was their first lesson with it, their first exposure to code. It may not have been make or break with them, but a bad introduction to coding could put them off for years. Luckily their ICT teachers have been teaching them how to use good tools like Scratch and Opus, so they were already familar with things like variables so we could speed through some of it a lot quicker.

I simply talked them through the interface, how the variable, set-up, and draw areas of Processing work with eachother. The full example is below, but it’s important to note we did it in stages, purposely missing things out to cause “problems” which we set about solving.

Now bearing in mind these were 13-14 year old kids who inhabit a full on multimedia world and computers are pretty much part of their everday life, it was still nice to know that having the ability and being empowered to do even the most basic tasks in Processing (like draw a box on the screen), was still really enjoyable. It was like watching lights flicker on as I said to “experiment” with the different values in the code, but they worked it all out very quickly.

Processing was chosen for several reasons for this project.

1) It’s free and runs and outputs to most operating systems including a webpage.

2) There is also Mobile Processing which means lessons learnt in this environment can be moved to mobile phones and other mobile devices.

3) There is also Arduino which is based on Processing for controlling external devices like motors, solenoids, lights & robotics.

So in the space of an hour they learnt about integers, variables, loops, how to output to the debugging console and to load a font and display all the information to a screen. Next week we will show them how to load a graphic and move it around the screen, no prizes for guessing where we are heading. And yes I am aware all this does is count down from 300 and keeps going, thats because this small example forms part of a much larger project.

This work forms part of my Masters Degree and soon my PhD and will all be written up shortly for others to read in it’s entirety. I am also very glad that several other schools have now taken up my offer to run this 8 week after school course for their students.

Below is the code, but to get it to work, you will.

1) Start processing, and save immediately, call it whatever you want, you do this so it will create a folder.

2) Create a font in the drop down tools menu, size 24, type Arial MT, that way the code will find it and load it correctly. From the folder you just created by saving.

//Timer
//Copyright Room 1 Studios 2009
//Matthew C. Applegate – Pixelh8

int counter;
PFont fontA;

void setup(){
counter = 300;
size(300,300);
fontA = loadFont(“ArialMT-24.vlw”);
textAlign(CENTER);
textFont(fontA, 24);

}

void draw(){
background(0);
counter=counter-1;
delay(100);
println(counter);
text(counter,150,150);
}

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools, Visits |

Pixelh8 @ Computing Club, Holywells High School, Ipswich “Playing and Debugging”

December 1st, 2009

screenshot103 screenshot104screenshot105 screenshot107

Here are just some of the levels from the Holywells Computing Club Platform Game. Today we spent the lesson arranging the items and bad guys within the levels. We also tested out the game to see if they were playable, with the game 90% done in just three hours work over three weeks, I would say thats pretty good.

Next week we will finish it and then start from the very beginning using “Processing” to create our own maze game engine.

Very pleased that they are really getting to grips with ideas like variables and giving “objects” values, and that they are linking it with their other work in ICT.

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools, Visits |

Pixelh8 @ Computing Club, Holywells High School, Ipswich “Backgrounds & Levels”

November 24th, 2009

GameScreenToday was the second session for the Holywells High School “Computing Club” and was mainly spent talking about the game engine, how the graphics are loaded and become “sprites” and how we map properties on to those “objects” and how we can make them interact with each other. With the “good guy”, “bad guy” & “item” sprites loaded in to the computer from last week, we then set about assigning them different values. We also talked about how “invisible platforms” work to allow quick and easy level making with very complex backgrounds.

It was again good fun and they seemed to get a lot out of it. It’s also nice to hear them say they are going to try and do it at home as well so hopefully some side projects will pop up too.

Next week we are going to be play testing the game to see what works and work out what we can do to make it better and for the week after we start “Processing” ripping the graphics out of the game and making our own game engine code from scratch.

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools, Visits |

Pixelh8 @ Computing Club, Holywells High School, Ipswich

November 17th, 2009

I was very pleased to get this project off the ground, recently I have spoke out publicly about the decline of programmers numbers and the absurdity of removing computing from the curriculum, so I feel very fortunate to be able to make a change to this however small that is. Over the last couple of weeks I have put together a teaching plan to teach secondary school children the basics of computing and video game making.

Firstly using tools like Game Maker and then Processing, making a game in Game Maker and then recoding it in Processing so they can learn about game dynamics and computing. Today was their first lesson and they were very good, very polite and very talented. We have only designed the “Good Guys”, “Bad Guys” and “Items” but things are looking good for the next lesson in which we will look at the backgrounds and level design.

Unfortunately there isn’t a qualification at the end of the course, but hopefully they will be inspired to use computers more creatively, even if it’s only one of them that goes on to program, that’s one more.

I should have some pictures of the games soon, and I will keep you updated on their progress.

Posted in Educational, Holywells Computing Club, Lectures & Workshops, Programming in Schools, Visits |