Omnimaga

Omnimaga => Discontinued => Our Projects => Ash: Phoenix => Topic started by: squidgetx on July 17, 2011, 07:17:07 pm

Title: Ash: Phoenix- Reboot
Post by: squidgetx on July 17, 2011, 07:17:07 pm
Latest screen:
(http://img.removedfromgame.com/imgs/pscreen10.gif) (http://img.removedfromgame.com/imgs/pscreen9.gif)

Spoiler For Old Screenshots:
(http://img.removedfromgame.com/imgs/pscreen8.gif)(http://img.removedfromgame.com/imgs/pscreen7.gif)
(http://img.removedfromgame.com/imgs/pscreen6.gif) (http://img.removedfromgame.com/imgs/pscreen5.gif) (http://img.removedfromgame.com/imgs/pscreen3.gif) (http://img.removedfromgame.com/imgs/pscreen4.gif)
(http://img.removedfromgame.com/imgs/pscreen2.gif) (http://img.removedfromgame.com/imgs/pscreen1.gif)
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.
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 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
Title: Re: Ash: Phoenix- Reboot
Post by: annoyingcalc 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
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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
Title: Re: Ash: Phoenix- Reboot
Post by: shmibs 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
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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...
Title: Re: Ash: Phoenix- Reboot
Post by: Ashbad on August 24, 2011, 10:07:55 pm
12x12 4 level gray?  Sounds like a job for CalcGS.
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga 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.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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..
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga 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.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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.
Title: Re: Ash: Phoenix- Reboot
Post by: Ashbad 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.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx 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:

(http://img.removedfromgame.com/imgs/pscreen1.gif)

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)

Title: Re: Ash: Phoenix- Reboot
Post by: chickendude 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 :)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on October 30, 2012, 11:35:23 pm
The map is just drawn before the first frame and the rest is shifted in :) See the first post for installation instructions/what the source is. I'm very happy with how it turned out, since I think it has the potential for lots more abuse (For example, I'm using the bitmap command for the initial map-draw LOL but hey, who cares, you can't see it) especially I think for the ability to call sprites in from archive allowing me to use a full range of 256 tiles for every map :D Thanks for all your help!
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on October 31, 2012, 05:16:31 pm
That was pretty quick ! Nice to see you already made some progress in code.
I don't think spriting directly from archive will be possible, but copying one singme sprite to RAM before displaying it is.

(Off-topic edit) : I'm pretty proud of my new sig BTW. :w00t:
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on October 31, 2012, 10:33:01 pm
Well, what happens is that the scrolling/movement routine requires the next row of sprites to be shifted in to be copied into RAM (about 384 bytes worth). Right now it's set up so that at the beginning, when I load the map, about 1kb of tiles are imported from archive into RAM, and the shifting routine "spritebank" is created by referencing that 1kb. I'm planning to "cut out the middleman," and see if I can create the spritebank by drawing on the tiles in archive. That way I can effectively have access to any and all tiles in archive :) The spritebank creation copy routine is only run once per button-press, so I'm hoping that the speed difference will be negligible.

Progress for today: shifted the extra 4 pixels to the top of the screen, since I realized the character (being 12x16) will appear more centered that way. Began writing custom assembly aligned-masked-16x16 character display routine.

Edit: It works. Every map now has access to 256 different tiles.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 03, 2012, 02:37:43 pm
Major mapping update :D

(http://img.removedfromgame.com/imgs/pscreen2.gif)

-Finished custom asm mask routine (although I need to change it a little to draw to any tile once I implement NPCs) Yeah, the routine is kinda poorly written; I'll eventually get around to optimizing it. Don't look! But the important thing is that it works for now lol
-Sprited character and animations
-Optimized/modularized movement code to allow tap-to-face-direction and improved speed with one change.
-Draws black automatically if shifting in non-existent data
-Last, but most definitely not least, implemented seamless map transitions. Remember in the demo and in Embers, in order to change areas you HAD to go through a door or something? No longer; now you don't notice anything when you move from one area to another (well, if you look really closely the grayscale flickers a tiny bit). Effectively, the world the player inhabits is 9216x9216px or 768x768 tiles...That's 589,824 tiles, or over 13,000 screens of world all seamlessly put together. The screenshot shows the character walking around on the edges of 3 areas. It only takes 2kb of RAM to run this mapping system :D

As usual, the build and source can be found in the first post (http://ourl.ca/12140/228929)

To-do:
-Collision detection + map switching via portals/doors
-Fix up mask routine
-NPC render engine (then I'll be done with all the overworld stuff...)
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on November 03, 2012, 02:50:12 pm
Woah, that's amazing! I made something similar for a project of mine in Axe, but it has nowhere near the fluidity of yours - excellent work! Does it constantly archive and unarchive areas that it loads in/out?
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on November 03, 2012, 03:01:41 pm
Does it constantly archive and unarchive areas that it loads in/out?
I guess it keeps all in Archive and uses files to not waste time with archiving ;)

But I agree, that looks great and fast, especially for a greyscale tilemapper :D
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 03, 2012, 03:02:39 pm
No, it's copied into ram from archive. That's why it's so fast :D edit:  ninja'd by hayleia lol

Each region is 24x24, stored in archive. There exists a meta-map, or tilemap of tilemaps (32x32) that determines how regions are placed in relation to each other.

When the loadmap routine is called, it takes metamap X and Y coordinates as arguments to determine which 24x24 tilemap is needed to be copied in. However, the amount of memory I allocate for the "active" tilemap is 32x32-- so that the edges of other maps can be easily scrolled in and out. The routine takes (X-1,Y-1),(X,Y-1),(X+1,Y-1),(X-1,Y),(X,Y),(X,Y+1) etc. and copies in the appropriate parts of each surrounding map to RAM, creating a 32x32 tilemap where the center 24x24 is the "active tilemap." When you walk off the 24x24 section, your metamap coordinates are updated accordingly and the loadmap routine is called again.

Note that this means that all the maps are static; and that they can only be changed temporarily. But that's the way the engine's always been so whatever.

One unavoidable issue is that if you change maps in the X direction, you will automatically take 2 steps. You will only notice this is you aren't holding down the button, so I don't think it'll be a huge issue. It's because a 32x32 area can only hold 4 tiles extra to be scrolled in on every side, and when walking to the left (due to the way the map is aligned) you would need 5 tiles. So I force map change a tile early when walking this way, then force another step so it doesn't get messed up. You can probably observe this by playing with it a bit in the build :D
Title: Re: Ash: Phoenix- Reboot
Post by: shmibs on November 03, 2012, 04:04:54 pm
i don't have much to say, but wanted to mention that it looks beautiful! =D
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on November 03, 2012, 04:47:21 pm
Major mapping update :D

(http://img.removedfromgame.com/imgs/pscreen2.gif)

-Finished custom asm mask routine (although I need to change it a little to draw to any tile once I implement NPCs) Yeah, the routine is kinda poorly written; I'll eventually get around to optimizing it. Don't look! But the important thing is that it works for now lol
-Sprited character and animations
-Optimized/modularized movement code to allow tap-to-face-direction and improved speed with one change.
-Draws black automatically if shifting in non-existent data
-Last, but most definitely not least, implemented seamless map transitions. Remember in the demo and in Embers, in order to change areas you HAD to go through a door or something? No longer; now you don't notice anything when you move from one area to another (well, if you look really closely the grayscale flickers a tiny bit). Effectively, the world the player inhabits is 9216x9216px or 768x768 tiles...That's 589,824 tiles, or over 13,000 screens of world all seamlessly put together. The screenshot shows the character walking around on the edges of 3 areas. It only takes 2kb of RAM to run this mapping system :D

As usual, the build and source can be found in the first post (http://ourl.ca/12140/228929)

To-do:
-Collision detection + map switching via portals/doors
-Fix up mask routine
-NPC render engine (then I'll be done with all the overworld stuff...)
Wow, that's an awfully large world you will have to play with. Very impressive! :D The mapper is looking quite smooth so far. Nice work!
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on November 04, 2012, 01:05:10 pm
Major mapping update :D

(http://img.removedfromgame.com/imgs/pscreen2.gif)

-Finished custom asm mask routine (although I need to change it a little to draw to any tile once I implement NPCs) Yeah, the routine is kinda poorly written; I'll eventually get around to optimizing it. Don't look! But the important thing is that it works for now lol
-Sprited character and animations
-Optimized/modularized movement code to allow tap-to-face-direction and improved speed with one change.
-Draws black automatically if shifting in non-existent data
-Last, but most definitely not least, implemented seamless map transitions. Remember in the demo and in Embers, in order to change areas you HAD to go through a door or something? No longer; now you don't notice anything when you move from one area to another (well, if you look really closely the grayscale flickers a tiny bit). Effectively, the world the player inhabits is 9216x9216px or 768x768 tiles...That's 589,824 tiles, or over 13,000 screens of world all seamlessly put together. The screenshot shows the character walking around on the edges of 3 areas. It only takes 2kb of RAM to run this mapping system :D

As usual, the build and source can be found in the first post (http://ourl.ca/12140/228929)

To-do:
-Collision detection + map switching via portals/doors
-Fix up mask routine
-NPC render engine (then I'll be done with all the overworld stuff...)
Oooohhh my ! Things are coming along faster than I expected.
Are NPCs going to be peudo-objects (i. e., in an array) ?

*Streetwalker thinks it's gonna be better than the original
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 04, 2012, 02:09:52 pm
Thanks everyone ;D

Streetwalker; yeah.

Sadly, I think I'm going to have to cancel plans for compression of maps. It's quasi-avoidable, but I think we'd see some drastic slowdowns during map switching and a sizable exec size increase. :( sorry guys
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on November 04, 2012, 03:39:46 pm
So... he got lost while playing checkers? Is that how the story starts? :P Lookin' good! The only thing is that the character is always one tile over to the right, will the map always scroll with the player or will the player have a little box to move around in in the middle of the map/when reaching the edges of maps?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 04, 2012, 03:43:59 pm
Yeah, he's always one tile over to the right :P Well, I could move him over a tile, but then he'd be off a little to the left, and this way the sprite routine gets to draw something aligned.

So yeah, the map always scrolls with the player.

Also I take back what I wrote earlier. Compression is still going to be implemented, although the total map area available will go down a bit (to 384x384 tiles which is plenty)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 05, 2012, 08:44:55 pm
Update!

A lot of changes behind-the-scenes, but nothing really screenshot worthy. RLE compression has been added to the map system, hooray! Each chunk has been reduced to 16x16 instead of the old 24x24, and the overworld tilemap has been reduced to 24x24 (not that you'd notice anything, the world size is still massive at 384x384 tiles). The decompression routine was written in asm, and as a result, the map-transitions are actually less noticeable than they were before! (The map load routine is now writing over 2kb per map load as opposed to before where it was 1kb...And actually that could be optimized. Maybe later). Although the amount of ram needed to host the current map increased, total user ram needed went down because I altered the mask routine to read from archive (or was it like that already? I don't remember. Anyway, right now I'm using 2304+576 bytes of user RAM).

I also threw in collision detection which was laughably easy and am now working on stringing together map infrastructure with warp tiles, npcs, etc.
Title: Re: Ash: Phoenix- Reboot
Post by: Sorunome on November 05, 2012, 08:46:44 pm
That sounds pretty cool! :D
Title: Re: Ash: Phoenix- Reboot
Post by: willrandship on November 06, 2012, 12:42:18 am
That looks really, really cool. Do want. Massive maps are massive.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 07, 2012, 11:09:13 pm
Thanks will :D

I've finished up the npc display routine, now moving on to making sure you can't walk through them either. Will post an official update when finished
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 09, 2012, 10:40:03 pm
Warp tiles & NPCs as part of the map are now implemented (in addition to full parsing of all map metadata, etc.)

(http://img.removedfromgame.com/imgs/pscreen4.gif) (http://img.removedfromgame.com/imgs/pscreen3.gif)

Things left to do:
-In-game menu
-NPC talking system (probably going to borrow a lot of code from Embers)
-battle engine (woooo)
-begin thinking about plot details and begin map making~

Current size (executable): 5kb
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on November 09, 2012, 11:08:03 pm
I've kept watching the screenshot and I can't figure out how you did the clean fade transition between maps - or is that just a Wabbit artifact?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 09, 2012, 11:09:59 pm
It's the same fade I use in a lot of games, haha. For some reason (maybe it's the screen driver or something) it just looks really clean and awesome. The code is literally
Code: [Select]
Fill(L6,768,$FF)
DispGraph
Pause 400
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on November 09, 2012, 11:20:24 pm
It's the same fade I use in a lot of games, haha. For some reason (maybe it's the screen driver or something) it just looks really clean and awesome. The code is literally
Code: [Select]
Fill(L6,768,$FF)
DispGraph
Pause 400
Wait, so you just make the screen black and pause it for a while? oO
In addition, looking at those screenshots, will you have a problem with entities on the edge of maps?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 09, 2012, 11:23:55 pm
Yup, it's beautiful.

My, you're perceptive leafy. Yes, I will have a problem with entities on the edge of maps. It's actually pretty easy to add a bit of code to the map load routine to parse in all entities on the surrounding maps as well, but for now I'm just going to not put entities on edges of maps :P. If it become a problem while map designing, I'll do something about it then.
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on November 09, 2012, 11:42:33 pm
Nah, I'm not perceptive at all :P It's just a problem I've put a bit of thought into myself. Map design would probably be easiest, since the seamlessness makes it not obvious where the middle or edges of the maps are (of course, with that top left sign it kinda is)
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on November 10, 2012, 12:43:56 am
It's looking great, i'm excited to see the game start taking shape :)
Title: Re: Ash: Phoenix- Reboot
Post by: shmibs on November 10, 2012, 02:25:13 am
are NPC's going to be able to move at all? are you going to have some sort of cutscene scripting? how is encountering enemies going to work?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 10, 2012, 03:02:41 pm
are NPC's going to be able to move at all? are you going to have some sort of cutscene scripting? how is encountering enemies going to work?
No, yes, same as the demo.

Having moving NPCs, while possible, would be generally irritating and also force me to write a full bodied, slower display routine (as opposed to the fast-but-limited aligned drawer I have now). A lot of what is painful about the map engine is that it doesn't redraw every frame, so making adjustments to what's on screen (but not part of the tilemap, like npc's) is not only difficult, but makes the game slower the more adjustments are made. Cutscene scripting and battle encounters will work as they did in the demo, with the cutscene routine probably displaying relevant images while it calls the standard dialogue routine. Enemies will be ecnountered (like in many rpgs) randomly while traveling in dangerous terrain.
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on November 10, 2012, 03:37:59 pm
Also with a lot of NPCs that would most likely slow the game down quite a bit. It's also a lot of work to implement all the NPC patterns and stuff.

I've kept watching the screenshot and I can't figure out how you did the clean fade transition between maps - or is that just a Wabbit artifact?

Actually even though it's Wabbitemu fault, I actually did screen fade in/out before in calc games, just not gradual fade between maps directly. All you need to do is store the current contrast value in a temporary variable then gradually increase the contrast to the maximum, make the entire screen black at the end, proceed into loading the next map, then once done, fade back to the original contrast. You can also do the opposite (fade to white). I've used that trick in Illusiat 3 remake I think and some ROL3 cutscenes.
Title: Re: Ash: Phoenix- Reboot
Post by: Ki1o on November 11, 2012, 01:34:32 pm
Just curious as to how the tilemapper works. Is the character actually moving or is the map moving around the character?
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on November 11, 2012, 02:06:00 pm
THe map moves around the character. A tilemap is made with 96 sprites aligned with each others, scrolling up/down/left/right. For example if the character moves right, the map tiles scroll to the left and as they scroll, when they reach the X coordinate 8, their content is shifted one tile to the left then the sprites are reset back to starting X coordinate 0. In some games, a tilemap will be as large as the map itself (eg 500x500 sprites moving around), but that is very slow and inneficient compared to just displaying what's in the screen at once)

Of course it depends how you do your tilemap, though. In some games like Zelda on the NES, it's the character that moves around on the tilemap. In more advanced games like Final Fantasy V and VI, the map moves around the character, but if the character reaches its edge, the map stops moving and it's the character that moves.
Title: Re: Ash: Phoenix- Reboot
Post by: Ki1o on November 11, 2012, 02:12:08 pm
Aaaaaaaaahhhhh ok thanks DJ! That helped a lot.
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on November 12, 2012, 08:30:05 am
Also with a lot of NPCs that would most likely slow the game down quite a bit. It's also a lot of work to implement all the NPC patterns and stuff.
If you only handle NPCs that are on screen it wouldn't be so bad, especially since squidgetx's maps are divided into submaps. The real issue here is that the screen isn't updated every frame, so not only would every NPC require a mask, you'd also have to save what was drawn below before drawing the NPC on top and then refill it before redrawing the NPC in its new position. And if you move while an NPC is moving, you'd either have to freeze the NPC and wait until you stop moving to continue its movement or use a different method to shift the screen. With only one or two NPCs on screen it probably wouldn't noticeably slow the game down, any more though and you'd likely start feeling the effects. It's really just a pain to code and would probably be easier just to rewrite the whole thing to use a slower but more flexible mapper that redraws the screen every frame :P
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on November 12, 2012, 11:34:56 am
Also with a lot of NPCs that would most likely slow the game down quite a bit. It's also a lot of work to implement all the NPC patterns and stuff.
If you only handle NPCs that are on screen it wouldn't be so bad, especially since squidgetx's maps are divided into submaps. The real issue here is that the screen isn't updated every frame, so not only would every NPC require a mask, you'd also have to save what was drawn below before drawing the NPC on top and then refill it before redrawing the NPC in its new position. And if you move while an NPC is moving, you'd either have to freeze the NPC and wait until you stop moving to continue its movement or use a different method to shift the screen. With only one or two NPCs on screen it probably wouldn't noticeably slow the game down, any more though and you'd likely start feeling the effects. It's really just a pain to code and would probably be easier just to rewrite the whole thing to use a slower but more flexible mapper that redraws the screen every frame :P
I see you haven't seen TinyCraft's chickens. And if even I can get those to work, there is no doubt that squidgetx will manage to get NPCs without any speed loss ;)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 12, 2012, 12:50:21 pm
How could chickendude not know about chickens????

Joking aside, chickendude is pretty much right about this. I'm not sure how TinyCraft's mapper works, but the fact that it uses 8x8 tiles gives it a huge advantage over anything that I can come up with right now. 8x8 tiles are fast and flexible, making it easy to build a grayscale redraw-every-frame mapper that could easily support moving chickens. On the other hand, if you don't update every frame, it's still not too difficult to save the screen, draw the chickens, and recall the image (which is what I could theoretically do...only it would cause a very very noticeable speed drop, plus I have to change/write an unaligned 12x16 mask routine, which I don't want to do just for the sake of having moving npcs.
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on November 12, 2012, 01:00:53 pm
How could chickendude not know about chickens????
Lol, didn't think about that one :P

I'm not sure how TinyCraft's mapper works, but the fact that it uses 8x8 tiles gives it a huge advantage over anything that I can come up with right now. 8x8 tiles are fast and flexible, making it easy to build a grayscale redraw-every-frame mapper that could easily support moving chickens. On the other hand, if you don't update every frame, it's still not too difficult to save the screen, draw the chickens, and recall the image (which is what I could theoretically do...only it would cause a very very noticeable speed drop, plus I have to change/write an unaligned 12x16 mask routine, which I don't want to do just for the sake of having moving npcs.
I don't redraw the screen at every frame (that would be too slow) and can't save the entire screen either, that would be too slow and wouldn't work with the greyscale interrupt.
But now that I think again about how they work, they have a drawback that will be very annoying for 16x16 sprites: they can't be drawn if they are too close from the border of the screen. Ideally, a border of 2 pixels would be needed (but since I code bad, I put a bigger limit :P).
So if there will be enemies in your game, not seeing them coming would be a huge issue :-\
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on November 12, 2012, 01:04:30 pm
How could chickendude not know about chickens????
Lol, didn't think about that one :P

I'm not sure how TinyCraft's mapper works, but the fact that it uses 8x8 tiles gives it a huge advantage over anything that I can come up with right now. 8x8 tiles are fast and flexible, making it easy to build a grayscale redraw-every-frame mapper that could easily support moving chickens. On the other hand, if you don't update every frame, it's still not too difficult to save the screen, draw the chickens, and recall the image (which is what I could theoretically do...only it would cause a very very noticeable speed drop, plus I have to change/write an unaligned 12x16 mask routine, which I don't want to do just for the sake of having moving npcs.
I don't redraw the screen at every frame (that would be too slow) and can't save the entire screen either, that would be too slow and wouldn't work with the greyscale interrupt.
But now that I think again about how they work, they have a drawback that will be very annoying for 16x16 sprites: they can't be drawn if they are too close from the border of the screen. Ideally, a border of 2 pixels would be needed (but since I code bad, I put a bigger limit :P).
So if there will be enemies in your game, not seeing them coming would be a huge issue :-\
Encountering enemies is gonna be Pokémon style, I don't see any problem about that.
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on November 12, 2012, 01:12:51 pm
How could chickendude not know about chickens????
Lol, didn't think about that one :P

I'm not sure how TinyCraft's mapper works, but the fact that it uses 8x8 tiles gives it a huge advantage over anything that I can come up with right now. 8x8 tiles are fast and flexible, making it easy to build a grayscale redraw-every-frame mapper that could easily support moving chickens. On the other hand, if you don't update every frame, it's still not too difficult to save the screen, draw the chickens, and recall the image (which is what I could theoretically do...only it would cause a very very noticeable speed drop, plus I have to change/write an unaligned 12x16 mask routine, which I don't want to do just for the sake of having moving npcs.
I don't redraw the screen at every frame (that would be too slow) and can't save the entire screen either, that would be too slow and wouldn't work with the greyscale interrupt.
But now that I think again about how they work, they have a drawback that will be very annoying for 16x16 sprites: they can't be drawn if they are too close from the border of the screen. Ideally, a border of 2 pixels would be needed (but since I code bad, I put a bigger limit :P).
So if there will be enemies in your game, not seeing them coming would be a huge issue :-\
Encountering enemies is gonna be Pokémon style, I don't see any problem about that.
Erm, I don't know at all how to say that in English -.-°
When an enemy comes, you should be able to see him as soon as he has a body part on the screen (then you see that said body part).
But in TinyCraft, even when the enemy could entirely be drawn on the screen, if he is too close from the border of the screen, he is not drawn. There is the problem.

But by Pokémon style, do you mean "non-moving enemies" ? Because if they don't move, there is no problem. But I think that enemies in A:P will move, so my method will not be appliable :(
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on November 12, 2012, 01:20:25 pm
Hayleia, i think what you're talking about is clipping (having part of a sprite off-screen). Generally, Y clipping is pretty easy: if you want to draw to y position -3 you subtract 3 from the number of rows to draw and add 3 to the starting point of the sprite. It's quick and easy. X clipping is a bit more complicated, however, but still not so bad :) Axe doesn't have a clipped sprite routine?

EDIT: I've also seen TinyCraft II and it looks really beautiful. And i second squidgetx's request to know how you handle the chickens!
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 12, 2012, 01:34:21 pm
Axe should have a clipped sprite routine, and Hayleia, enemies are going to be encountered pokemon style (different from Embers). When I say "NPC" I mean like the guys that stand around and can talk to you.

Hayleia, I'm curious as to how you do your chickens then, if you don't save the screen nor redraw every frame.

Chickendude, Axe's sprite routines have clipping.
I already wrote that...why did I write it again?
Title: Re: Ash: Phoenix- Reboot
Post by: shmibs on November 12, 2012, 03:58:07 pm
squidget, you could potentially do to handle NPCs would be to have a set period when entities can move and use that both for the player and any other moving entities. then you could handle them all the same way, calculating movement directions(NPC being directed with rand and player with key strokes), then collision interactions (the same way for both), then entering the movement phase (which is made up of multiple frames during which the map may or may not be scrolling, depending on whether the player moved or not) and moving and drawing all the NPCs the same way you did the main character (/me is assuming that you are already scrolling on a back buffer and copying it to the front to draw your player; if you're doing it a different way, then i'd be very interested to find out how)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 12, 2012, 07:49:14 pm
You can all check out the source, it's in the first post. But if you don't wanna dig through my code, I'll give some condensed pseudocode here.

Code: [Select]
-Draw the map using the bitmap routine because I don't have a clipped 12x12 tile routine

While 1   ;main loop
 if key=left
  left()
 end
 if key=right
  right()
 end
 etc...

display()
end

lbl right
return if check tilemap
return if check npcs
copy tiles to be shifted in (column 4 tiles to right of player) into spritebank (L1)
shift those tiles over 1 nibble (remember tiles are 12x12 but stored as 12 rows of 2 bytes with a 0 in the 4th nibble)
for 12 (run for 1 tile)
...this part in assembly, see screenshift.asm
for all 64 rows on the screen
;for those unfamiliar with asm, the rr (hl) command shifts hl right 1 bit (1 pixel), the bit shifted in comes from the carry flag,
;and the bit shifted out goes into the carry flag
rr 2 bytes of the sprite bank
rr the whole screen row
;this shifts the whole screen like axe horizontal, only instead of shifting in blank pixels, it shifts in the rightmost column of pixels from the spritebank
...end asm
display()
end

playerX++
if playerX is off the edge of the map
mapX++
loadmap
end

decide if an npc was scrolled in, if so draw it using nibble-aligned mask routine
check if you're standing on a door, if so, warp to where it leads
return

lbl left
looks like right, only uses rl instead of rr and doesn't need to shift the tiles by 1 nibble

lbl up/down
same as right, only asm routine is a little different for shifting vertically

lbl display
is the map location box on? if so...
decrease map location box time counter
back up area of screen where map box is drawn
draw map box
back up area of screen where character is drawn
draw character using mask routine
dispgraph^r
was there a map box?
 restore that area of the screen
restore the area of the screen where the character is drawn

lbl loadmap

takes mapX, mapY as arguments (there is a large tilemap, a tilemap of tilemaps or metamap/overworld)
decompress 9 16x16 tilemap chunks from archive into a 48x48 RAM tilemap in a 3x3 square where the middle one is the map with coords (mapX,mapY) (if there is no 16x16 chunk to load or if its value is zero, fill will black tiles)


The screen is basically never cleared-- when you move, you move one tile at a time, animated by a For(12) loop. Within that loop, the screen is shifted by 1 pixel, and what's shifted in is only the single pixel row/column that needs to be shifted in. The assembly routine is remarkably easy/elegant/efficient this way--by shifting the spritebank data, it's already setting itself up for the next iteration. NPCs, since they're not part of the tilemap and thus not detected by the regular shift/drawing routine, are drawn after they've come into view. Anything that isn't going to scroll with the map movement (like the player himself) needs to have the area where they're drawn backed up before they're drawn. This engine is remarkably fast (easy 45fps) but a pain to work with as I add more and more elements (just the map name box and the animated player are enough for me, haha)

Edit: let me know if you guys have any other questions about the engine or anything, i don't know how good this explanation is haha

*Edit* AOC: fixed code box as it wasn't displaying in FF.
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on November 13, 2012, 02:01:20 am
Hayleia, I'm curious as to how you do your chickens then, if you don't save the screen nor redraw every frame.
When the chicken is on the screen, I use pt-get to see what is beneath it, then I draw it and I use what I stored by the pt-get to erase it. And now you see why I can't draw the chicken if it is too close from the border of the screen because if the chicken just entered on the screen, the pt-get recorded some crap outside of the screen so erasing the chicken before drawing it will draw garbage.
I don't know if it is the fastest way but I am quite sure that it is faster than saving the screen or redrawing every frame :)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 13, 2012, 10:11:51 am
Oh, ok. Yeah, pt-get can be useful like that, but like I said, that method only works with 8x8 sprites =/ (and has the added disadvantage you described with clipping)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 14, 2012, 08:16:02 pm
Update :D

(http://img.removedfromgame.com/imgs/pscreen5.gif)

As usual, source and build in the first post.

-Optimized
-NPC system basically works
-Custom font
-Automatic wordwrapping :D
-Some other bug fixes

Next on the list:
-Item/equip menu
-battttleleelelel engineee
Title: Re: Ash: Phoenix- Reboot
Post by: Eeems on November 16, 2012, 02:20:42 pm
looking good!
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on November 16, 2012, 05:49:24 pm
Very nice. By the way for NPCs, if they can move around, try to make sure that we can talk to them even if they're starting to move away from us. In RPG Maker 2003, that doesn't happen and talking to NPCs that moves at a fast interval is incredibly hard.

Also, make sure that if you're trying to move in a narrow passage and a NPC gets in the way, that he gets out of the way. This was a serious problem in Final Fantasy: Mystic Quest on the SNES, especially the 2nd village, where reaching certain parts was close to impossible.
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on November 16, 2012, 06:33:34 pm
I think he said earlier that the NPCs weren't going to move, as that would make the chunk system unnecessarily complicated.

Also squidgetx, would you mind telling me how you get your text displaying routines to work so well? :P You don't have to if you want to keep that private.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 16, 2012, 07:59:48 pm
You can check out the source if you like for the complete code, but like with the post about mapping I'll give a brief psuedocode explanation here:

Code: [Select]
Lbl Text
Until offset = offset + length of conversation
{Conversation pointer + offset} -> Char
Offset++

If char>31 ;if character is alphanumeric or common symbol
offset->temp
curX->temp2
while {conversation + temp} - 32  ;while not a space
temp++
temp2+4->temp2 ;custom font all letters are 4px wide
end

if temp2 > 92 ;if word needs to be wrapped
4->curX
if next line available
set curY to next row
else
reset curY
pause and wait for keypress
erase previous text
end

display character at curX, curY (with custom font routine)

curX+4->curX
dispgraph
end

end
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 21, 2012, 10:35:02 pm
It's been a while since the last update, so I figured I should make a post.

I'm working on the battle engine atm, and at the same time am working on transferring my system over to linux, so overall there's not much to show off in terms of progress. Internally though, there are lots of nice things going on.

-Item and equip system almost fully working
-Stats and Battle engine 70% complete
  -Character basic attack animations
  -Battle flow infrastructure (death, victory, etc.)
  -Enemy stat calculation and sprite retrieval
  -HP/MP display and graphical frontend implemented
  -Working damage formula

To do (battle engine)
  -Apply item effects to stats
  -Special skill effect application and animation
  -Enemy hit animation
  -XP system , level up, and stat XP
  -Enemy AI

I've almost finished setting up my calculator dev environment up on Mint, so hopefully I'll be finished up with those things soon. In the transition process my Windows partition got nuked, but luckily I had these files in the cloud. (Unfortunately I lost some old beta projects...including temple run, the isometric platformer, and tiny wings)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on November 26, 2012, 09:51:04 pm
Phew! After a serious bout of installing and reinstalling software, I think my dev environment is fully up and running :D

Have a screenshot of the (fully functional) item system and the (partly functional) battle system!
(http://img.removedfromgame.com/imgs/pscreen6.gif)
Item System Features:
-(dev) AddItem,RemoveItem,GetItem API for easy programming ;D
-Equip/Unequip
-Functional items call custom subroutines
-Consumable items improve HP/MP
-Boost items improve other stats until next battle, rest, or game quit
-Item drop
-Cap of about 32 items total (may be expanded later if I feel like it)

To-Do Item System:
Give error if attempt to add when bag is full

As usual, build (http://www.omnimaga.org/index.php?action=dlattach;topic=9543.0;attach=14142) and source (http://www.omnimaga.org/index.php?action=dlattach;topic=9543.0;attach=14143) can be found in the first post. (http://www.omnimaga.org/index.php?action=dlattach;topic=9543.0;attach=14142) Note that to run this, you'll need zStart's "execute >C000" feature enabled and every program except PHOENIX.8xp in archive.
Title: Re: Ash: Phoenix- Reboot
Post by: ben_g on November 27, 2012, 03:30:20 pm
Looks great! ...But why is the screen background pink?
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on November 29, 2012, 11:24:58 am
That's a TiLEm 2 feature : custom colors for screenies. ;)
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 03, 2012, 09:18:47 pm
Update!

I worked a bit more on the battle engine and am proud to say it's fully integrated into the game engine, and much cleaner than the old version of A:P. The battle subroutine can be called from almost anywhere and will have a very small effect on RAM-no need to reload anything after exiting a battle! Enemy AI hasn't started up yet, but I did do some spriting, more move animations, and other random stuff, and also directly imported the transition code from the old version of A:P. Have a screenshot.

(http://img.removedfromgame.com/imgs/pscreen7.gif)

build (http://www.omnimaga.org/index.php?action=dlattach;topic=9543.0;attach=14188) & source (http://www.omnimaga.org/index.php?action=dlattach;topic=9543.0;attach=14189). zStart "Execute >C000" required.
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on December 03, 2012, 09:23:39 pm
Looks great! :D
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on December 04, 2012, 02:42:23 am
Totally awesome. I'll check it out once the folks occupiyng the computer where I have an Ubuntu partition (with TiLP) leave it.
Or maybe I'll download WabbitEmu now. :P
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 04, 2012, 02:35:22 pm
Thanks guys!

I'm thinking about having the run-away mechanic work with 100% success rate. You just risk getting hit an extra time by your enemy if the random factor "fails," but you'll always be able to escape battle. Thoughts on this?
Title: Re: Ash: Phoenix- Reboot
Post by: leafy on December 04, 2012, 02:36:46 pm
Sounds good! I never really liked it when you couldn't escape battles. Although, it might be interesting to make it 100% unless the enemy uses a trap spell or something.
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on December 04, 2012, 07:46:14 pm
Thanks guys!

I'm thinking about having the run-away mechanic work with 100% success rate. You just risk getting hit an extra time by your enemy if the random factor "fails," but you'll always be able to escape battle. Thoughts on this?
Yepp, sounds good. Not being able to escape for no good reason has always been irritating.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 04, 2012, 09:58:38 pm
hey everybody, it's quiz time.


Q: Why is this in 3lvl gray and not 4?
Spoiler For A:
Because the old version was in 3lvl gray

Q: Why was the old version in 3lvl gray?
Spoiler For A:
Because Axe pt-Mask only supports 3lvl gray.

Q: But guess what?
Spoiler For A:
I don't use Axe's Pt-Mask routine anymore.

Q: What does this mean?
Spoiler For A:
(http://img.removedfromgame.com/imgs/pscreen8.gif)
Four level gray for the win.

In other news, I added a custom text routine for displaying numbers, and added the run mechanic sort of. And, looks like I've got some spriting work to do XD
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on December 05, 2012, 04:19:08 am
Pretty neat. :thumbsup:
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 08, 2012, 06:30:56 pm
Weekend update! Got a lot of cool stuff done (well actually only one cool thing but ANYWAY) party members/switching is now implemented, something I never tried to do in the old version. Along with your main character, you can have up to 3 other people accompanying you, with a total of 7 different playable characters. You can switch who's dominant any time which shows in the overworld sprite and in battle ;D

(http://img.removedfromgame.com/imgs/pscreen9.gif)

Enemy AI is half done, just have to add in the enemy's possible skills and randomly choose one to execute, which will be easy because of the general way I handle attacks.
Title: Re: Ash: Phoenix- Reboot
Post by: stevon8ter on December 08, 2012, 08:10:03 pm
Wow looks realy cool :o

Good luck implementing all the other cool stuff :D
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 10, 2012, 01:08:43 pm
Thanks ;D

Mini-update; just finished converting the code to be compiled as an app x.x took way longer than I thought it would...lol

Now on to finish up the battle engine and work on content some more!
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on December 11, 2012, 03:11:20 pm
(http://img.removedfromgame.com/imgs/pscreen7.gif)
(http://img.removedfromgame.com/imgs/pscreen9.gif)

Darn that looks nice, and I like the battle layout as well. However, I would make the Exp/Gold gained appear in the battle screen, not the overworld.

Also why is the first screenshot blue? O.O
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 12, 2012, 05:35:15 pm
Thanks Dj. Annndd another update!
(http://img.removedfromgame.com/imgs/pscreen10.gif)

Successfully made the transition over to app format, with the help of calc84maniac, Runer112, and Xeda112358...it ended up a lot harder than I thought it'd be. Anyway, made the title screen (external program that launches from the app) along with all the save/load structures. I've put in infrastructure for 3 save files, so the player will have the chance to explore all the different facets of the game (you'll have to make some irreversible choices as you play). I also calibrated the grayscale a little so it's not nearly as flickery, and am thinking about allowing the user to set it himself eventually :)

Title: Re: Ash: Phoenix- Reboot
Post by: leafy on December 12, 2012, 06:11:28 pm
Wow, every time I see this project it looks more and more fantastic! Great work, and now the title actually looks like a phoenix :P
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on December 12, 2012, 09:43:25 pm
Wow, this continues to look great! :D
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on December 13, 2012, 11:27:53 am
Just wow. *.*
Title: Re: Ash: Phoenix- Reboot
Post by: V1mes on December 13, 2012, 11:30:15 am
Love the title screen... as always  :love:
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 14, 2012, 10:33:26 pm
Thanks guys! I've been hard at work on this project; I'm surprised it's come so far so quickly :)

Small updates for now, nothing huge yet. I'm mainly thinking more about content and spriting. Optimizations have been made, and work on the NPC engine has started up. I've improved the scripting language a fair bit since it's last incarnation-- choosing it to model its control structure on asm rather than anything else. That's right guys, my npc scripting language's only command is an abstracted jpnz that's been built on memory locations instead of registers, lol. Anyway I've got most of the commands implemented, and a few left planned. For now:

Implemented:
-Print active player name
-Check if event flag n set, then jpnz. (arguments flag #, address to jump to)
-Set flag n (arguments flag #)
-Reset flag n (arguments flag #)
-Check if item held, then jpnz (args item ID, addr to jump)
-New line
-Pause conversation
-Jump to address

Planned
-Shop
-Get Item
-Warp character
-Initiate battle



Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on December 19, 2012, 10:42:18 pm
Update, sort of. The npc engine is (almost) all wrapped up. Only the store is left to program in, and in the mean time I've been working on content. I've added in about 9 areas now, which isn't too much. I'm finding both calcGS and my rle compressor both becoming increasingly difficult to work with, so I'm announcing a side project- an graphical IDE of sorts to manage production of game content. I'm going to try to write in C as a learning experience (just started it) and ill probably make a separate topic for it once it really gets underway. In the meantime I'm completely open to story and gameplay element requests and discussion :) gimme some ideas!
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on January 21, 2013, 10:21:11 pm
Now that my IDE is near completion, I picked up my calc today, dusted off the source, made a fresh build, and confirmed that everything is working fine and have begun to re-familiarize myself with the code (thank goodness for all my extensive documentation).

New idea: terrain

Nothing fancy, but I think that having some tiles more easily traversable than others might make things interesting :D I always thought that the stark walkable/wall duality of most RPGs wasn't quite indicative of real life. I'm thinking 3 levels- fast (road, short grasses, floors) medium (tall grasses) and slow (large bushes).
Title: Re: Ash: Phoenix- Reboot
Post by: shmibs on January 21, 2013, 11:02:37 pm
if you add in terrain, make sure to include swampy areas, too, like diamond and pearl
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on January 22, 2013, 02:14:54 am
diamonds are swampy? ???

Anyway looks nice as always. Glad this is still alive and hopefully the IDE should make things much easier for you :)
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on January 22, 2013, 12:43:28 pm
I think Diamond and Pearl are the Pokémon games. :P Indeed, there are swampy and snow areas that you can get stuck in, and you can't use your bicycle, so you have to run constantly. That's pretty fun.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on February 10, 2013, 10:04:18 pm
Woo, update!

I implemented the store in addition to a lot of other things in the npc scripts, optimized things back down to app-size, and fixed a crap ton of bugs.
Not much to show but a lot of progress on the internal side I suppose. I have yet to fully implement this terrain thing: I laid down the framework but it's not finished yet...
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on February 18, 2013, 08:54:12 pm
Nearly ready for a demo update, except for one pretty major bug that makes the enemy's skill attacks OHKO >:(

Mainly posting to provide myself a way to keep track of what I have to do still; I've been really busy the last couple weeks, and will be even busier the next few...

Anyway the point is that the project isn't dead
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on February 21, 2013, 09:02:40 am
I'm still holding my breath for this one to come out :D (and Embers!)
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on March 06, 2013, 05:24:18 pm
Hey squidgetx, have you had any time/luck tracking down that bug?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on March 08, 2013, 10:05:44 am
not yet, progress is slowing atm because I just moved to another country on the other half of the world lol

Once things settle down I'll have a bit more time to work it out.
Title: Re: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on March 08, 2013, 11:53:58 am
Where did you move? O.O
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on March 09, 2013, 02:27:05 am
not yet, progress is slowing atm because I just moved to another country on the other half of the world lol

Once things settle down I'll have a bit more time to work it out.

Oh wow. I hope the move went smoothly for you.
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on March 09, 2013, 09:53:22 am
THat said I hope that if he moved back to China that in long terms he'll still be able to access Omni easily. Generally there you can get on Omni pretty fine because it's widely available, but you never know in the future as Omni forums content grows more and more.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on March 10, 2013, 11:27:30 pm
^ I never lived in China ???

Anyway I'm actually in South America, and I'll be here until the start of the next academic year at which point I'll move back to the US.
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on March 10, 2013, 11:29:13 pm
I thought you did? ??? Or at least your parents did? ??? (Knowing your last name is Chinese)

And I see, I wasn't sure if you were moving permanently or not. :P
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on March 11, 2013, 03:07:26 am
¿Podemos esperar una versión en castellano de Ash: Phoenix? ¿Tal vez Ceniza: el Fénix?
(Should we be expecting a Spanish version of Ash: Phoenix?) :D
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on March 11, 2013, 04:52:38 am
This yellow is unreadable chickendude. Also my spannis is crappy.  <_<
I agree that localisation would be a great idea though. I could do french.
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on March 12, 2013, 07:15:12 pm
yeah actually that wouldn't even be difficult seeing as how nearly all the text is in an outside file

when this gets finished I can send the text to anyone who wants to translate stuff to be translated
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on March 13, 2013, 01:15:26 am
my spannis is crappy.

I hope you meant Spanish... O.O

And yeah French would be nice. Should not be too hard if the text is easy to extract. :D
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on March 14, 2013, 08:07:30 am
my spannis is crappy.

I hope you meant Spanish... O.O

And yeah French would be nice. Should not be too hard if the text is easy to extract. :D
Yeah I meant spanish, stupid phone... -_-'
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on May 29, 2013, 07:14:32 am
Holy necro bump Batman ! *.*

I wonder if there has been some progress since last time ?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on May 29, 2013, 09:28:57 pm
Nope, sorry :P
Title: Re: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on May 30, 2013, 01:27:37 pm
And is the project still alive? :P
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on May 30, 2013, 09:14:24 pm
Well I haven't worked on it in a while, but I've got some more free time now so I might work on it again

The main issue right now is I'm kind of stuck in a development dilemma; I don't want to work on extending the game world until I'm sure the engine is well scaled and bug free (becase then I'll have to re do it) but I can't test the scaling or look for bugs without extending the game world :P
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on May 30, 2013, 10:15:19 pm
That is cool to hear, sucks that you are stuck with development atm tho x.x good luck!
Title: Re: Ash: Phoenix- Reboot
Post by: Hayleia on June 01, 2013, 01:47:10 pm
Hum, maybe you can try making a stupid extended world that would just be repetitions of the same area copy-pasted multiple times, so you can try your engine (and debug it if you find problems) then extend the world for real ?
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on June 24, 2013, 09:01:03 pm
Small progress, I touched the code yesterday in the first time in months (lol) and fired up the IDE. Starting to get back into it a little, I fixed a bug with the item system and optimized a couple bytes off it.

I'm just at the edge of the app max size now, so the next step is probably to move the last of the data out of the app (which will also help making language packs much easier).

I need to finalize how I want the opening of the game to go...That's something I had had a lot of trouble with before development stopped. I've been watching Sequelitis, a youtube show on game design and trying to work it in but it's been difficult. One of the concepts (this can be found in the episode on Megaman) is to introduce the enemy right away to give the player something to work for so I've been working that in. That particular npc script though might be a challenge.

One major weakness of my current engine is that npc's placement cannot be altered by player flag data, only their dialogue... I really don't want to add something in to rectify this because everything is so built up already so I'm just going to need to figure out something clever.
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on June 24, 2013, 11:05:09 pm
Looks very good and glad to see more progress. Just a suggestio, though: You should maybe 3D-ize the rocks and stuff to the right of the forest map, since it kinda looks flat compared to the trees and other stuff.
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on October 29, 2013, 12:44:48 pm
Yeah, I know, necroing this again but :P

Do you still plan to finish it ?
Title: Re: Ash: Phoenix- Reboot
Post by: TheCoder1998 on October 29, 2013, 03:05:20 pm
yeah! this looks awesome!
he should definitely finish it
Title: Re: Ash: Phoenix- Reboot
Post by: tpt1234567890 on October 29, 2013, 05:15:24 pm
yeah! this looks awesome!
he should definitely finish it


Agreed!
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on June 21, 2014, 03:18:51 pm
/me prods Squidgetx with a stick. :I
I'd love to see this finished. Really, you were doing an awesome job with it. :D
Title: Re: Ash: Phoenix- Reboot
Post by: pimathbrainiac on June 21, 2014, 03:20:28 pm
/me seconds the prod.

This looks amazing. I would really like to see this happen.
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on June 21, 2014, 03:24:38 pm
Very true. Ti's a shame squidgetx hasn't been around much recently. Guess he's just been busy.
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on June 21, 2014, 03:27:04 pm
Yeah.
Also TI is a shame indeed. :trollface:
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on June 21, 2014, 03:45:07 pm
Whoops! Dat typo.  :blah:
Title: Re: Ash: Phoenix- Reboot
Post by: JamesV on June 22, 2014, 03:58:33 am
I too would enjoy seeing this project happen! :)
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on June 22, 2014, 07:04:02 am
Yeah especially considering the engine was almost done and only needed some balancing, and he worked hard on the data editor. Would have been a good RPG maker for calcs.
Title: Re: Ash: Phoenix- Reboot
Post by: TheCoder1998 on June 23, 2014, 03:17:20 am
Would have been a good RPG maker for calcs.
^this :D
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on June 23, 2014, 04:19:08 am
Well, we could always pm him. :P
Title: Re: Ash: Phoenix- Reboot
Post by: DJ Omnimaga on June 23, 2014, 10:18:20 am
I think he just got very busy with school and stuff, sadly, and since I know college people tend to move on to other interests I hope he still has plans to release the source if he ever decides to put the axe into the project.
Title: Re: Ash: Phoenix- Reboot
Post by: Streetwalrus on June 23, 2014, 05:33:39 pm
Well when I first necroed it it kinda convinced him to release the source as he progressed but he didn't really keep his promise. :P
Title: Re: Ash: Phoenix- Reboot
Post by: squidgetx on February 23, 2015, 03:09:40 pm
Finally got around to putting up the source on git. School and stuff has kept me insanely busy unfortunately. Would be awesome to come back to this project at some point, but not much time these days :(

Hopefully I can get around to improving the documentation but everything anyone might need to continue the project should be able to be found here.

https://github.com/squidgetx/Phoenix
Title: Re: Ash: Phoenix- Reboot
Post by: Geekboy1011 on February 23, 2015, 10:27:08 pm
Hopefully you can get it done. Else Someone else can take the cake and bake it for ya!
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on February 24, 2015, 01:30:47 pm
Finally got around to putting up the source on git. School and stuff has kept me insanely busy unfortunately. Would be awesome to come back to this project at some point, but not much time these days :(

Hopefully I can get around to improving the documentation but everything anyone might need to continue the project should be able to be found here.

https://github.com/squidgetx/Phoenix

Hey there squidgetx! Good to see you around. It's also nice that you provided the source, so someone can pick it up if they want (yourself included! ;))
Title: Re: Ash: Phoenix- Reboot
Post by: chickendude on March 29, 2015, 11:54:21 am
Wow, really great to see you around (for a day, at least!). If you don't come back to this, one of the other Axe gurus (Matrefeytontias? Hayleia? *nudge*) needs to pick it up :D
Title: Re: Ash: Phoenix- Reboot
Post by: Dudeman313 on January 10, 2016, 04:51:39 pm
Hello! I love this project, and I wish it could be finished. When might we get a full beta demo?
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on January 10, 2016, 08:14:58 pm
There should be a download attachment in this topic somewhere (I think) but that's all there is.

*Edit* Yep, it's in the first post on the first page.
Title: Re: Ash: Phoenix- Reboot
Post by: Dudeman313 on January 10, 2016, 08:29:09 pm
Nope, the latest one is under another topic. Also, it says it will be the last prebeta release. The Beta one never happened.
Title: Re: Ash: Phoenix- Reboot
Post by: TIfanx1999 on January 10, 2016, 11:07:50 pm
Ah well, the latest release is all we have. Unless someone else decides to pick this up it won't go any further.