Author Topic: Ash: Phoenix- Reboot  (Read 65959 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
Ash: Phoenix- Reboot
« on: July 17, 2011, 07:17:07 pm »
Latest screen:


Spoiler For Old Screenshots:


The latest screenshot, source (A.8xp, screenshift.asm), and build (build.zip) will be attached to this post. (Note you don't need screenshift.asm to compile, it just holds the original asm code if you wanna look at it)

Installation instructions:
Send build.zip to archive, and run Phoenix.8xp with asm() or whatever shell you want


People I have to remember to credit:
chickendude (tilemapping help, asm help)
runer112 (debugging/asm help/help for everything)
jacobly (asm help/optimizing mask routine)
calc84 (asm help, optimizing decompression routine)
thepenguin77 (bugfixes, asm help)
Spoiler For original post:
Ok, I'm rewriting this game (almost) from scratch.

Before you kill me, let me give a few reasons:

1. I really want to optimize. Severely. Axe 1.0.0 provided updates (like getting label addresses) that could make some things SO MUCH BETTAR!
2. I want to make the battle engine more dynamic. Again, Axe 1.0.0 makes this possible. Say hello to unique move effects?
3. I found a severe bug that has to do with program structure. If I could understand my own code, it would still be pretty hard to fix. But I can't.
4. My calc won't turn on atm. I'm assuming that if I can get it to ever function again, the archive is done for anyway.
5. Axe 1.0.1 won't compile it currently, mainly because I have a lot of labels that begin with numbers.

Edit: After reinstalling the OS and using the safe-boot, I've revived my calc. The archive got wrecked though. I have backups, but I don't think I'll use them much.
« Last Edit: December 12, 2012, 05:37:25 pm by squidgetx »

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #1 on: July 18, 2011, 08:41:52 am »
It's okay bro. It was looking really nice already, I'm sure you'll only improve upon what you had before. :3

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #2 on: July 18, 2011, 08:47:17 am »
 *.*


* annoyingorange eats squidgetx >:D




that is ok IF it gets better it is hard to see it better the demo was amazing  O0
This used to contain a signature.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #3 on: July 18, 2011, 10:05:16 am »
Well, it'll be smaller for one thing. And I'm thinking about handling NPCs differently. Instead of being part of the tilemap, maybe I'll have them separate like in Pokemon :D

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Ash: Phoenix- Reboot
« Reply #4 on: July 30, 2011, 12:59:21 am »
with all the optimisations in axe 1, and all the optimisations you are sure to come up with in rewriting things, i'm sure you can get the grey looking a lot better as well.
good luck =D

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #5 on: August 24, 2011, 08:10:11 pm »
So as some people might have noticed, I finally got my own computer. it's a mixed blessing that it's old (runs win xp); it's a little slow, but that means that I can have access to all sorts of x86 programs that I didn't before (and i have admin rights which i dind't have on the fam comp) So what all of this means is:

-Faster coding/debugging due to access to Tokens and Wabbit
-Faster data asset creation due to access to things like Calc GS

And in general, motivation for me to continue this project.


Side note: I think I'm going to switch to 4 lvl gray. The only thing that prevented me from doing so before was that all the tile data had to be masked because I designed the mapping engine kinda strange. However, I'm also unsure if any computer map/tile programs have support for 12x12 4lvl gray...

Ashbad

  • Guest
Re: Ash: Phoenix- Reboot
« Reply #6 on: August 24, 2011, 10:07:55 pm »
12x12 4 level gray?  Sounds like a job for CalcGS.

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- Reboot
« Reply #7 on: August 24, 2011, 11:20:56 pm »
Squidgetx I hope this computer doesn't constantly crash like the other one X.x. Nice though.

As for 12x12, I guess the only issue is that the unaligned tiles might be slower, but otherwise I guess it should be fine.
« Last Edit: August 24, 2011, 11:21:27 pm by DJ_O »

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #8 on: September 03, 2011, 12:52:49 pm »
Wow, calcGS is awesome...the only problem is that it exports tile data differently than how I'd like it...I have to figure out how to deal with that first..

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- Reboot
« Reply #9 on: September 03, 2011, 12:53:52 pm »
Also I remember something about it having a limited amount of tiles space. Something like 210 but it could be lower. Iambian got in serious trouble because he could no longer fit more tiles/sprites in at one point for E:SoR.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #10 on: September 03, 2011, 01:26:56 pm »
I think I'm going to stick to my original thing of having only 16 different tiles per map, so it shouldn't be too bad a problem.

So far I've figured there are two ways to do this:
-Run a text/word macro to rearrange the data on the computer the way I want (I don't know how to do this; someone teach me? haha. This will take up more data space but the engine will be faster and smaller and easier to write)
-Create an routine that can convert the data into the form I want on a map load/tile-set change. This might be the better option, I just have to write it first lol.

Ashbad

  • Guest
Re: Ash: Phoenix- Reboot
« Reply #11 on: September 03, 2011, 02:21:17 pm »
Why not just write a simple C/Python/Ruby script to quickly rearrage it?  Or even just do it by hand?  I mean, how different *is* your format?  I'm guessing that you want 4 8*8 sprites or something instead of a packed 16*16 one -- the simple fix is to change the sprite size to 8*8 before exporting.

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #12 on: September 03, 2011, 02:24:03 pm »
Lol, thanks. (Problem: I don't know how to program on a computer LOL)

Anyway I'm going to rearrange the format when you run the program like I said in the other post since it won't really change the mapping routines or anything anyway, plus it'll save space :D

Offline squidgetx

  • Food.
  • Project Author
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #13 on: October 30, 2012, 11:18:01 pm »
Hi everyone.

So, if you've been paying attention to any of the other threads on this forum, you might have noticed that I'm resuming work on this project. Today I completed enough progress to warrant making an official update ;D

The tilemapper turned out to be quite a challenge to code. I wanted to use calcGS to handle the map and tile creation, since honestly, doing such a large project on calc was a massive PITA. However, using calcGS came with its own set of problems: export as 12x12 tiles? Or export as 4 8x8s? Well, at first I tried using 4 8x8s; it's kind of inefficient space-wise, but it plays nice with Axe's built in functions. I glanced at the old source code and chuckled. What was I thinking when I wrote THAT thing?? The old mapper handled each movement with its own routine, scrolling the map using Horizontal/Vertical and drawing with, get this; MASKED TILES mostly off-screen where they'd be shifted in appopriately. What was I doing??

I thought, I can just redraw the map every frame and have a nice, clean tilemapper, the kind I've been using in StickNinja, Embers, and Sandland. Except...grayscale. Oops, looks like even with my leet optimization skillz I can't get the mapper to run fast enough to support good grayscale.

Okay, no problem...I can do what i did before, but hey, I don't need to use masked tiles...this should be fine...

Nope, using 4 8x8 tiles with 12x12 tiles leaves clips and/or screen residue when you scroll, depending on whether you use Pt-On or Pt-Off. Choose your poison. So THAT's why I was using masks...

Well. This new version has to be at least a LITTLE better than the last one. There's no way I'm storing my tiles as masks...not to mention that calcGS does NOT play well with masked tiles.

Enter chickendude. With his help, along with lots of additional help from Runer112 and jacobly, I've managed to put together a hybrid Axe/Asm tilemapper from scratch (okay, maybe I did copy paste those 12 line blocks of rr (hl) \ inc hl's, thanks chickendude)

Anyway, in conclusion, check out the super not impressive screenie:



Oh, and as I promised, open source. The first page will be the go-to point for latest builds, screenies, and source

To do, by priority:
See if I can make the tilemapper run off of Archive. This, I think should be feasible and will let me cut down on user RAM and have 256 tiles per map :D
Add character sprite, animation
Start making tiles
(Later, after adding NPC rendering, I'll work on timing the gray better)
Begin infrastructure on sections of the program (menu, map transfer, npc, battle baselines)

« Last Edit: October 30, 2012, 11:33:14 pm by squidgetx »

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Ash: Phoenix- Reboot
« Reply #14 on: October 30, 2012, 11:27:48 pm »
Wow, it runs great! It's quick, too. Do you redraw the map each frame, too? Or is it just drawn in the first frame and all the rest everything is shifted in? Is one .8xp the source and the other the actual program? I'm gonna toss it on my calc now. Congrats on finishing it up!

EDIT: No need to credit me for anything, i'm just super excited about this game :)
« Last Edit: October 30, 2012, 11:45:55 pm by chickendude »