Biohazard 2 remake "CAPCOM" , Download only


(Ken Cheung) #1

This is download Link for share 「Bio2 Arduboy version」, I hope everyone will share , I will update the current story game again
Please download to try![:blush:]
this version 1.00
https://m.sendspace.com/file/o2pdvm


On Kickstarter help me (build Aracde game)
(Pharap) #2

You don’t need to host the code on a file sharing site,
you can just paste it straight onto the forum.
Or alternatively use a code hosting service like GitHub or GitLab.

Many people are suspicious and mistrusting of file hosting websites for good reason - they are typically used for hosting viruses.
GitHub and GitLab are more trusted.


I went through and annotated some of the most glaring problems:

// Problem #1:
// Arduboy.h is no longer maintained
// Arduboy2.h should be used instead

// Problem #2
// This should be an 'angle-bracket' include,
// i.e. #include <Arduboy2.h>

#include "Arduboy.h"
Arduboy arduboy;

// Problem #3
// 'int' is 16 bits wide on Arduboy
// smaller types should be used, e.g. int8_t and uint8_t

// Problem #4
// Many of these variable names are not descriptive enough
// Too many of them are too short (e.g. 'sc' should be 'score', 'hi' should be 'highscore')

int cx = 1;
int cy = 1;
int at = 0;
int gun1 = 99;
int gun2 = 99;
int em;
int sc = 0;
int emx, emy;
int x = 0;
int ti = 0;
int Score = 0;
int gamestate = 0;
int hi = 0;
int t = 400;

int buffera = 0;
int bufferb = 0;
int bufferup = 0;
int bufferdown = 0;
int bufferleft = 0;
int bufferright = 0;
int abuffer = 0;
int bbuffer = 0;

// Problem #5
// Images should be in a separate header file

// Problem #6
// ALLCAPS should only be used for macros

// 128 x 64 TITLE
const unsigned char TITLE[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0xfe, 0xfe, 0x7e, 0x26, 0x6, 0x3e, 0x7e, 0xfe, 0xfe, 0x7e, 0x7e,
  0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0xc0, 0x40, 0x80, 0x00, 0xc0, 0x40,
  0x80, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0xc0, 0x00, 0xc0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xf9,
  0xfe, 0x18, 0x80, 0xe0, 0x8f, 0x7e, 0xf9, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef,
  0xe2, 0xef, 0xe0, 0xef, 0xe2, 0xed, 0xc0, 0xf, 0x8, 0xe7, 0xe0, 0xef, 0x8, 0xf, 0xc0, 0xef, 0xe9, 0xe6,
  0xe0, 0xe7, 0xe8, 0xc7, 0x00, 0x00, 0xef, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00,
  0x00, 0xe0, 0xe0, 0xe7, 0xe7, 0xe7, 0x7, 0x7, 0x18, 0x6, 0xe7, 0xe7, 0xe7, 0xfe, 0xe1, 0xe7, 0x7, 0x7,
  0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
  0xe0, 0xc0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x80, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xff, 0xff, 0xbf, 0x00, 0x00, 0xff,
  0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
  0xe0, 0xe0, 0xff, 0xff, 0xff, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x00,
  0x00, 0x00, 0x80, 0xfc, 0xff, 0x7f, 0x3, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x1f, 0xff, 0xff,
  0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xff, 0xff, 0xbf, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
  0x00, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7, 0x7, 0x7, 0x00, 0xc0, 0xf8, 0xff, 0x7f, 0xf,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
  0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
  0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff,
  0x3f, 0xe, 0xe, 0xe, 0x3f, 0xff, 0xff, 0xe0, 0x00, 0xe0, 0xff, 0xff, 0xf, 0x00, 0x00, 0x00, 0xe0, 0xff,
  0xff, 0x3f, 0xe, 0xe, 0xe, 0x3f, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
  0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xf0, 0xfe, 0xff, 0x1f, 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 0x00, 0x00, 0x3, 0x3, 0x3, 0x00, 0x00,
  0x1, 0x3, 0x3, 0x3, 0xe3, 0xe3, 0xa3, 0xe1, 0x00, 0xe0, 0xe3, 0xa3, 0x63, 0x00, 0xe0, 0xe3, 0xa3, 0x23,
  0x00, 0x63, 0x63, 0xa3, 0xa0, 0x00, 0x60, 0x60, 0xa0, 0xa3, 0x3, 0x3, 0x00, 0xe3, 0xf3, 0x1b, 0xab, 0x1b,
  0xf3, 0xe0, 0x3, 0x3, 0x63, 0x60, 0xa0, 0xa0, 0x00, 0x20, 0xe3, 0xe3, 0x23, 0x00, 0xc3, 0xe3, 0xa3, 0xc0,
  0x00, 0xe3, 0xe3, 0xa1, 0x60, 0x00, 0x23, 0xe3, 0xe3, 0x23, 0x3, 0x3, 0x3, 0x1, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1, 0x1, 0x00, 0x00, 0x00, 0x1, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x1, 0x1, 0x1, 0x00, 0x1, 0x1, 0x1, 0x1, 0x00, 0x1, 0x1, 0x1, 0x1, 0x00, 0x00, 0x00, 0x1, 0x3, 0x6, 0x7,
  0x6, 0x3, 0x1, 0x00, 0x00, 0x1, 0x1, 0x1, 0x1, 0x00, 0x00, 0x1, 0x1, 0x00, 0x00, 0x1, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x1, 0x00, 0x1, 0x00, 0x00, 0x1, 0x1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x54, 0x48, 0x00, 0x38, 0x44, 0x38, 0x00, 0x7c, 0x00,
  0x6c, 0x54, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x38, 0x7c, 0x64, 0x44, 0x6c, 0x00, 0x60, 0x38, 0x24, 0x7c,
  0x60, 0x00, 0x44, 0x7c, 0x7c, 0x54, 0x18, 0x00, 0x38, 0x7c, 0x64, 0x44, 0x6c, 0x00, 0x38, 0x7c, 0x44,
  0x7c, 0x38, 0x40, 0x70, 0x1c, 0x38, 0x1c, 0x70, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x50, 0x70, 0x00, 0x4c, 0x50, 0x3c, 0x00, 0x00,
  0x00, 0x7c, 0x10, 0x6c, 0x00, 0x7c, 0x54, 0x00, 0x7c, 0x4, 0x78, 0x00, 0x20, 0x00, 0x7c, 0x44, 0x44, 0x00,
};

// 49 x 49 BG
const unsigned char BG[] PROGMEM  = {
  0xaa, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0xaa, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0xaa, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0xaa, 0xaa,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xaa, 0xaa, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0xaa,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0xaa, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0xaa, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0xaa,
  0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
  0x1, 0x00, 0x1, 0x00, 0x1, 0xaa, 0xaa, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1,
  0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00, 0x1, 0x00,
};
// 16 x 16 CR
const unsigned char CR[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x18, 0x38,
  0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x1, 0x1, 0x00, 0x00, 0x1c, 0x18, 0x00, 0x1, 0x1,
  0x1, 0x00, 0x00, 0x00,
};
const unsigned char CR1[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00,
};

// 16 x 16 FIRE
const unsigned char FIRE[] PROGMEM  = {
  0x00, 0x6, 0x4c, 0x98, 0x30, 0x40, 0x1c, 0x38, 0xc0,
  0x60, 0x26, 0x52, 0x1, 0x10, 0x8, 0x00, 0x10, 0xc,
  0x4, 0x6, 0x2, 0x00, 0x1, 0xc, 0x1a, 0x26, 0x6, 0xc,
  0xc, 0x18, 0x10, 0x00,
};
// 14 x 14 GUN
const unsigned char GUN[] PROGMEM  = {
  0xff, 0x1, 0x81, 0xed, 0xfd, 0xfd, 0xbd, 0x99, 0x79, 0x39,
  0x39, 0x39, 0x1, 0xff, 0x3f, 0x20, 0x27, 0x27, 0x27, 0x21,
  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f,
};

// 39 x 64 LP
const unsigned char LP[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4, 0xfc, 0x4, 0x00,
  0xfc, 0x24, 0xd8, 0x00, 0xf8, 0x24, 0xf8, 0x00, 0xfc, 0x00,
  0xfc, 0x4, 0xf8, 0x00, 0xfc, 0x00, 0xfc, 0x4, 0xf8, 0x00,
  0x78, 0x84, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
  0xf0, 0x70, 0x30, 0x90, 0x50, 0x50, 0x90, 0x50, 0xb0, 0x30,
  0x30, 0x50, 0x90, 0x10, 0x10, 0x10, 0x70, 0x10, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0x1,
  0xa0, 0x58, 0x64, 0xf2, 0x79, 0x3c, 0x3e, 0xb8, 0xa1, 0xd0,
  0xa8, 0xc0, 0x80, 0x00, 0x80, 0x60, 0x00, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7d,
  0x3f, 0xf0, 0x2f, 0xd7, 0x1f, 0xdf, 0xff, 0xff, 0x7f, 0xbf,
  0x5f, 0x27, 0x19, 0x5, 0x2, 0x00, 0xf, 0xf, 0x7, 0x7, 0x7,
  0xc7, 0x3f, 0x7f, 0xbf, 0xbf, 0xbf, 0xbf, 0x5f, 0x5f, 0xaf,
  0x57, 0x57, 0xd3, 0x93, 0x21, 0xc0, 0x00, 0x00, 0x80, 0x47,
  0x3c, 0x00, 0xc1, 0x72, 0x3a, 0x72, 0xc1, 0x00, 0x80, 0xc0,
  0x20, 0x1c, 0x7, 0x00, 0x2, 0x00, 0x80, 0xaa, 0x2b, 0x00,
  0x57, 0x50, 0x5c, 0x13, 0xf, 0xf, 0x1f, 0x1f, 0xde, 0xd1,
  0x8f, 0x24, 0x53, 0x4a, 0xe5, 0xe5, 0xe2, 0xe1, 0x00, 0xe0,
  0xa1, 0x40, 0x00, 0xc0, 0x40, 0x81, 0x1, 0x61, 0x18, 0x6,
  0x00, 0x00, 0x00, 0xff, 0xfe, 0xf8, 0xf1, 0xe1, 0xe1, 0xe5,
  0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf4, 0xf6, 0xef, 0xcf, 0xd3,
  0xdf, 0x9f, 0xaf, 0xb2, 0x7e, 0x3e, 0xbe, 0xd4, 0xed, 0x7c,
  0x99, 0xf8, 0x3, 0x1, 0x00, 0x34, 0x76, 0xe6, 0xe6, 0xcc,
  0xc, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xe5, 0xe2, 0xe3,
  0x1, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x1b, 0x8, 0x6, 0x00,
};

// 40 x 64 LP
const unsigned char RP[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0xf0, 0xf0, 0x70, 0x30, 0x30,
  0xb0, 0x50, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0xf0,
  0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
  0x00, 0xff, 0xff, 0x7, 0x00, 0x00, 0xbe, 0x1, 0x8, 0x8, 0x8, 0x20, 0x24, 0x12, 0x11, 0x88, 0x84,
  0xc1, 0xe2, 0x78, 0x81, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, 0x3, 0x00, 0x00, 0x2, 0x85, 0xd3, 0xa, 0xd7,
  0xfc, 0x40, 0x70, 0xfe, 0xfd, 0xbc, 0xae, 0x2f, 0x9c, 0xe0, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x21,
  0x20, 0x21, 0x21, 0xd0, 0xb0, 0x90, 0x40, 0xa5, 0xab, 0x1b, 0x20, 0x38, 0x7c, 0x7d, 0xfc, 0xe1,
  0x1, 0x82, 0x84, 0x88, 0x90, 0xc8, 0xa4, 0xa2, 0x92, 0x9, 0x4b, 0x57, 0x6f, 0x9f, 0xbf, 0xbf, 0xbf,
  0xdf, 0xdf, 0x5f, 0xef, 0x6f, 0x00, 0xc, 0x8, 0x12, 0x11, 0x9, 0xc, 0x6, 0xb, 0x15, 0x22, 0x21,
  0x40, 0x80, 0x80, 0x81, 0x80, 0x8d, 0xb0, 0xce, 0xbe, 0xfe, 0x7e, 0x3e, 0xde, 0xd0, 0x2e, 0x17,
  0x17, 0x17, 0xb, 0xb, 0xb, 0x1, 0x3d, 0x9d, 0xcd, 0xf0, 0xfd, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x60, 0x9c, 0x62, 0x1e, 0xa0, 0x50, 0xf, 0xf0, 0x00, 0xc0, 0x3f, 0x47, 0xa8, 0x10,
  0x00, 0xe0, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x7, 0xf, 0x8f, 0xcf, 0xf0,
  0xff, 0x00, 0xfc, 0x00, 0x40, 0x80, 0x00, 0x00, 0x85, 0x44, 0x3, 0x00, 0x40, 0x4, 0x9, 0x2, 0x00, 0xff,
  0x00, 0x9, 0x2, 0x00, 0x00, 0x00, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
  0xff, 0xff, 0xff, 0xff, 0xff,
};

// 8 x 8 EM 0-2
const unsigned char EM[] PROGMEM  = {
0x00, 0x00, 0x84, 0xea, 0x66, 0xb5, 0xb3, 0xb3, 0x35, 0x66, 0xea, 0x84, 0x00, 0x00, 0x00, 0x00, 0x7, 0x1f, 0x18, 0x35, 0x32, 0x32, 0x35, 0x18, 0x1f, 0x7, 0x00, 0x00, 
};
// 24 x 44 STORY
const unsigned char STORY[] PROGMEM  = {
  0x80, 0xc0, 0xc4, 0x64, 0x26, 0x2c, 0x5e, 0x5c, 0xbe, 0x3c, 0x7e, 0x7e, 0x7e, 0xfe, 0xfe, 0xff, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5, 0x4b, 0xca, 0x94, 0x14, 0x94, 0x8a, 0xb, 0x4c,
  0x81, 0x74, 0xd4, 0x81, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x60, 0xff, 0x1, 0x40, 0x2, 0x3, 0xe, 0x8e, 0xd8, 0xc3, 0xe3, 0x70, 0x3f, 0x38, 0x1c, 0xc, 0x1c, 0x18,
  0x30, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3, 0x18, 0x00, 0x1b, 0x00, 0xc3, 0xe7, 0xfd, 0xb0, 0x18,
  0xc, 0xef, 0xe, 0x1c, 0x38, 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x31, 0xbb, 0x1f, 0xc, 0x6, 0x6, 0xec, 0xc, 0x18, 0x18, 0x10, 0x00, 0x00, 0x1, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1, 0x3, 0x7, 0x7, 0xe, 0xc, 0xd, 0xc, 0x6, 0x2, 0x1,
  0x00, 0x00, 0x00, 0x00,
};
const unsigned char TRAINING[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x38, 0x4, 0x2, 0x1, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1, 0x2, 0x4, 0x38, 0xe0, 0x80,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xff, 0xff, 0xf8, 0xe0, 0x80, 0x00, 0x20, 0x60, 0xf0, 0x70, 0x70, 0x78, 0x38, 0x38, 0x78, 0x70,
  0x70, 0xf0, 0x60, 0x20, 0x00, 0x80, 0xe0, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x18, 0x1c, 0xe, 0xe, 0xf, 0xf, 0xf, 0xcf, 0xcf, 0xcf, 0x1f, 0x1f, 0x3e,
  0x7c, 0xfc, 0xf8, 0x38, 0x18, 0x00, 0x00, 0x18, 0x38, 0xf8, 0xfc, 0x7c, 0x3e, 0x1f, 0x1f, 0xcf, 0xcf, 0xcf,
  0xf, 0xf, 0xf, 0xe, 0xe, 0x1c, 0x18, 0x30, 0x60, 0xc0, 0x00, 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xf, 0x3f, 0x7f, 0xf8, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xf8, 0x00,
  0x00, 0x80, 0x80, 0xc0, 0xe0, 0xf8, 0x7f, 0x3f, 0xf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1,
  0x3, 0x87, 0xc7, 0xe0, 0xf8, 0xff, 0x7f, 0x7f, 0xff, 0xf8, 0xe0, 0xc7, 0x87, 0x3, 0x1, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x4, 0x4, 0x4, 0x4, 0x6, 0x2, 0x3, 0x3, 0x3, 0x1, 0x1, 0x00, 0x00, 0x00, 0x00, 0x1,
  0x1, 0x3, 0x3, 0x3, 0x2, 0x6, 0x4, 0x4, 0x4, 0x4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00,
};
const unsigned char COMING[] PROGMEM  = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x2, 0x1, 0xf1, 0x91, 0x61, 0x1, 0xf1, 0x1, 0x1,
  0xf1, 0x91, 0x1, 0xf1, 0x91, 0xf1, 0x1, 0x71, 0x91, 0x1, 0xf1, 0x51, 0x1, 0x1, 0x1, 0x1, 0xf1, 0x1, 0xf1, 0x1,
  0xf1, 0x1, 0xf1, 0x91, 0xe1, 0x1, 0xf1, 0x1, 0x11, 0xf1, 0x11, 0x2, 0xfc, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x7e,
  0x7e, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7e, 0x7e, 0xfc, 0xf8, 0xf0,
  0xc0, 0x00, 0x00, 0x7, 0x8, 0x10, 0x13, 0x10, 0x10, 0xf0, 0xf3, 0xf2, 0xf0, 0x13, 0x12, 0x10, 0x13, 0x10,
  0x13, 0x10, 0x12, 0x13, 0x10, 0x13, 0x12, 0x10, 0x10, 0x10, 0x10, 0x11, 0x12, 0x11, 0x12, 0x11, 0x10, 0x13,
  0x10, 0x13, 0x10, 0x13, 0x10, 0x10, 0x13, 0x10, 0x8, 0x7, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xff, 0xff,
  0xf8, 0xf8, 0xff, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff,
  0x00, 0x00, 0x00, 0x8, 0x8, 0x4, 0x7, 0x3, 0x3, 0x1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3, 0xf, 0x1f, 0x3c, 0x78, 0x70, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0,
  0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x78, 0x3c, 0x1f, 0xf, 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
  0x1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};


void setup() {

  arduboy.begin();
  
  // Problem #7
  // arduboy.clear() is redundant here
  // arduboy.begin clears the screen already
  
  arduboy.clear();
  
  // Problem #8
  // 10 fps is very slow
  
  arduboy.setFrameRate(10);
}

void loop() {

  // Problem #9
  // arduboy.clear() should come after arduboy.nextFrame()

  arduboy.clear();
  if (!(arduboy.nextFrame()))
    return;

  switch (gamestate) {
    case 0:
      gametitle();
      break;
    case 1:
      demo();
      break;
    case 2:
      gameover();
      break;
    case 3:
      license();
      break;
	  
	  // Problem #10
	  // A lot of these calls to arduboy.display() are dead code
	  
      arduboy.display(); // Dead code - won't be called
    case 4:
      selectstory();
      break;
      arduboy.display(); // Dead code - won't be called
    case 5:
      selecttraining();
      break;
      arduboy.display(); // Dead code - won't be called
    case 6:
      back();
      break;
      arduboy.display(); // Dead code - won't be called
    case 7:
      story();
      break;
      arduboy.display(); // Dead code - won't be called
  }
}

void gametitle() {
  arduboy.setCursor(92, 0);
  arduboy.print( hi );
  arduboy.drawBitmap(0, 0, TITLE, 128, 64, WHITE);
  arduboy.display();
  
  // Problem #11
  // Using 'and' instead of '&&' is uncommon
  // and looks less professional

  if (arduboy.pressed(A_BUTTON) and abuffer == 0) {
    buffera = 1;
    gamestate = 3;
  }
}
void license() {
  // Problem #12
  // Redundant arduboy.clear() - this was already called in loop

  arduboy.clear();
  arduboy.setCursor(15, 0);
  
  // Problem #13
  // Strings not wrapped in an F macro
  
  arduboy.print( "biohazard 2  is a" );
  arduboy.setCursor(15, 9);
  arduboy.print( "CAPCOM License," );
  arduboy.setCursor(15, 18);
  arduboy.print( "this game not for" );
  arduboy.setCursor(15, 27);
  arduboy.print( "Sale, for share " );
  arduboy.setCursor(15, 36);
  arduboy.print( "design." );
  arduboy.setCursor(13, 55);
  arduboy.print( "Push [B] to Start" );
  arduboy.display();
  
  // Problem #14
  // Buttons should be handled before drawing the screen
  
  // Problem #15
  // 'bbuffer' technique is bad
  // Should use Arduboy2's arduboy.justPressed(B_BUTTON) instead
  
  if (arduboy.pressed(B_BUTTON) and bbuffer == 0) {
    bufferb = 1;
    gamestate = 4;
  }
}

void selectstory() {
  arduboy.clear();
  arduboy.setCursor(38, 0);
  arduboy.print( "STORY MODE" );
  arduboy.setCursor(5, 55);
  arduboy.print( "Push [<->] to Select" );
  arduboy.drawBitmap (47, 10, STORY, 24, 44, WHITE);
  arduboy.display();
  if (arduboy.pressed(LEFT_BUTTON) ) {
    buffera = 1;
    gamestate = 6;
  }
  if (arduboy.pressed(RIGHT_BUTTON) ) {
    buffera = 1;
    gamestate = 5;
  }
  if (arduboy.pressed(A_BUTTON) and abuffer == 0) {
    buffera = 1;
    gamestate = 7;
  }
}
void selecttraining() {
  arduboy.clear();
  arduboy.setCursor(28, 0);
  arduboy.print( "TRAINING MODE" );
  arduboy.setCursor(5, 55);
  arduboy.print( "Push [<->] to Select" );
  arduboy.drawBitmap (38, 10, TRAINING, 46, 43, WHITE);
  arduboy.display();
  if (arduboy.pressed(LEFT_BUTTON) ) {
    buffera = 1;
    gamestate = 4;
  }
  if (arduboy.pressed(RIGHT_BUTTON) ) {
    buffera = 1;
    gamestate = 6;
  }
  if (arduboy.pressed(A_BUTTON) and abuffer == 0) {
    buffera = 1;
    gamestate = 1;
  }
}
void back() {
  arduboy.clear();
  arduboy.setCursor(28, 0);
  arduboy.print( "BACK TO TITLE" );
  arduboy.setCursor(5, 55);
  arduboy.print( "Push [<->] to Select" );
  arduboy.display();
  if (arduboy.pressed(LEFT_BUTTON) ) {
    buffera = 1;
    gamestate = 5;
  }
  if (arduboy.pressed(RIGHT_BUTTON) ) {
    buffera = 1;
    gamestate = 4;
  }
  if (arduboy.pressed(A_BUTTON) and abuffer == 0) {
    buffera = 1;
    gamestate = 0;
  }
}

void story() {
  arduboy.clear();
  arduboy.setCursor(28, 0);
  arduboy.print( "COMING SOON!!" );
  arduboy.setCursor(15, 55);
  arduboy.print( "Push [B] to back!" );
  arduboy.drawBitmap (38, 14, COMING, 70, 33, WHITE);
  arduboy.display();
  if (arduboy.pressed(B_BUTTON) and bbuffer == 0) {
    bufferb = 1;
    gamestate = 4;
  }
}


void demo() {
  arduboy.clear();

  if (x == 0) {
    em = random ( 10 );
  }
  if (ti == 0) {
    ti = random ( 500, 1000 );
  }
  else {
    ti = ti - 1;
  }
  if (em >= 7)  {
    emx = random(0, 3);
    emy = random(0, 3);
  }

  // keybpard
  if (arduboy.pressed(LEFT_BUTTON)) {
    cx = cx - 1;	
    if (cx < 0) {
      cx = 0;
    }
  }
  if (arduboy.pressed(RIGHT_BUTTON)) {
    cx = cx + 1;
    if (cx > 2) {
      cx = 2;
    }
  }
  if (arduboy.pressed(UP_BUTTON)) {
    cy = cy - 1;
    if (cy < 0) {
      cy = 0;
    }
  }
  if (arduboy.pressed(DOWN_BUTTON)) {
    cy = cy + 1;
    if (cy > 2) {
      cy = 2;
    }
  }
  if (arduboy.pressed(A_BUTTON) == true and buffera == 0) {
    buffera = 1; at = 1; gun1 = gun1 - 1;
    if (gun1 < 0) {
      gamestate = 2;
    }
  }
  if (t < 0) {
    gamestate = 2;
  }
  arduboy.clear();
  arduboy.setCursor(57, 50);
  arduboy.print(gun1);
  arduboy.setCursor(69, 50);
  arduboy.print("/");
  arduboy.setCursor(75, 50);
  arduboy.print(gun2);
  arduboy.setCursor(57, 57);
  arduboy.print("T=");
  arduboy.setCursor(70, 57);
  arduboy.print(t);

  arduboy.setCursor(92, 0);
  arduboy.print(sc);
  arduboy.drawBitmap (40 + ((emx) * 16), 1 + (emy * 16), EM, 14, 14, WHITE);

  arduboy.drawBitmap (39, 0, BG, 49, 49, WHITE);
  arduboy.drawBitmap (0, 0, LP, 39, 64, WHITE);
  arduboy.drawBitmap (88, 0, RP, 40, 64, WHITE);
  arduboy.drawBitmap (39, 50, GUN, 14, 14, WHITE);
  if (at == 0) {
    arduboy.drawBitmap ((39 + (cx * 16)), (cy * 16), CR, 16, 16, WHITE);
  }


  if (at == 1) {
    arduboy.drawBitmap ((39 + (cx * 16)), (cy * 16), CR1, 16, 16, WHITE);
    arduboy.drawBitmap ((39 + (cx * 16)), (cy * 16), FIRE, 16, 16, WHITE);
    if ((emx == cx) and (emy == cy)) {
      sc = sc + 100;
    }
    if ((emx != cx) or (emy != cy)) {
      sc = sc - 5;
    }
  }
  at = 0;
  
  // Problem #16
  // '== true' is redundant
  
  if (arduboy.notPressed(A_BUTTON) == true  ) {
    buffera = 0;
  }
  t = t - 1;
  arduboy.display();
}

void gameover() {
  arduboy.setCursor(42, 14);
  arduboy.print( "Game Over" );
  arduboy.setCursor(24, 22);
  arduboy.print( "Your score is " );
  arduboy.setCursor(54, 32);
  arduboy.print( sc );
  arduboy.setCursor(25, 55);
  arduboy.print( "Push [B] Back" );
  arduboy.display();
  if (arduboy.pressed(B_BUTTON) and bbuffer == 0)  {
    bufferb = 1; gun1 = 99; sc = 0; ti = 0; t = 400;
    gamestate = 0;
  }
  if (sc > hi) {
    hi = sc;
  }
}

(Simon) #3

These are all things you learn in your third week of programming in c++.


(Ken Cheung) #4

Understand, I am still learning with Arduboy, thank you for reminding me. Now this game is a prototype, I am already making changes, so the second edition will be improved. Next I will provide an authorized game company to see my latest version. I hope Arduboy has more game company support. :bowing_man:t2::bowing_man:t2::bowing_man:t2:


(Ken Cheung) #5

I use the holiday time to study, so I don’t study every day. The collection time is about three weeks, and I spend most of my time testing the game writing features. Now everyone sees the “bio2” programming program is 4 hours, writing and screen design, because some pictures have been done before.


(Ken Cheung) #6

Update bio2 design & code


(Jean Charles Lebeau) #7

Pharap if only you could do same on my codes for META (You should do it too, i don’t want know about your lacke of time… :D) No eally, amazing works done on codes. Many thanks for your works.


(Jean Charles Lebeau) #8

You learn quickly and it’s amazing to have someone with your graphical talent and some people like Phaap to help you to progress to make games. Great works. You’ll make it doable. And gratz really for your artwork. Your screen will give challenge for vampirics… . Another graphist is in the place :smiley:


(Ken Cheung) #9

Thank you for your words, but I want to do what I like and support for others. I don’t want to disappoint those who support me. I hope more and more people will support me, and my heart will be satisfied!


(Pharap) #10

I don’t know much about the META, I don’t own one and I haven’t joined the forums.

I’d be happy to try to look for improvements in any C++ code though.

If you want me to look at your code and have a go at finding some improvements then just PM me.


#11

Hello everyone,

So in the end, I didn’t really catch if it’s just a demo, or the complete game?

Did you plan on putting it on github?

Question might be stupid, but I want to finish Arduventure before trying…


(Ken Cheung) #12

Thank you for your message, I put on Sendspace is temporary, may have passed the time limit. I will put github… but I am now urgently completing other demo games. So you have to wait. If you have any questions, please leave a message, or Twritter will find me immediately. thank you


(Simon) #13

How are these games going?


(Ken Cheung) #14

Will update it … l will flash update on there