This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - squidgetx
Pages: 1 ... 5 6 [7] 8 9 ... 123
91
« on: December 07, 2012, 04:42:26 pm »
New glitch, that is sort of seriousish; sometimes upon starting the level you can hit downleft portal and a portal will appear on the left side of the block you're standing on, facing the edge of the screen. Warping into this portal wraps you into the rightmost column of the level, allowing you to just skip to the next level hehe. At work atm so no screenie, but it's easy to duplicate. Try it on level 19. It's probably caused by the portal code note bothering to check for shooting offscreen or something (?)
92
« on: December 07, 2012, 10:38:51 am »
It's just a bit of a conundrum...the real challenge that Axe gray provides is that you have to do twice the screen work twice as fast. Think about the difference in how much code you can put into a 30fps monochrome game vs a 50fps grayscale one. That's why most asm games that use grayscale use crystal timer interrupts
93
« on: December 07, 2012, 10:19:20 am »
Nested libs means that you have an include in an include. ...you can compile archived source... And download zstart, so you can even edit archived source files
Also, this.
94
« on: December 07, 2012, 10:15:28 am »
Don't forget that calling DispGraph^r takes like 59,000 cycles which drops your framerate from 120 down to around 50-60fps Anyway, what I'm concerned with isn't shifting the screen, but with drawing things on the map that don't scroll, like your character and any enemies. The easiest, most flexible, but slowest solution is to back up both buffers, draw those entities, dispgraph, then recall the buffers. The faster, but hardest solution is to use something like Pt-Get (I don't know how fast that routine is, but it's going to be much slower than any kind of aligned copying) to back up only those select areas of the screen where you and/or your enemies are. The problem with that method is that the player will see some visible lag (and possible deterioration in gs quality) when there are multiple enemies on screen, and that it will be slower than the first method in certain cases with multiple unaligned enemies. Again, if you're OK with sticking to 15mhz, then this is a non-issue (and I would use the first method in that case) Also, if the character and enemies are going to be masked sprites, that's not going to be 3000 cycles per sprite. Not trying to ruin the party here, but I literally have been just dealing with these problems in A:P
95
« on: December 07, 2012, 09:57:43 am »
1.0.0 introduced a set of nice functions that can do this quite easily. The idea is to make a set of data containing the addresses of those routines, and then choose randomly from that set.
.Make set of data containing addresses of routines using the L list token Data(LEVENT1r,LEVENT2r,LEVENT3r...LEVENTNr)->GDB1 .Choose randomly and execute that routine using the (LABELADDRESS)() syntax ({rand^n*2+GDB1}r)()
96
« on: December 06, 2012, 08:09:10 pm »
I might have to pull back from this project a bit, life and A:P are keeping me quite busy as it is . I'll still be happy to act as a consultant, hehe, chipping in here and there though. Anyway what I have to say here is that if you guys are going to go grayscale ARPG, you're going to have to sacrifice the 6mhz audience. Redrawing the screen isn't going to be an option, as that takes over 400,000 cycles by itself if you're drawing 2 layers for gray. So the screen is going to be needed to be backed up every frame to draw the enemies and whatnot; simply backing up 1,536 bytes of buffer, drawing the screen (3lvl gray) and restoring those 1,536 bytes is going to take over 123,512 cycles. In 6mhz, that's 48fps. Once you add in scrolling, enemies, and whatnot, the framerate isn't going to be anywhere close to the 45-60fps needed for decent grayscale. (Reference numbers: Horizontal/Vertical commands take about 20k cycles, drwaing an 8x8 sprite takes 2100 cycles. So scrolling with 2 16x16 grayscale sprites onscreen? Add 4*2*2*2100+2*20,000 = ~another 50,000 cycles, dropping the 6mhz framerate down to 30fps). 15mhz is going to be just about right to get you by.
97
« on: December 05, 2012, 07:59:28 pm »
Also for XP, you can merely store the amount of XP needed for next level up instead of storing total xp. Money is a possible-might-need-more-than-65535, but as will pointed out, numbers can be calibrated.
98
« on: December 05, 2012, 05:30:07 pm »
We'll have to be extremely meticulous in documenting which areas of ram are used where. I ran into this issue in the old version of A:P, and with mutliple people working on it it could become a problem really quickly. Things as separate as the NPC engine, battle engine, and item system for example need to use completely separate areas of RAM, otherwise battles won't be able to be called from and return to NPC conversations, and items can't be used during battle, etc.
99
« on: December 05, 2012, 01:12:43 pm »
I'll help if it's in axe/asm
100
« on: December 04, 2012, 09:58:38 pm »
hey everybody, it's quiz time. Q: Why is this in 3lvl gray and not 4? Q: Why was the old version in 3lvl gray? Q: But guess what? Q: What does this mean? 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
101
« 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?
102
« 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. build & source. zStart "Execute >C000" required.
103
« on: November 28, 2012, 05:48:24 pm »
Oh yeah... I forgot about this project.. Well, I *might* have some backups on-calc, but I might not, and my Windows partition shit itself so backups were lost...lol. So, paused. Until A:P is done anyway, and also waiting for optimized clipped line routines from Axe. Sorry
104
« 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 Have a screenshot of the (fully functional) item system and the (partly functional) battle system! Item System Features: -(dev) AddItem,RemoveItem,GetItem API for easy programming -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 and source can be found in the first post. Note that to run this, you'll need zStart's "execute >C000" feature enabled and every program except PHOENIX.8xp in archive.
105
« on: November 26, 2012, 07:21:02 pm »
In the developers folder of the new Axe, you can find Axe.inc which shows you this info (i only know this because runer told me lol) axv_A =$9CFB axv_B =$9CFD axv_C =$9CFF axv_D =$9D01 axv_E =$9D03 axv_F =$9D05 axv_G =$9D07 axv_H =$9D09 axv_I =$9D0B axv_J =$9D0D axv_K =$9D0F axv_L =$9D11 axv_M =$9D13 axv_N =$9D15 axv_O =$9D17 axv_P =$9D19 axv_Q =$9D1B axv_R =$9D1D axv_S =$9D1F axv_T =$9D21 axv_U =$9D23 axv_V =$9D25 axv_W =$9D27 axv_X =$9D29 axv_Y =$9D2B axv_Z =$9D2D axv_Theta =$9D2F
axv_R1 =$9D31 axv_R2 =$9D33 axv_R3 =$9D35 axv_R4 =$9D37 axv_R5 =$9D39 axv_R6 =$9D3B
axv_Y1 =$9D3D axv_Y1Page =$9D3F axv_Y2 =$9D40 axv_Y2Page =$9D42 axv_Y3 =$9D43 axv_Y3Page =$9D45 axv_Y4 =$9D46 axv_Y4Page =$9D48 axv_Y5 =$9D49 axv_Y5Page =$9D4B axv_Y6 =$9D4C axv_Y6Page =$9D4E axv_Y7 =$9D4F axv_Y7Page =$9D51 axv_Y8 =$9D52 axv_Y8Page =$9D54 axv_Y9 =$9D55 axv_Y9Page =$9D57 axv_Y0 =$9D58 axv_Y0Page =$9D5A
axv_SpriteBuff =$9D5B
axv_RandSeed =$9D63
axv_Y1t =$84EB axv_Y2t =$84ED axv_X1t =$84EF axv_X2t =$84F1 axv_Y3t =$84F3 axv_Y4t =$84F5 axv_X3t =$84F7 axv_X4t =$84F9 axv_Y5t =$84FB axv_Y6t =$84FD axv_X5t =$84FF axv_X6t =$8501
Pages: 1 ... 5 6 [7] 8 9 ... 123
|