Author Topic: Pokémon Amber  (Read 27230 times)

0 Members and 1 Guest are viewing this topic.

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Pokémon Amber
« Reply #15 on: July 17, 2013, 07:43:59 pm »
I know first hand about that DJ! I wrote a custom unaligned sprite routine that I wanted to compare to the Zoomin' Mob Routine (old school ;)) and it would smoke my routine unless the sprite happened to be aligned when my routine would whip it across the screen! This shouldn't have that issue though because the sprites are all aligned. The screen is drawn and the main character is drawn over it. (:w00t: Right ??)

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Pokémon Amber
« Reply #16 on: July 18, 2013, 10:02:48 am »
The way I have it is the tilemap is drawn to the graph screen (plotSScreen, 9340h) and certain 'events' such as NPCs, the player sprite, items, movable boulders, and anything else blocking paths are drawn to two other buffers (one buffer for the sprite mask, the other for the sprite data). Then during the LCD update, I just take the three layers and mash them together. My LCD updating code is basically:
Code: [Select]
     ld hl,gBuf
     exx
     ld hl,buf0
     ld de,buf1
     exx
     ld a,20h
colm:
     out (16),a
     inc a
     cp 2Ch
     ex af,af'
     ld b,40h
rowm:
     ld a,(hl)
     exx
     or (hl)
     ex de,hl
     xor (hl)
     ex de,hl
     inc de
     inc hl
     exx
     inc hl
     out (17),a    ;79 t-states is enough
     djnz rowm
     lcddelay()
     ex af,af'
     jr nz,colm
     res lcdupdate,(iy+asmflags)
     ret

While the tilemap is drawn with aligned sprites (it is more 10 than times faster than my general sprite routine, I think), scrolling the screen will still take a speed hit and the difference will be noticeable from scrolling up/down versus left and right. By my estimate, scrolling the screen left/right will be about 4 times slower, so I will have to add in additional code to keep scrolling consistent.

Here is a screenshot from another project where I wrote a tilemap routine:

That is with basically no delays, but also no smooth scrolling. This is an example from the same project with smoothscrolling:

Since Pokémon Amber uses a different gBuf setup, (and since tilemapping and whatnot is done from an interrupt), I don't know how speeds will compare. However, that is basically the same technique I plan to use. Shift the screen, shifting in the appropriate sprite data. This is why it will shift in whole tiles 1 pixel at a time. I won't have to do anything too complicated or slow.

(screenshots are from the OmniRPG - Coding discussion)
I wonder if I should use those tiles? ...

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Pokémon Amber
« Reply #17 on: July 18, 2013, 10:11:29 am »
wow, just wow

how do you do that kinda stuff xeda :crazy:

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Pokémon Amber
« Reply #18 on: July 20, 2013, 09:09:40 pm »
To answer DJ_O about the missingno. question, I don't plan to add that in.

Now I have another small update (I am afraid that I am concentrating too much on details, now). A few days ago, I had some scrolling done, but it didn't scroll in the new tiles, making it bad looking. I now have smoothscrolling finished for up/down, but now I need to finish left/right. Luckily, I have an idea for how to make it work (and it will be about the same speed as scrolling up or down). As well, I found a small issue with my code that was actually slowing down animation significantly. I was resetting the wrong flag in a routine, causing the tilemap to be redrawn and the LCD to be updated every time the interrupt fired (instead of when a tile went to the next animation frame). After fixing that and taking out about a 1000 cycles of code on top of it, I had to increase the animation counter from 16 to 128 to make it reasonable :P


Oh, I also added an in-game menu with options that don't do anything (except the Options menu and Exit). I forgot to include it in the screenshot, but maybe I won't next time :P

The character sprite does actually have a walking animation, but it isn't very good and you can't easily see it. I am thinking of making the character sprite 16x16, keeping 8x8 tiles, but I haven't decided on that yet (you can see a lot more on screen with 8x8 tiles and 8x8 character sprite).

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Pokémon Amber
« Reply #19 on: July 20, 2013, 09:40:54 pm »
Can you port it to nspire?
But... don't you have the GameBoy Color emu and the GameBoy Advance emu for the Nspire already ?
But this is better than any official Pokemon game ;D

Seriously, it looks good so far, especially the graphics. I want to play this game!




Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Pokémon Amber
« Reply #20 on: July 21, 2013, 08:13:04 am »
HI!

Also, that is looking awesome

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Pokémon Amber
« Reply #21 on: July 21, 2013, 09:05:40 am »
Can you port it to nspire?
To answer your question, you could use Jacobly's TI-84+SE emulator or an 84+ keypad on a monochrome Nspire if that is supported.

Offline deeph

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 138
  • Rating: +6/-0
    • View Profile
    • deeph.servhome.org
Re: Pokémon Amber
« Reply #22 on: July 21, 2013, 09:22:12 am »
The character sprite does actually have a walking animation, but it isn't very good and you can't easily see it.
Feel free to use those from Pokémon Monochrome if you want :)

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Pokémon Amber
« Reply #23 on: July 21, 2013, 12:40:10 pm »
Wow that looks pretty awesome Deeph. O.O

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Pokémon Amber
« Reply #24 on: July 21, 2013, 03:13:09 pm »
The character sprite does actually have a walking animation, but it isn't very good and you can't easily see it.
Feel free to use those from Pokémon Monochrome if you want :)

That is the furthest along faithful rendition of the original Pokemon games that I think I have ever seen for the 83+/84+. Why am I only learning about it now!? Does this have it's own topic? Because it's very worthy of one.



Oh, and your version looks good to Xeda...
* Runer112 runs

But in all seriousness, I suspect your version will get a lot more awesome given time. For only having worked on it for about a week or two it seems, a lot of good progress has been made.
« Last Edit: July 21, 2013, 03:14:34 pm by Runer112 »

Offline deeph

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 138
  • Rating: +6/-0
    • View Profile
    • deeph.servhome.org
Re: Pokémon Amber
« Reply #25 on: July 21, 2013, 03:39:22 pm »
Thanks, but I'm not the only author, chickendude helped me a lot :P

In fact this project is far from being done, so I won't make a topic here until I'm sure to finish it completly. Chickendude and I haven't made any progress for weeks now and I personnaly won't be working on it before some more...

Considering Xeda's programing skills, Pokémon Amber has much more chances to be done earlier ;)

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Pokémon Amber
« Reply #26 on: July 21, 2013, 04:45:01 pm »
The character sprite does actually have a walking animation, but it isn't very good and you can't easily see it.
Feel free to use those from Pokémon Monochrome if you want :)
How did I forget about Pokémon Monochrome D: I even remember working on that rectangle routine with chickendude. But really, those sprites are wonderful!

How large are your actual Pokémon sprites? I was thinking of using 24x24. Your sprites look so good!

:thumbsup:+1

I finished work for today and I don't work tomorrow, so now I might actually get more work done!

Also, you and chickendude are excellent programmers o.o I would try to help with Pokémon Monochrome, but I am afraid that I won't be familiar with your style .__. But I might look through it to find optimisations (but it looks very fast already!).

I am going to try to use some of your tiles/sprites to see how it looks.

Offline deeph

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 138
  • Rating: +6/-0
    • View Profile
    • deeph.servhome.org
Re: Pokémon Amber
« Reply #27 on: July 21, 2013, 05:25:24 pm »
How large are your actual Pokémon sprites? I was thinking of using 24x24. Your sprites look so good!
The Pokémon sprites are adapted from what seems to be their menu icons from some pokémon on GBA or NDS, and thus were originaly 32*32, but to be able to fit them into the battle screen I had to reduce them to 32*26 (they tend to be larger than taller, so it fits).

Sizing them down to 24*24 wouldn't be easy I  think (unless you only want to create your own Pokémons).

I would try to help with Pokémon Monochrome, but I am afraid that I won't be familiar with your style .__. But I might look through it to find optimisations (but it looks very fast already!).
That would be awesome, but keep in mind that we were still repairing some things being broke after we used chickendude's better routines (mainly things with the battle engine) :D

I am going to try to use some of your tiles/sprites to see how it looks.
Nice, now I can't wait to see more screenshots :)

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Pokémon Amber
« Reply #28 on: July 22, 2013, 12:00:16 am »
Okay, thanks! I might try to draw the pokémon sprites myself by looking at those images (I drew the Aerodactyl in the intro myself).

As for a screenshot, I used your player sprites (they look so much nicer!) and I used ideas from the other tiles (like for the buildings).

I am still impressed by how fast your tilemap and scrolling works! I scroll 2 pixels at a time to make it a little faster (only 4 LCD updates every time the player moves instead of 8 ).

EDIT: Oops, screenshot:
 

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Pokémon Amber
« Reply #29 on: July 22, 2013, 01:10:03 am »
By the way, I like how the name is completely ambiguous as far as Pokemon game generations go. "Amber" could refer to a color (as in Blue, Red, Yellow, and so on) or a shiny/precious material (as in Gold, Silver, Crystal, and so on).

Did you do that on purpose?