Archive of the Gamebuino Classic forum (2014-2018), rebuilt from the pages kept by the Wayback Machine: only part of the topics and pages were captured. Read-only. Removal on request: hi@gamebuino.com.
Forum › Project Guidance & Game development
Parachute - help on dev
jicehel Sat Aug 12, 2017 9:28 am
Hi guys, i program in my free times sinces years but not in C and not with arduino
I like the Gamebuino (mine is a Makerbuino but it's same) and i try to convert a classic Game & watch to learn how to pogam it and make some new games for us (will do easy one atm to success them and maybe i'll try harder later but atm i need to learn)
I have begin the pogam but before to continue (and maybe finish it), i need help to understand why the boat move sometimes when paratroopers are swimming. It should be a logical error or maybe a syntx error but i miss it.
Some more experimented dev could maybe find the error easy and sorry for my english level (i'm french)
I post the pogram and thanks for the one who will be able to explain me the error and maybe give advice to perfect the program ;)
I like the Gamebuino (mine is a Makerbuino but it's same) and i try to convert a classic Game & watch to learn how to pogam it and make some new games for us (will do easy one atm to success them and maybe i'll try harder later but atm i need to learn)
I have begin the pogam but before to continue (and maybe finish it), i need help to understand why the boat move sometimes when paratroopers are swimming. It should be a logical error or maybe a syntx error but i miss it.
Some more experimented dev could maybe find the error easy and sorry for my english level (i'm french)
I post the pogram and thanks for the one who will be able to explain me the error and maybe give advice to perfect the program ;)
- Code: Select all
/*------------------------------------------
Parachute remake for Makebuino
v0.3 by Jicehel Date:05/08/017
Based on Nintendo Game & Watch Parachute
Thanks to Luis Dominguez - LADBSoft.com
for the examples with “Firebuino”
--------------------------------------------
Last changes:
- Add full graphics
- Add Helico animation
- Add Paratroopers animation
- Add Misses and swimmer animation
- Add score
--------------------------------------------
To do:
- Change and adjust speed quickest when the score growth
------------------------------------------*/
#include <Gamebuino.h>
#include <EEPROM.h>
#include <SPI.h>
Gamebuino gb;
long score;
long highscore;
short misses;
short manage_joystick;
short BoatPosition;
short moveTick;
short spawnDelay;
short spawnCount;
short Nb_Parachutes_launched;
short Position_Parachute[10];
short Colonne_Para;
short Position_Para;
short shark_anim;
short helico_anim;
short vitesse_pales;
byte gameState;
byte speedmax;
int compteur;
short x;
// const int JoyY_pin = A5; // Analog pin connected to joystick's Y axis output (not used in parachute)
const int JoyX_pin = A4; // Analog pin connected to joystick's X axis output
int JoyX_pos = 0; // Variable to store position of joystick's Y axis
const byte barque[] PROGMEM = { 16,7,
B00111000,B00000000,B01011100,B00000000,B01111000,B00000000,B00110000,B00000000,B11011100,B00000000,B11111111,B11111111,B11001111,B11111110,};
const byte requin_m[] PROGMEM = { 16,6,
B00000000,B00111000,B11000001,B11111000,B11110110,B11010000,B11111111,B10000000,B01111110,B00110000,B11111111,B11110000,};
const byte aileron[] PROGMEM = { 8,8,
B00010000,B01110000,B01110000,B11110000,B00000000,B00000000,B00000000,B00000000,};
const byte titleScreenBitmap[] PROGMEM = {80,32,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x0,0x0,0x0,
0x1,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x0,0x0,0x0,0x3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x0,0x0,0x0,0x3,0xE0,0x0,0x0,0x1,0xFF,0xF0,0x0,0x0,0x0,0x3,0xE0,0x0,0x4F,0x9,0xFD,0xF0,0x0,0x0,0x0,
0x3,0xE0,0x0,0x3F,0x80,0xAB,0xF0,0x0,0x0,0x0,0x3,0xE1,0xE0,0xE7,0xC2,0xFF,0xF0,0x0,0x0,0x0,0x3,0xFF,0xF1,0xFF,0xE1,0x29,0xF0,0x0,0x0,0x0,0x3,0xFF,0x81,0x89,0xE3,0xFD,0xF0,0x0,0x0,0x0,
0x3,0xFF,0x81,0xC9,0xE1,0xFF,0xF0,0x0,0x0,0x0,0x3,0xFF,0x81,0x4E,0x20,0xF9,0xF0,0x0,0x0,0x0,0x3,0xF6,0xE0,0x36,0x50,0x67,0xF0,0x0,0x0,0x0,0x3,0xF0,0x0,0x1F,0xA0,0x27,0xF0,0x0,0x0,0x0,
0x3,0xFC,0x0,0x7D,0x0,0xF,0xF0,0x0,0x0,0x0,0x3,0xFC,0x0,0x37,0x0,0x1F,0xF0,0x0,0x0,0x0,0x3,0xF8,0x7B,0x22,0x1,0xFF,0xF0,0x0,0x0,0x0,0x3,0xF8,0x3,0xF0,0x0,0x7,0xF0,0x0,0x0,0x0,
0x3,0xFF,0x80,0x80,0x0,0x7,0xF0,0x0,0x0,0x0,0x3,0xF8,0x0,0x0,0x19,0x87,0xF0,0x0,0x0,0x0,0x3,0xE0,0x0,0x1,0xF2,0x87,0xF0,0x0,0x0,0x0,0x3,0xF0,0x72,0x80,0x78,0x1,0xF0,0x0,0x0,0x0,
0x3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x0,0x0,0x0,0x3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x0,0x0,0x0,0x1,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
const byte Helice[] PROGMEM = {8,1,B11111000,};
const byte Helico[] PROGMEM = {24,10,
B00000100,B00000000,B00000000,B00000100,B00000100,B00000000,B00001110,B00000100,B00000000,B00011111,B00011111,
B00000000,B00011111,B11111001,B10000000,B00011110,B10101000,B11000000,B00001110,B10101111,B11000000,B00000111,
B11111111,B10000000,B00000011,B00000110,B00000000,B00000011,B00000110,B00000000,};
const byte Noye_1[] PROGMEM = {16,5,B01000100,B01000000,B00001110,B00000000,B10101010,B10000000,B00011111,B00000000,B00001110,B00000000,};
const byte Noye_2[] PROGMEM = {16,5,B00000000,B01000000,B01001110,B00000000,B00001101,B01000000,B00111111,B00000000,B00001110,B00000000,};
const byte Para_1[] PROGMEM = {8,8,B00000100,B00100111,B00110011,B10011111,B11011100,B01111111,B00110010,B01100000,};
const byte Nageur[] PROGMEM = {8,5,B01000000,B11101110,B11111111,B00011110,B01111100,};
const byte Parra_m[] PROGMEM = {8,5,B00001100,B10110110,B10000110,B11111100,B00111100,};
const byte Para_2[] PROGMEM = {16,11,
B00000000,B00011000,B00000000,B00111000,B00011100,B01110000,B00111100,B11100000,B10011101,B11000000,B01101111,
B00000000,B00011110,B00000000,B01111111,B00000000,B11011001,B10000000,B00110000,B00000000,B01100000,B00000000,};
const byte Para_3[] PROGMEM = {16,15,
B00000001,B10000000,B00000011,B10000000,B00000111,B10000000,B00001101,B00000000,B00011011,B00000000,B00011110,
B00000000,B00000100,B00000000,B00111000,B00000000,B00111100,B00000000,B00111000,B00000000,B10011011,B00000000,
B01111100,B00000000,B00110000,B00000000,B01010000,B00000000,B11011000,B00000000,};
const byte Para_4[] PROGMEM = {16,17,
B00001111,B11100000,B00111011,B11111000,B01110011,B11011100,B11100111,B11001110,B11111111,B11001110,B11100100,
B11111110,B10000100,B01001110,B01000100,B01000010,B00100100,B11000100,B00010111,B11001000,B00001101,B11010000,
B00000111,B11100000,B00000001,B10010000,B00000001,B11110000,B00011011,B10000000,B00001100,B11100000,B00000000,B00110000,};
const byte Para_5[] PROGMEM = {24,18,
B00000011,B11100000,B00000000,B00011111,B11111000,B00000000,B00111001,B11111110,B00000000,B01110001,B11111111,
B00000000,B01110011,B11111011,B10000000,B11111111,B11111001,B10000000,B11000111,B01111001,B11000000,B10000010,
B00011111,B11000000,B01000010,B00001011,B11000000,B00100011,B00001000,B11000000,B00010111,B10010000,B01000000,
B00001011,B10010001,B10000000,B00100101,B10111110,B00000000,B00110111,B01100000,B00000000,B00011111,B11100000,
B00000000,B00100011,B00000000,B00000000,B00111111,B11110000,B00000000,B00110000,B01100000,B00000000,};
const byte Miss[] PROGMEM = {8,5,B11000000,B11100100,B11111100,B01111100,B11001100,};
#define NUM_SPRITES 5
const byte* shark[NUM_SPRITES] = {
aileron, //0
aileron, //1
aileron, //2
aileron, //3
requin_m //4
};
const byte subBackgroundBitmap[] PROGMEM = {88,48,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,
B11101001,B10001000,B10110101,B01111011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B10110101,B01010101,B01110101,B01010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B11011101,B10011101,B00111101,B01010011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B10010101,B01010101,B01110101,B01010010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B10010101,B01010100,B10110101,B11010011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00011010,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B01101110,B10100111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B01111111,B11111101,B01110100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B11111111,B01001000,B00010000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B10110000,
B10011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11001101,B10110000,
B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011110,B11111111,B11110000,
B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111,B11110000,
B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B11110000,
B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000010,B01111111,B01111111,B11100000,
B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000100,B11111011,B10110000,
B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111001,B11000000,
B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B10101000,B11000000,
B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B11100000,
B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11110000,
B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11110000,
B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11110000,
B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11110000,
B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11110000,
B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11110000,
B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11110000,
B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11110000,
B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11110000,
B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,
B11111000,B00000000,B00000000,B00000000,B00000000,B00111000,B00000000,B00000000,B00000000,B00000000,B01110000,
B11110000,B11110011,B00011110,B01100001,B11111001,B11111100,B11001111,B11100000,B00010000,B00100000,B11110000,
B00000000,B00000100,B00000000,B00000000,B00000000,B01000000,B00000000,B00110000,B00000000,B00000000,B00000000,
B11100000,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00001110,B00000000,B00000000,B00000000,B00000000,B00001000,B00000000,B00000011,B11110001,B11000011,B11100000,
B11110001,B11100000,B00000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00001111,B00111111,B00000000,
B00001110,B00000000,B00000000,B01111100,B00001111,B00111110,B00000000,B00000000,B00000000,B11000000,B00000000,
B11000000,B01111100,B00000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000001,B11110000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110000,
B00000000,B00000001,B11111001,B11100001,B11110011,B11000111,B11111100,B00001111,B10000000,B00000000,B00000000,
B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00010000,};
void initGame() {
gb.pickRandomSeed();
misses = 0;
score = 0;
BoatPosition = 1;
spawnDelay = 45;
shark_anim = 0;
speedmax = 30;
helico_anim = 0;
vitesse_pales = 5;
moveTick = speedmax;
spawnCount = spawnDelay;
manage_joystick = 0;
}
void setup() {
gb.begin();
// gb.display.setFont(font5x7); //change the font to the large one
gb.titleScreen(F("Parachute"), titleScreenBitmap);
gb.pickRandomSeed(); //pick a different random seed each time for games to be different
gb.battery.show = false;
//############################################################
// pinMode(JoyY_pin, INPUT); //Configures pin on microcontroller
pinMode(JoyX_pin, INPUT);
//############################################################
initGame();
}
void anim_shark() {
switch (shark_anim) {
case 0 :
break;
case 1 :
gb.display.drawBitmap(40 , 38, shark[shark_anim - 1]);
break;
case 2 :
gb.display.drawBitmap(22 , 38, shark[shark_anim - 1]);
break;
case 3 :
gb.display.drawBitmap(13 , 42, shark[shark_anim - 1],0,FLIPH);
break;
case 4 :
gb.display.drawBitmap(29 , 42, shark[shark_anim - 1],0,FLIPH);
break;
case 5 :
gb.display.drawBitmap(48 , 40, shark[shark_anim - 1]);
break;
case 6:
// Traiter la fin de l’animation du requin
shark_anim = 0;
break;
}
gb.sound.playTick();
}
void anim_helico() {
switch(helico_anim) {
case 0:
gb.display.drawBitmap(65 , 0, Helice);
gb.display.drawBitmap(71 , 0, Helice);
break;
case 1 :
gb.display.drawBitmap(65 , 0, Helice);
gb.display.drawBitmap(71 , 0, Helice);
gb.display.drawBitmap(73 , 1, Helice);
gb.display.drawBitmap(79 , 1, Helice);
break;
case 2 :
gb.display.drawBitmap(73 , 1, Helice);
gb.display.drawBitmap(79 , 1, Helice);
break;
case 3 :
helico_anim = 0;
break;
}
}
void anim_para() {
for (compteur = 0 ; compteur < Nb_Parachutes_launched ; compteur++)
{
if (compteur > 0) {
Colonne_Para = Position_Parachute[compteur] / 10;
Position_Para = Position_Parachute[compteur] - Colonne_Para*10;
Dessine_Para(Colonne_Para,Position_Para);
if ((Position_Para >= 4+Colonne_Para) && (Colonne_Para <=3) ) Test_Barque(Colonne_Para,compteur);
else if (moveTick==0) Position_Parachute[compteur]++ ;
}
}
}
void Dessine_Para(short X, short Y) {
// Dessine le para en fonction de sa colonne (1 à gauche et 3 à droite) et de sa position
if (X < 4) {
switch(Y) {
case 1:
gb.display.drawBitmap(72 - 6*X , 9 - 3*X, Para_1);
break;
case 2:
gb.display.drawBitmap(67 - 7*X , 11 - 3*X, Para_2);
break;
case 3:
gb.display.drawBitmap(56 - 6*X , 14 - 5*X, Para_3);
break;
case 4:
gb.display.drawBitmap(54 - 8*X , 15 - (X-1)*4, Para_4);
break;
case 5:
gb.display.drawBitmap(56 - 12*X , 12 + (3 - X)*3, Para_5);
break;
case 6:
if (X==2) gb.display.drawBitmap(29 , 17, Para_5);
else gb.display.drawBitmap(17 , 14, Para_5) ;
break;
case 7:
gb.display.drawBitmap(13 , 17, Para_5);
break;
case 8:
break;
}
} else {
switch(Y) {
case 1:
gb.display.drawBitmap(48 , 39, Noye_1);
break;
case 2:
gb.display.drawBitmap(30 , 39, Noye_2);
break;
case 3:
gb.display.drawBitmap(14, 39, Noye_2,0,FLIPH);
break;
case 4:
gb.display.drawBitmap(21, 43, Nageur);
break;
case 5:
gb.display.drawBitmap(37, 43, Nageur);
break;
case 6:
gb.display.drawBitmap(37, 43, Parra_m);
break;
case 7:
Nb_Parachutes_launched --;
break;
}
}
}
void Test_Barque(int colonne, int para_courant) {
int X;
// Test si la barque est sous le para => score ou passe le para en mode nageur (colonne théorique: 4) ...
if (colonne == BoatPosition ) {
score ++;
if (para_courant < Nb_Parachutes_launched) Position_Parachute[para_courant] = Position_Parachute[Nb_Parachutes_launched];
Nb_Parachutes_launched--;
} else {
misses++;
Position_Parachute[1] = 4*10 + colonne;
shark_anim = colonne;
for (X = 2; X < Nb_Parachutes_launched ; X++) Position_Parachute[X] = 0;
Nb_Parachutes_launched == 1;
spawnCount = spawnDelay;
}
}
void loop() {
// Gestion du Joystick // Comments
if(analogRead(JoyX_pin) <= 600) JoyX_pos = 1; // Joystick is in left position
else if(analogRead(JoyX_pin)>= 700) JoyX_pos = 2; // Joystick is in right position
else JoyX_pos = 0; // Joystick is inside dead spot at or near its home positon
if (gb.update()) {
//pause the game if C is pressed
if(gb.buttons.pressed(BTN_C)){
gb.titleScreen(F("Parachute"), titleScreenBitmap);
gb.battery.show = false;
// gb.display.fontSize = 2;
}
gb.display.drawBitmap(0, 0, subBackgroundBitmap);
// Animtion de l'hélicoptère
gb.display.drawBitmap(65 , 0, Helico);
anim_helico;
vitesse_pales--;
if (vitesse_pales < 0) {
helico_anim++;
vitesse_pales = 5;
}
// Animation de la barque
if(gb.buttons.pressed(BTN_LEFT) || gb.buttons.pressed(BTN_A) || (JoyX_pos == 1 && manage_joystick== 1)){
if (BoatPosition > 1) BoatPosition--;
}
if(gb.buttons.pressed(BTN_RIGHT) || gb.buttons.pressed(BTN_B) || (JoyX_pos == 2 && manage_joystick== 1)){
if (BoatPosition < 3) BoatPosition++;
}
gb.display.drawBitmap(BoatPosition * 16 - 8 , 30, barque);
// Animtion des parachutistes
anim_para();
spawnCount--;
if ((spawnCount < 1) && (random(6)< 2)) {
spawnCount = int(random(3))+1;
Nb_Parachutes_launched++;
Position_Parachute[Nb_Parachutes_launched] = spawnCount*10+1;
spawnCount = spawnDelay;
}
// Animation du requin
if (moveTick > 0) moveTick --;
else {
if ((shark_anim > 0) || ((shark_anim == 0) && (random(50) < 5))) shark_anim++;
moveTick = speedmax;
}
anim_shark();
}
}
jicehel Mon Aug 14, 2017 10:50 am
I don't understand why my boat go in position 0 when parachutes go in water... Some errors to correct...
I send a link it's can be more usefull to catch code https://pastebin.com/raXdUjgB
I send a link it's can be more usefull to catch code https://pastebin.com/raXdUjgB
jicehel Mon Sep 18, 2017 3:36 pm
The game have progressed. I have correct some bugs and now the game is playable (but not finished)
I’ll take all good idea to perfect this part of the code and the gameplay before adding the last things (missed count, end of game, 200 and 500 bonuses and trying to find a better adjustement of speed / launching paratroopers and let time to move to catch them).
Another little bad bug is the repeat display of a sprite after the deletation of another (paratrooper catched by boat)
So any advice, any solution to perfect or corect something is Welcome
Code is posted here: https://pastebin.com/cbsMrFrm
I’ll take all good idea to perfect this part of the code and the gameplay before adding the last things (missed count, end of game, 200 and 500 bonuses and trying to find a better adjustement of speed / launching paratroopers and let time to move to catch them).
Another little bad bug is the repeat display of a sprite after the deletation of another (paratrooper catched by boat)
So any advice, any solution to perfect or corect something is Welcome
Code is posted here: https://pastebin.com/cbsMrFrm
jicehel Wed Sep 20, 2017 8:51 pm
No tester yet ? No idea to perfect it ? To correct the bug of the display again a paratrooper when another is catched by the boat ? Or to have a better launch of the troopers for more fun ?
erico Wed Sep 20, 2017 9:30 pm
I could give a try, but currently don´t have the programs set up to compile it.
I like the "parachute" idea, I used to have Octopuss and donkey jr. :)
I like the "parachute" idea, I used to have Octopuss and donkey jr. :)
jicehel Wed Sep 20, 2017 9:47 pm
I'll try to complete Parachute first but Octopus can be done too (the graphic and the gameplay are easy). If i do i'll need help to to adjust the gameplay it's the most important thing: make the game fun. Technically making the graphics and anim the diver are easy but make a good timing and speed, add the bip t the good moment need to know the game and to test ;)
This game it's not mine, i only adapt an old good game fom Nintendo so all can propose adjustement and try to perfect it to have another good game on ou Game or Makerbuino. Thanks aleady for your tests and help
This game it's not mine, i only adapt an old good game fom Nintendo so all can propose adjustement and try to perfect it to have another good game on ou Game or Makerbuino. Thanks aleady for your tests and help
erico Sat Sep 23, 2017 7:15 am
Don´t worry about the octopuss, how is the parachute going?
Can you upload an hex? or show some screen shots?
Can you upload an hex? or show some screen shots?
jicehel Sat Sep 23, 2017 8:51 am
yes, i have just to read how do an hex, it should not be long. I post it soon ;)
jicehel Sat Sep 23, 2017 10:02 am
Done. It's easy to understand on wiki ;) I have make an hex of the actual version (it' not complete, the missed managment isn't coded, the sound isn't coded, the scores bonus aren't coded and the system of speed change and regulation of paratroopers launch have to be perfect).
I want fist have the speed and launch paratrooper fixed before coding the other things. I have the originals sound on wav fomat and i have to find how to play them good or thing something like them)
Enough talked, this is the actual HEX (I have make a zip as Hex can't be attached as attachment)
I want fist have the speed and launch paratrooper fixed before coding the other things. I have the originals sound on wav fomat and i have to find how to play them good or thing something like them)
Enough talked, this is the actual HEX (I have make a zip as Hex can't be attached as attachment)
Attachments: Parachute.zip
erico Sat Sep 23, 2017 3:42 pm
I will give a try then!
edit: Just tried, it looks awesome! You even got the sharks swimming about! :D
edit: Just tried, it looks awesome! You even got the sharks swimming about! :D
jicehel Sun Sep 24, 2017 8:27 am
Thanks but i have a hard thing to do to adjust the gameplay and all idea to configure it fine (or better part of code to do it :D)
Then this part will we be good, adding the misses, end of game and bonuses will be quick. After i'll have to do little works to reproduce sounds.
Then the game mode A will be complete and i'll have to think if i try to do mode B or not (mode B add 4 sprites and a little managment of the random release of paratroopers but if the first step is well done i think i could use same mechanical to know when i can release them)
Then this part will we be good, adding the misses, end of game and bonuses will be quick. After i'll have to do little works to reproduce sounds.
Then the game mode A will be complete and i'll have to think if i try to do mode B or not (mode B add 4 sprites and a little managment of the random release of paratroopers but if the first step is well done i think i could use same mechanical to know when i can release them)