Hi,
I apologize for leaving you guys wondered where I was.
Well, I got a pair of ticket for US Open Tennis from my very best friend.
So my wife and I went to New York City for five days.
I was fun a fun trip. But I missed our forum very much. Because I did not bring my laptop with me,
since, they would not allowed to bring the laptop into the stadium, and I was not sure about
leaving my laptop at the hotel.
After I got back (on last Sunday). I started to work on my game project right away.
And here is something that I got done.
I did a sketch for the icons I needed for the splash screen, main menu, and for the game entities.
The first game that I’m working on is called FLY.
You need to place a square bullet over the fly, in order to get score.
You have four square bullets.
// Home
static byte[] HomeUP = new byte[8] { 0x00, 0x18, 0x3c, 0x7e, 0xe7, 0x66, 0x66, 0x00 };
static byte[] HomeDN = new byte[8] { 0xff, 0xe7, 0xc3, 0x81, 0x18, 0x99, 0x99, 0xff };
// Smiley Icon
static byte[] SmileyTR = new byte[8] { 0x03, 0x0f, 0x3f, 0x7f, 0x73, 0x73, 0xff, 0xff };
static byte[] SmileyTL = new byte[8] { 0xc0, 0xf0, 0xfc, 0xfe, 0xce, 0xce, 0xff, 0xff };
static byte[] SmileyBR = new byte[8] { 0xff, 0xef, 0xe7, 0x73, 0x78, 0x3c, 0x0f, 0x03 };
static byte[] SmileyBL = new byte[8] { 0xff, 0xf7, 0xe7, 0xce, 0x1e, 0x3c, 0xf0, 0xc0 };
// Arrows
static byte[] LeftArrUP = new byte[8] { 0x10, 0x18, 0x1c, 0x1e, 0x1e, 0x1c, 0x18, 0x10 };
static byte[] LeftArrDN = new byte[8] { 0xef, 0xe7, 0xe3, 0xe1, 0xe1, 0xe3, 0xe7, 0xef };
static byte[] RightArrUP = new byte[8] { 0x08, 0x18, 0x38, 0x78, 0x78, 0x38, 0x18, 0x08 };
static byte[] UpArrUP = new byte[8] { 0x00, 0x18, 0x3c, 0x7e, 0xff, 0x00, 0x00, 0x00 };
static byte[] UpArrDN = new byte[8] { 0xff, 0xe7, 0xc3, 0x81, 0x00, 0xff, 0xff, 0xff };
static byte[] DownArrUP = new byte[8] { 0x00, 0x00, 0x00, 0xff, 0x7e, 0x3c, 0x18, 0x00 };
static byte[] DownArrDN = new byte[8] { 0xff, 0xff, 0xff, 0x00, 0x7e, 0x3c, 0x18, 0x00 };
static byte[] RedButtonUP = new byte[8] { 0x00, 0x18, 0x3c, 0x7e, 0x7e, 0x3c, 0x18, 0x00 };
static byte[] RedButtonDN = new byte[8] { 0xff, 0xe7, 0xc3, 0x81, 0x81, 0xc3, 0xe7, 0xff };
static byte[] EnterUP = new byte[8] { 0x00, 0x68, 0x6c, 0x7e, 0x7e, 0x0c, 0x08, 0x00 };
static byte[] EnterDN = new byte[8] { 0xff, 0x97, 0x93, 0x81, 0x81, 0xf3, 0xf7, 0xff };
// Number Buttons
static byte[] Button0UP = new byte[8] { 0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, 0x00 };
static byte[] Button0DN = new byte[8] { 0xff, 0xe7, 0xdb, 0xdb, 0xdb, 0xdb, 0xe7, 0xff };
static byte[] Button1UP = new byte[8] { 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00 };
static byte[] Button1DN = new byte[8] { 0xff, 0xe7, 0xef, 0xef, 0xef, 0xef, 0xc7, 0xff };
static byte[] Button2UP = new byte[8] { 0x00, 0x18, 0x24, 0x20, 0x18, 0x04, 0x3C, 0x00 };
static byte[] Button2DN = new byte[8] { 0xff, 0xe7, 0xdb, 0xdf, 0xfb, 0xe7, 0xc3, 0xff };
static byte[] Button3UP = new byte[8] { 0x00, 0x1c, 0x20, 0x18, 0x20, 0x24, 0x18, 0x00 };
static byte[] Button3DN = new byte[8] { 0xff, 0xe3, 0xdf, 0xe7, 0xdf, 0xdb, 0xe7, 0xff };
static byte[] Button4UP = new byte[8] { 0x00, 0x04, 0x14, 0x3c, 0x10, 0x10, 0x10, 0x00 };
static byte[] Button4DN = new byte[8] { 0xff, 0xfb, 0xeb, 0xc3, 0xef, 0xef, 0xef, 0xff };
static byte[] Button5UP = new byte[8] { 0x00, 0x3c, 0x04, 0x38, 0x20, 0x24, 0x18, 0x00 };
static byte[] Button5DN = new byte[8] { 0xff, 0xc3, 0xfb, 0xc7, 0xdf, 0xdb, 0xe7, 0xff };
static byte[] Button6UP = new byte[8] { 0x00, 0x38, 0x04, 0x1c, 0x24, 0x24, 0x18, 0x00 };
static byte[] Button6DN = new byte[8] { 0xff, 0xc7, 0xfb, 0x1c, 0xdb, 0xdb, 0xe7, 0xff };
static byte[] Button7UP = new byte[8] { 0x00, 0x3c, 0x20, 0x10, 0x10, 0x08, 0x08, 0x00 };
static byte[] Button7DN = new byte[8] { 0xff, 0xc3, 0xdf, 0xef, 0xef, 0xf7, 0xf7, 0xff };
static byte[] Button8UP = new byte[8] { 0x00, 0x18, 0x24, 0x18, 0x24, 0x24, 0x18, 0x00 };
static byte[] Button8DN = new byte[8] { 0xff, 0xe7, 0xdb, 0xe7, 0xdb, 0xdb, 0xe7, 0xff };
static byte[] Button9UP = new byte[8] { 0x00, 0x18, 0x24, 0x24, 0x38, 0x20, 0x1c, 0x00 };
static byte[] Button9DN = new byte[8] { 0xff, 0xe7, 0xdb, 0xdb, 0xc7, 0xdf, 0xe3, 0xff };
// Grey Scale Tiles
static byte[] Grey020 = new byte[8] { 0x22, 0x00, 0xaa, 0x00, 0x22, 0x00, 0xAA, 0x00 };
static byte[] Grey030 = new byte[8] { 0x11, 0xAA, 0x00, 0xAA, 0x11, 0xaa, 0x00, 0xAA };
static byte[] Grey050 = new byte[8] { 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55 };
static byte[] Grey070 = new byte[8] { 0xee, 0x55, 0xee, 0x55, 0xee, 0x55, 0xee, 0x55 };
static byte[] Grey100 = new byte[8] { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
// Fly
static byte[] flyTR = new byte[8] { 0x00, 0x24, 0x49, 0x53, 0x51, 0x4F, 0x34, 0x24 };
static byte[] flyBR = new byte[8] { 0x4C, 0x9C, 0x9F, 0x9E, 0x5E, 0x4C, 0x08, 0x00 };
static byte[] flyTL = new byte[8] { 0x00, 0x24, 0x92, 0xCA, 0x8A, 0xF2, 0x2C, 0x24 };
static byte[] flyBL = new byte[8] { 0x32, 0x39, 0xF9, 0x79, 0x7A, 0x32, 0x10, 0x00 };
// Draw with the GHI graphics drivers
static GPainter paint = new GPainter();
public static void paintByte(int x, int y, byte[] p)
{
int i, n;
byte tmp;
for (i = 0; i < 8; i++)
{
tmp = p[i];
for (n = 0; n < 8; n++)
{
if ((tmp & (1 << n)) > 0)
paint.SetPixel(x + n, y + i);
else
paint.ClearPixel(x + n, y + i);
}
}
}
I wrote a method to read this icons, entities, called paintByte(), it’s similar to the Print() or PrintSmall()
methods in GHIElectronics.Graphics.Simple128x64.cs.
The different is Print() or PrintSmall() method read bytes and draw vertically.
paintByte() method read byte and draw them horizontally.
And here is the video that I quickly prepare with a cybershot camera.
One thing that bother me a lot is that the Backlight is always on.
And it is really difficult to take a video with the backlight on.
So I had to tape the screen to block the backlight with a black tape.
I will try to use a better camera to take a video.
I haven’t implemented the User Interface at the main menu, or in the Game yet.
[quote]It is all about the challenge. How much can you do with a simple setup, is the question
So, what will the first game do?
[/quote]
Gus, You are absolutely right!
@ Brett, Foekie,
I might do the etch-a-sketch after I got the FLY done!