Jump to content
IGNORED

FlappyBird test


tonma

Recommended Posts

I don't know how to check. I'll need to try with a little sprite. Maybe this come from not square or multiple of 2 image.

#define bg_COLORS       16
#define bg_WIDTH        160
#define bg_HEIGHT       102

Well, the next time, I'll not using hardware collision :-D

 

I think having a good version, without glitch. And I change the eeprom code in case.

 

flappyv002.zip

  • Like 2
Link to comment
Share on other sites

Everything else works except the eeprom. It is a while since I compiled anything using it. Now when I try I cannot get it to work.

 

Well, such is life. Hopefully I find the reason soon.

 

Actually, it may be a problem related to bytes vs shorts. I have to run a few tests.

Link to comment
Share on other sites

I don't know how to check. I'll need to try with a little sprite. Maybe this come from not square or multiple of 2 image.

#define bg_COLORS       16
#define bg_WIDTH        160
#define bg_HEIGHT       102

Well, the next time, I'll not using hardware collision :-D

 

I think having a good version, without glitch. And I change the eeprom code in case.

 

Nice! I like the new sound effects though I wish there was a way to incorporate the polyphonic version of Chicken Dance posted earlier. I got 31 on my second try, then couldn't do it again. I am slightly drunk right now, back from the pool hall with my fiance.

 

I noticed it is easier to flap upwards, to the point I can almost clear the ceiling with the bird. Also kudos on fixing the ROM so the high score retains on the flash cart (at least until power off). Also flip works beautifully now, and you can reset the high score with option 1 + 2.

 

Tonma, Karri, or Level42, do you think maybe one of you could create a preview screenshot for Lynx multicard users? I've got screenshots for all the licensed titles on my SD card, only lacking T-Tris and Flappy Bird so far... :grin: :thumbsup:

Link to comment
Share on other sites

Nice! I like the new sound effects though I wish there was a way to incorporate the polyphonic version of Chicken Dance posted earlier. I got 31 on my second try, then couldn't do it again. I am slightly drunk right now, back from the pool hall with my fiance.

 

I noticed it is easier to flap upwards, to the point I can almost clear the ceiling with the bird. Also kudos on fixing the ROM so the high score retains on the flash cart (at least until power off). Also flip works beautifully now, and you can reset the high score with option 1 + 2.

 

Tonma, Karri, or Level42, do you think maybe one of you could create a preview screenshot for Lynx multicard users? I've got screenshots for all the licensed titles on my SD card, only lacking T-Tris and Flappy Bird so far... :grin: :thumbsup:

Thanks, the modification you're asking make game better. For the music, I'm affraid but for now I need the other channel for the sfx.

 

My best score is 41.

 

For the preview screenshot, I have made 2 screenshots. I'm downloading the Tools for making lsd.

 

Everything else works except the eeprom. It is a while since I compiled anything using it. Now when I try I cannot get it to work.

 

Well, such is life. Hopefully I find the reason soon.

 

Actually, it may be a problem related to bytes vs shorts. I have to run a few tests.

 

Great, I'm sure you'll find it.

post-44532-0-66280600-1483778770.png

post-44532-0-39389500-1483778771.png

  • Like 1
Link to comment
Share on other sites

Et hop.

A preview screen in horizontal mode. Just need to change the name of the rom to flappy.lnx I think. only 8 characters.

Bmp and lsd zip file.

 

I've made a preview for t-tris too. I hope this will not disturb the programmer.

 

But I'm not sure of the color, I just change image to 16 colors, maybe the lynx palette will not be accurate.

flappy.bmp

flappy.zip

post-44532-0-68291000-1483780548.png

post-44532-0-19923700-1483780550_thumb.png

ttris.zip

Edited by tonma
  • Like 1
Link to comment
Share on other sites

OK, now I'll be able to think about my next project. A more bigger than flappy. :-D

I wish to make a game for Lynx / Jaguar as now we'll have jagsd. Maybe with DC version for more player. I just need to buy a jaguar, so bad the price is so high. Well not so high but I have not much money :-D

 

The most harder will be to find THE game. I love computer game like atari st. Viking child, wonderboy, cadaver, dungeon master, text adventure ... the choice is difficult because of the time I'll spend on the dev.

And I need to make graphics. I can also contact infogrames/atari for old licence like ivanhoe or titus/ Anuman Interactive for prehistorik.

 

I'm open to ideas.

 

Need only 25 posts for chatting, I will succeed.

Edited by tonma
Link to comment
Share on other sites

Flappy is simple and fun, love the colors of artwork. Good job with the project. I wonder how hard / expensive is to release something on cartridge?

 

Systems like Lynx, Jaguar deserve some good RPG like Eye of Beholder. But those kind of games are very time consuming, without a team will be hard i think. Personally i would like to give them a chance in future.

Link to comment
Share on other sites

Actually I do have a storyline and an idea of the gameplay in "Shaken, not stirred". It has evolved a bit since the 7DRL competition.

 

The objective: find and disarm a bomb

The sub-objectives: find and protect girls. If you succeed the girl gives you a hint of how to disarm the bomb and where the bomb is. Some girl may also reveal that another girl is a double-agent and lies. These are generated for every run.

Fight mechanism:

- single target dmg by shooting

- aoe damage by grenades (the girl will also take dmg)

- healing by martinis and by meeting the girl

Getting around:

- racer

- isometric 3D driving on a map

Combat

- 360 degree tiled surroundings

Character levelling:

- superfast leveling. You need to start with 1 or 2 enemies. Within a few rounds you can tackle 6-7 enemies.

 

Currently I have a lot of small code snippets written. But the progress is kind of slow. There is also very little text. What I would like is a small set of tutorial missions to get to know your car and weapons. And later perhaps a few different countries where the action takes place. Any help in form of text, graphics ideas, sounds and tuning the game modules is appreciated.

 

Rescue the girl, save the World.

post-2099-0-84381900-1483823782_thumb.png

  • Like 3
Link to comment
Share on other sites

:lol: :lolblue:

Yep, I saw that after my post on Google. Did you test the preview file ?

 

 

Actually I do have a storyline and an idea of the gameplay in "Shaken, not stirred". It has evolved a bit since the 7DRL competition.

 

 

 

Currently I have a lot of small code snippets written. But the progress is kind of slow. There is also very little text. What I would like is a small set of tutorial missions to get to know your car and weapons. And later perhaps a few different countries where the action takes place. Any help in form of text, graphics ideas, sounds and tuning the game modules is appreciated.

 

Rescue the girl, save the World.

attachicon.gifpost-9364-0-29845600-1437460357.png

Nice game and image, I'll test it this week. Compilation and playing game.

I'm not good for graphics / sound but I will read the code if I can work on modules. No promise.

 

Flappy is simple and fun, love the colors of artwork. Good job with the project. I wonder how hard / expensive is to release something on cartridge?

 

Systems like Lynx, Jaguar deserve some good RPG like Eye of Beholder. But those kind of games are very time consuming, without a team will be hard i think. Personally i would like to give them a chance in future.

 

Yep flappy is really simple game.

I really love eye of beholder / dungeon master game. The main difficulty for me is the graphics. But doing something like that for the jaguar / lynx would be an honor for me. It remains to be seen whether I can recover the licenses for the graphics or if I have to redo everything from zero.

 

EA / Dungeons & Dragons for Eye Of Beholder or maybe lands of lore. I may ask to gog.

 

Or something like this but not original : http://opengameart.org/sites/default/files/composite_preview.png

Edited by tonma
Link to comment
Share on other sites

The 7DRL "Shaken, not stirred" was completely written in 5 evenings and a week-end. Actually 4 evenings as my wife wanted to go out dancing with me on one evening. So it is just a quick hack. My recent code snippets are not in the repository.

  • Like 1
Link to comment
Share on other sites

The eeprom routines seem to be missing from the Lynx include directory. After playing around with the chips I can confirm that the modern chips have an implicit erase before write. This means that you need to define just two functions.

unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr);
unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val);

A working high score example is below. It prints the current high score and increments it with one and stores it in eeprom.

/*
 * Increment the eeprom location at 0 with one
 */
#include <lynx.h>
#include <tgi.h>
#include <6502.h>
#include <stdlib.h>
#include <string.h>

unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr);
unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val);

static void initlynx() {
    tgi_install(&tgi_static_stddrv);
    tgi_init();
    CLI();
};

void main(void)
{
    unsigned val;
    char buf[32];
    initlynx();
    tgi_clear();
    tgi_setcolor(COLOR_GREEN);

    // Read the initial higg score
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(0, 0, utoa(val, &buf[0], 16));

    // Write the new high score
    lynx_eewrite_93c46(0, val + 1);
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(50, 0, utoa(val, &buf[0], 16));

    tgi_updatedisplay();
    while (1) ;
}

I hope you can fix this code to flappy.

Link to comment
Share on other sites

The 7DRL "Shaken, not stirred" was completely written in 5 evenings and a week-end. Actually 4 evenings as my wife wanted to go out dancing with me on one evening. So it is just a quick hack. My recent code snippets are not in the repository.

And the night you spent dancing is all that matters in the end... :love:

 

Nice game concept btw, can't wait to try it. ;-)

 

 

Yep, I saw that after my post on Google. Did you test the preview file ?

 

Not yet. I did play test flappy v2, and the extra effects are nice. Haven't downloaded anything more recent yet.

Link to comment
Share on other sites

Thanks for your code, I'll make a test.

 

I test a racing game EXP +10 :-D

I also looked to make an game like awesome golf, but I do not know how to checke ground collisions state : Fairways, bunker, green. An array would be too heavy, perhaps a false image in 4 colors and read the color to determine an area.

 

 

post-44532-0-54052400-1483952725_thumb.png

  • Like 1
Link to comment
Share on other sites

I try your code but weird result on emulator : test with mednafen and handy 0.971

 

I change base 16 to base 10 but with same results.

I try with the two : tgi_install(&lynx_160_102_16) or tgi_install(&tgi_static_stddrv);

 

I always have 0xFFFF in eeprom. Does it works on emulator ?

#include <lynx.h>
#include <tgi.h>
#include <6502.h> 
#include <joystick.h>
#include <stdlib.h>
#include <string.h>


unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr);
unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val);


void main()
{

unsigned val;
char buf[32];



  joy_install(&lynx_stdjoy);
  //tgi_install(&lynx_160_102_16);
  tgi_install(&tgi_static_stddrv);
  tgi_init();
  tgi_setcollisiondetection(1);
  lynx_snd_init();
  CLI();

  tgi_setcolor(COLOR_WHITE);
  tgi_clear();
	

// Read the initial higg score
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(0, 0, utoa(val, &buf[0], 10));

// For testing
    val = 12;
    tgi_outtextxy(50, 20, utoa(val, &buf[0], 10));

// Write the new high score
    lynx_eewrite_93c46(0, val);
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(50, 0, utoa(val, &buf[0], 10));



  while (1) {
	

  }

}

post-44532-0-85562500-1483954236_thumb.png

Link to comment
Share on other sites

On the real cart I started by writing a 0 in the eeprom. During the first run I get 0 1. During the 2nd run 1 2 and so on.

 

An empty eeprom contains only 0xffff. So an "erase score" should do a write 0 to the eeprom. After that if the score is higher it will overwrite the previous result. Obviously 0xffff is the highest possible value.

 

I hope to get the first cart made today. If it works ok I put it in the mail for you :)

 

Most of these routines have been written by sage. The big idea seems to be that you should always be able to use 16-bit address and 16-bit data for both input and output.

 

Actually the __fastcall__ directive in

unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr);

will move the addr into register A.

 

If you would use

unsigned __fastcall__ lynx_eeread_93c46(unsigned addr);

then the addr goes into AX.

 

For other eeproms where you have more cells you must use 16-bit addresses in any case.

unsigned int __fastcall__ lynx_eeread_93c66(unsigned int addr); // 512 byte eeprom
unsigned int __fastcall__ lynx_eeread_93c86(unsigned int addr); // 2048 byte eeprom
unsigned int __fastcall__ lynx_eeread_24aa512(unsigned int addr); // 65536 byte eeprom

I also have 2048 byte eeproms and a new 65536 byte eeprom. The last one still lacks the driver. But I would like to try out some games that require building/destroying the scenery like Worms, Settlers or Minecraft. They could really use a large read/write store.

 

It might even be possible to port the Chipper sequencer to the Lynx. You could create your music and work on the score while it is in eeprom. Once the music is ready you could read the eeprom by ComLynx or by a cart reader.

Edited by karri
Link to comment
Share on other sites

Thanks for your code, I'll make a test.

 

I test a racing game EXP +10 :-D

I also looked to make an game like awesome golf, but I do not know how to checke ground collisions state : Fairways, bunker, green. An array would be too heavy, perhaps a false image in 4 colors and read the color to determine an area.

 

 

 

For the racer - don't spill the beans too much yet. There may be some small games coming out with that engine by others...

Link to comment
Share on other sites

About the emulator... Perhaps you need to add some description in the lnx header to tell the emulators what kind of eeprom is connected.

 

Actually Sage posted about this.

 

http://atariage.com/forums/topic/247442-further-emulator-development/?p=3442241

 

I tried to change the header, but I have the same result. Not working:

;
; Karri Kaksonen, 2011
;
; This header contains data for emulators like Handy and Mednafen
;
	.import		__BLOCKSIZE__
	.export		__EXEHDR__: absolute = 1


; ------------------------------------------------------------------------
; EXE header
	.segment "EXEHDR"
	.byte	'L','Y','N','X'				; magic
	.word	__BLOCKSIZE__				; bank 0 page size
	.word	__BLOCKSIZE__				; bank 1 page size
	.word	1					; version number
	.asciiz	"Cart name                      "	; 32 bytes cart name
	.asciiz	"Manufacturer   "			; 16 bytes manufacturer
	.byte	1					; rotation 1=left
							; rotation 2=right
	.byte	0				; aud_bits
	.byte	1				; epprom 93c46
	.byte	0,0,0				; spare

I tried your code again and again but it's not working on emulator : (I tried to add an eeprom_write at the beginning)

/*
 * Increment the eeprom location at 0 with one
 */
#include <lynx.h>
#include <tgi.h>
#include <6502.h>
#include <stdlib.h>
#include <string.h>

unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr);
unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val);

static void initlynx() {
    tgi_install(&tgi_static_stddrv);
    tgi_init();
    CLI();
};

void main(void)
{
    unsigned val;
    char buf[32];
    initlynx();
    tgi_clear();
    tgi_setcolor(COLOR_GREEN);

 
    lynx_eewrite_93c46(0, 0);

    // Read the initial higg score
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(0, 0, utoa(val, &buf[0], 16));


if (val == 0xFFFF) {
  lynx_eewrite_93c46(0, 0);
      tgi_outtextxy(40, 40, utoa(val, &buf[0], 16));
 }

    // Write the new high score
    //lynx_eewrite_93c46(0, val + 1);
    val = lynx_eeread_93c46(0);
    tgi_outtextxy(50, 0, utoa(val, &buf[0], 16));

    tgi_updatedisplay();
    while (1) ;
}

I write 0 in eeprom and after I test val, but I always have 0xFFFF dans val.

 

But if you say your code works, I just insert it in my code and give you a new version of flappy.

Link to comment
Share on other sites

Flappy times are here again!

 

I asked my wife if I should spend some time testing the Flappy bird carts.

 

She said "NO, mail them now!"

 

So very soon the fellow developers will enjoy the latest and greatest Flappy bird Lynx release. Enjoy, the cart is in the mail.

 

post-2099-0-82710000-1484071520_thumb.jpg

 

  • Like 3
Link to comment
Share on other sites

There is a few extra carts made. As flash carts and SD carts are still not available to all Lynxers you have a chance for a limited time to get one of the most annoying test release game ever made for your belowed Lynx. The link below goes to my paypal karri at sipo fi address. The price €13 includes posting.

 

post-2099-0-96459300-1484118395_thumb.png

  • Like 4
Link to comment
Share on other sites

 

Flappy times are here again!

 

I asked my wife if I should spend some time testing the Flappy bird carts.

 

She said "NO, mail them now!"

 

So very soon the fellow developers will enjoy the latest and greatest Flappy bird Lynx release. Enjoy, the cart is in the mail.

 

attachicon.gifdelivery.jpg

 

 

:-D

 

Thanks, I'm impatient to test it. Good work.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...