Author Topic: Ash: Phoenix  (Read 118882 times)

0 Members and 1 Guest are viewing this topic.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #120 on: November 15, 2010, 08:17:57 pm »
he just moves slow because he is fat

Lol j/k though, yeah the map engine needs serious optimization :P

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ash: Phoenix
« Reply #121 on: November 16, 2010, 12:35:14 am »
Good luck. I hope you can manage to make it run as fast as you wish or close.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #122 on: November 18, 2010, 05:46:36 pm »
Steadily working on optimizing. I have a lot of code that I can "subroutinize" for space, plus I've got the grayscale to be way less flickery. I'm probably going to stick it into Sourcecoder and print it out so I can look at it all at once and organize it a bit better :)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ash: Phoenix
« Reply #123 on: November 19, 2010, 02:11:45 am »
Nice! It's good when we can find optimizations for speed and size. :)

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #124 on: November 19, 2010, 07:19:52 am »
Ouch, I'm running very tight on space now. Combined everything fits into the app with about 600 bytes left x.x. must...optimize..more...lol. I think I'll return to the battle engine for a bit and optimize that because it has some chunky stuff in it too ;)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ash: Phoenix
« Reply #125 on: November 19, 2010, 09:43:02 am »
Ouch, I hope you don't have to do what Builderboy might be forced to do with Portal (use the BASIC launcher trick). X.x Good luck!

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #126 on: November 20, 2010, 11:24:46 am »
Well, it seems like FinaleTI and Runer have figured out a potential workaround here so the workload might just have been cut by >9000% (if it works, which it appears to do). All I have to do now is move the tile data out of the map engine to an external appvar which will save me like 1200 bytes off the map engine, then I can use that space for the routine Runer gave in that thread
« Last Edit: November 20, 2010, 11:26:09 am by squidgetx »

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #127 on: November 20, 2010, 03:42:10 pm »
Small update: Yup, moved everything out and now we're at 5667 bytes for the map engine ;D Although it increased the amount of free RAM needed -.- I need like....4 buffers for menus, a 192 byte chunk for sprites, and a 1024 byte chunk for tiles. And a 4096 byte chunk for the map. And an undetermined amount for the external programs it'll be running (hopefully not more than 2000 more x.x). So that's like 10384 bytes... not too bad I guess ;D And we're back at 1.4k left in the app :), so hopefully this'll start moving faster soon
« Last Edit: November 20, 2010, 03:44:29 pm by squidgetx »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ash: Phoenix
« Reply #128 on: November 21, 2010, 12:57:48 am »
Cool to hear! Hopefully you can fit more stuff. Btw do you know how many maps there are in the game approximately? (based on 12x8 chunks)

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #129 on: November 21, 2010, 11:08:12 am »
12x8 chunks?
Not sure what you mean there, but I do know that I can have about 10 or 11 64x64 maps to make around a total of 42000 tiles. I also have the engine structured to support an indefinite amount of map appvars (currently I've set up 2 of them, but theoretically I could make as many as the archive could fit :P) However, not all maps will be 64x64: a lot of places like shops and rooms will be 16x16 and places like castles and such will be 32x32, so there could be a lot of different maps and map sizes.

Oh and the map engine is down to 5100 bytes now and runs much faster :) , but there are some weird bugs that I have to fix first x.x
« Last Edit: November 21, 2010, 11:10:47 am by squidgetx »

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Ash: Phoenix
« Reply #130 on: November 21, 2010, 11:15:28 am »
5100 bytes? That's pretty good, considering you're doing 3lvl and smooth scrolling between tiles.

I'm at 2467 for Nostalgia. ;D Of course, maps are 1536 bytes... I'm gonna have to see about RLE compression or something. It does support animated water tiles, though.


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #131 on: November 21, 2010, 11:17:01 am »
woah, nice, animated tiles. Does this mean you redraw every frame? Don't forget that this size includes the NPC engine as well, which is like 1600 bytes :P

My maps are 4096 bytes x.x x.x x.x. What dimensions are you using? Are you using nibbles?

lol that's a lot of questions :P

Also, unrelated, I've figured out that shops/inns will be much easier than I thought, since I can just modify by NPC routine to add a command that allows any NPC to sell/buy stuff, and one that fades out, heals, and returns :) I love my NPC engine ;D
« Last Edit: November 21, 2010, 11:22:47 am by squidgetx »

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Ash: Phoenix
« Reply #132 on: November 21, 2010, 11:29:26 am »
Yep, I redraw every frame... I'm gonna go request some better water tiles than what I've been testing with though.

As for my maps, they can be up to 96x64, support wall, floor and ceiling tiles, as well as the aforementioned water tiles. My maps are basically the equivalent of two pictures, the first is used to determine the tile: If the pixel is off, draw a floor tile; if the pixel is on and the one below it is off, draw a wall tile; if the pixel is on and the one below it is on, draw a ceiling tile. The second pic is used to determine if the tile is a water tile. If the pixel is on, draw a water tile at the current frame. Then OR both layers over each other so you can't walk through water, etc.
The current map layer is stored on the back-buffer, and the current screen is on the main buffer.

I'm working on NPCs too. I'm just unsure of how I want to handle them, like do I want them to walk around, do I want them to just turn around in place, or just stand still? Nice about that shops/inn thing. I'm thinking of styling my NPCs after the way you did yours.


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix
« Reply #133 on: November 21, 2010, 11:35:16 am »
Woah, that's creative.

I don't think I'm going to have my NPC's walk around, I don't have enough space x.x (although I could make them walk around once you talk to them...maybe)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ash: Phoenix
« Reply #134 on: November 21, 2010, 05:32:31 pm »
12x8 chunks?
Not sure what you mean there, but I do know that I can have about 10 or 11 64x64 maps to make around a total of 42000 tiles. I also have the engine structured to support an indefinite amount of map appvars (currently I've set up 2 of them, but theoretically I could make as many as the archive could fit :P) However, not all maps will be 64x64: a lot of places like shops and rooms will be 16x16 and places like castles and such will be 32x32, so there could be a lot of different maps and map sizes.

Oh and the map engine is down to 5100 bytes now and runs much faster :) , but there are some weird bugs that I have to fix first x.x
Ah ok, well I mean, divide your maps in 12x8 pieces. How many of those would you have? Or maybe you could state it in bytes. Assuming in your maps, one tile = 1 byte, how many bytes of map do you plan to include?

As example, Illusiat 13 had about 65-70 KB of map data, but several maps were reused multiple times for different purposes (such as the desert area). Had I not done this, I would have about 80-100 KB of map data. Each map were 16x8 large, by the way.
« Last Edit: November 21, 2010, 05:33:03 pm by DJ Omnimaga »