Discuss. If you don't know what the hell this game is, just know it's a 4 color RPG starring Trio the exiled prince of Crosspelin and Niko the commodore of thieves.
Discuss.
Is this your game that you have been working on for 7+yrs? ;)
If so you might want to rephrase the first post...i was a little confused at first :P
actually, 8+ years O.o
well in the progress bar...
Story: >9000%
Concepts: >900000000000%
well, this will be in many parts... like verdante forest. of course, probably a 16k flash app each O.o
Well actually I have not ever coded an RPG before; A:P will be my first lol. Conversely, my first major Axe project was a platformer of sorts (Space Dash) :P
I see. Well, I admire your work on Ash:phoenix, and I guess I shall be coming to you for advice here and there, if you are okay with that.
I'd like to start a game of my own, but I can't because I know nothing about physics :(
I see. Well, I admire your work on Ash:phoenix, and I guess I shall be coming to you for advice here and there, if you are okay with that.
Thanks. And no problem, I'm sure i'd be able to answer most of your questions ;)
wat it a battl enjin? how do you mak 1? also, how do u clr the screeensoooper 3@$Y juss do Asm(C7)
going today to all technology stores nearby like radioshack and best buy to see what they have. if best buy doesn't have it, I'm sure radio shack will have something. Thing is, if they just have a 3.5 to usb thing, I'll buy a 2.5 to 3.5 mm converter methinks. so, 85% chance I can share progress with this and release pyyrix tonight.
At least I really hope.
sneak attack news: pyyrix is actually a trio and niko: falling character O.o
for real, too.
well, it's an RPG :)
actually, to tell the truth, that's my first time making 4 level 8x8 sprites, so yay.
ms paint, much better, I can easily edit the sprites and pass the size during editing, then cut off excess stuff.
and thanks for the compliment, sorry I didn't get it, I'm just out of it today with understanding things.
I wonder what does it do that others don't?
using my personal sprite editor, I like it over all the rest, I built it for ASHBAD-friendliness, not general coder-friendliness. :)
you should see some of my other tools... they are quite evil! and cool.
thanks, that's about 15 tiles right there O.o
only 985 to go! :D
well, what I'm gonna hate most is making NCPs and such, my terraining skills are great but I suck making people. though monsters are obscenely fun to create :)
I of course read it. I asked because his explanation was not clear to me, so I asked more details. "It's ASHBAD friendly" doesn't tell me much. I want to know what makes it ASHBAD-friendly. If your respect goes down here this is why.I wonder what does it do that others don't?
Didn't you read it?using my personal sprite editor, I like it over all the rest, I built it for ASHBAD-friendliness, not general coder-friendliness. :)
It's ASHABD-friendly! I like to use my own Dev tools to develop too, but I have none :'(
Mock screenie using some of my more recently added/made better tiles, this is what would be seen on a calc screen pretty much:Looks nice! Try to not have too many tiles, though. I think 200-300 would be enough for the overworld. That's unless your maps get very complex. Also I'll do a fixed version of the screenshot above reflecting more the grayscale levels on-calc
(http://img525.imageshack.us/img525/9355/mocktrioandniko1.png)
the style I'm going with for the tiles is simular to my normal style for comp games. Not to brag or anything, I think these are great. :)
I'm impressed with myself, but then again, I have been doing pixel art for almost 2 years now so I would hope I could make decent tiles.
If you have not noticed, trio and niko will be very graphical, and I doubt I'll be using less than 255 tiles in it, probably closer to 1000 to be realistic.
yeah, for me, it looks like that second one on my calc.. I guess the 83+ just won't work great with the grayscale. I'm fine with the second result, the first looks horrific, though. thanks for that help, though!
Also, maybe I'll only need 255 tiles afterall, but that won't include NCPs and monsters and battle engine stuff.
Well, since it's actually probably not gonna be in Axe, but rather a large asm flash app, I might try and make my own 4 level grayscale routines so that the tiles look closer to my ms paint pic.
I think you should also have varied shades of grayscale for those tiles, though, like grass, dirt or even dark ground. It might look great for some maps.
working on some basic coding right now, it's going well so far. yeah, making multipage apps in brass is insanely FUN
basic coding as in I'm making some rudimentary grayscale and drawing and math subroutines in asm right now, not the actual coding of the game itself.
look at my avatar for progress updtate
good guess, but no. The screens are more zelda style, allowing better, less flickery grayscale. As it is, I still am struggling with my show 4 level grayscale routine and even more so with my clipped sprite routine. But I'll figure those out on my own. Hopefully, next avatar will show all moves the character can possibly do.Ah sorry to hear, good luck!
Just a note: Drawing your character sprites in 4-level grayscale will make drawing them as masked sprites more challenging than 3-level grayscale sprites.I personally would just use multiple sprites for the masking, although that takes more space. OR the screen with a sprite where the black is the sprite area on both buffers, then display an inverted version of your character black/ligth gray layer on a buffer and the other layer on the other buffer, then you got masked sprites that are still 4 level grayscale.
sorry for double post but...
MY 4 LEVEL GRAY ROUTINE WORKS PERFECTLY!!! IT'Z BEUATIFUL!!
therefore, progress going good so far today :)
It begins in the secret briefing room of the Holy Termanian emipre in the capital city of Crosspelin. The king, Herrna the Omnipotent has called together a band of his finest warriors and his son, the prince Trio. THe king begun to arrange a large squadron of the best in his army to challenge his neighbor, king Mikhail the omnipotent of the swamplands. Urging his son to assume his role until he returned victorious from battle, Trio is left at the throne as king Trio.
At the same exact time, a man named Niko pulls together his finest thieves to overrun Termanian cities during the abcense of the king. Trio, discovering this plot, rides a ragtag army of villagers and remaining knights into a small city to defend against the thieves, and loses in battle. Trio is then held captive at the hands of Niko and his band of mercenaries. Even worse, the king and his squadron were annihilated by a suprise ambush sent by king Mikhail. Crosspelin is up for grabs for anyone to take, and many people wsih to make it their own.
Trio, convincing Niko that he will give him power if he would help him win back his country, is let free, and Trio and Niko leave on their own to spy on recently captured cities in the crumbling empire. And from there, the adventure begins...
today I just compiled my first multipage app (4 pages of hello world code ;))
:w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t:
today I just compiled my first multipage app (4 pages of hello world code ;))lolwut? Cool that you can now compile multiple pages app, though. Also your project story looks interesting, I can't wait for more updates. :)
:w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t:
LOLWUT? I'M ALREADY DONE THE SPRITES??? I'm only done the story so far, but the sprites are going well (20%), gameplay is still at 0% while I figure out exactly what and how to code the engine(s)
and, I still need to make a coolio userbar for the game, but maybe when I have some really beastly sprites done I shall.
Okay, I'll take general coder 3 if it's still open. Will this be in ARM assembly?Well we don't even know if the Prizm even use an ARM processor in the first place.
not enough room, I'd need a multipage app
I'm sure in the future a genius like calc84maniac will write some sort of z80 emu for the prizm or even it's later superior calc O.O
I would help but unfortunately I don't do C/ASM and am limited in my Casio BASIC knowledge.
well, maybe KOS will be graced with trio and niko :D
EDIT: no, main version still gonna be casio prizm
well, maybe KOS will be graced with trio and niko :D
EDIT: no, main version still gonna be casio prizm
KOS will take a long time and I hope you are aware of that :S Don't plan KOS programs, though. Wait for Sir's announcements.
well, maybe KOS will be graced with trio and niko :D
EDIT: no, main version still gonna be casio prizm
KOS will take a long time and I hope you are aware of that :S Don't plan KOS programs, though. Wait for Sir's announcements.
of course, I'm saying if I ever make a z80 version I would use KOS which I'm sure is gonna come out sometime in 2011 :)
well, maybe KOS will be graced with trio and niko :D
EDIT: no, main version still gonna be casio prizm
KOS will take a long time and I hope you are aware of that :S Don't plan KOS programs, though. Wait for Sir's announcements.
of course, I'm saying if I ever make a z80 version I would use KOS which I'm sure is gonna come out sometime in 2011 :)
That's for sure, though.
4
screw the prizm, it won't get a good community following for at least a year.
/me is joking
but seriously, there's two pages about the casio prizm on this thread, it's a slight bit off topic it seems
so let's go back on topic, at last
I'm not sure, right now I'm fine, but maybe later. I might get caught up with coding later, so we'll see ;)
maybe I'll keep the team, though I'm not entirely sure I'll need it anymore just yet. Though, maybe like I said to scout, I'll ask for some help later on when I'm busier in school and have to do extreme coding stuff.
Also, school is ending (this term) for lots of people.
tons more sprites today, will post around 100 of them in about 2 hours
tons more sprites today, will post around 100 of them in about 2 hoursNice idea. I thought about doing that if I ever made a huge game with maps. Tile palettes are nice too.
and here's my way to tilemap:
a room is basically the size of the tile data + 1, the extra byte determines which 256 tile "set" to draw from. So tile 5 in set 1 migt be grass, tile 5 in set 2 might be part of a tree or a tiled stone pathway.
(http://www.omnimaga.org/index.php?action=dlattach;topic=5459.0;attach=4892;image)Looks great! O.O Did you make all of these btw? It looks really nice and well layed out :D
MOAR SCREENIEZIs that... 666-bit green? :w00t:
and yes everything here you see is all original and made by yours truly -- and I take pride in that.
(http://img545.imageshack.us/img545/8391/screenie3.png)
(http://img440.imageshack.us/img440/6705/screenie3l.png)
EDIT: I see imageshack has made the bottom one blurry, the top one is unchanged though.
o.o
* Builderboy doesn't want to wait 1 year for ingame stuff :(*
MOAR SCREENIEZWow this looks fucking great! Awesome job in those maps and sprites. O.O
and yes everything here you see is all original and made by yours truly -- and I take pride in that.
(http://img545.imageshack.us/img545/8391/screenie3.png)
(http://img440.imageshack.us/img440/6705/screenie3l.png)
EDIT: I see imageshack has made the bottom one blurry, the top one is unchanged though.
Wow this looks fucking great! Awesome job in those maps and sprites.We can use these words in this forum? ???
7: Flooding and spam outside the "Randomness" section (invisible to guests) of the forums. On IRC, using the character • (Alt+7 on keyboard) or mass highlighting (posting everyone's nicknames on IRC for no reason) are also considered as spam.
8: NSFW/C (Not suitable for work/children) content outside the "Randomness" section of the forums. This excludes swearing, which is allowed everywhere, providing it doesn't break rule #7.
Indeed, there were never any restriction on bad words on Omnimaga unless your sentence is like over 50% made of bad words. :P People just don't use them that often.QuoteWow this looks fucking great! Awesome job in those maps and sprites.We can use these words in this forum? ???
THIS PROJECT IS DEADDon't scare us like that <_<Spoiler For REALLY?:
(Ashbad says: :evillaugh:)
THIS PROJECT IS DEADI was scared at first. X.x I'm glad this is still alive. :DSpoiler For REALLY?:
THIS PROJECT IS DEADI was scared at first. X.x I'm glad this is still alive. :DSpoiler For REALLY?:
Ashbad could ou PM me some more info? That way I can start working on the scripts and the NPC's...Oh cool are you working with him on Trio and Niko? :D
8x8 is too small for me to work with, I've tried but it's incredibly tough to get something decent with such a low LOD.
Trioa nd niko will stay on z80 calcs, but the rule and conquer game I had in development would be better on the new prizm.Ok good luck! Feel free to ask help in the ASM section if you can't figure out. :)
Well, I am stuck on the tilemapper for the game right now, I know the format I am using, but I still am trying to get it to display tiles in ordre :P
Will hopefulyl get it working by later today, maybe even some sort of screenie (?)
Ashbad could ou PM me some more info? That way I can start working on the scripts and the NPC's...Oh cool are you working with him on Trio and Niko? :D
8x8 is too small for me to work with, I've tried but it's incredibly tough to get something decent with such a low LOD.
One thing, though: Did you already restart school? Because it's still kinda holidays vacations O.OI don't know about him, but I already did. :-/
eh, I'm gonna either kill this for a little bit or just restart it. I found my old plans for this I wrote up... let's say 5 years ago... and I've got it all wrong. It's supposed to be an ARPG based on Zelda ALTTP. I don't wanna make it wrong. I'm busy in real life, mostly with school. If I get all A's on my semester report card, I'll promise to restart this project the way it was supposed to be done. Please forgive me.I don't think there is a *wrong* way to make a game. I think that you should make the kind of game *YOU* want to make. If you like your original idea, by all means go with it. If you like the direction you were taking before rediscovering your old notes, go that way instead. Things change in 5 years after all. =)Spoiler For ...Really???:
RaNdOm NeWs Of TeH W33K!1!1!:lolwut
I just got unbanned from this forum site called "Toolkitzone" where i learned how to actually program using this really HLL called "RPGcode". I lost so much respect (not the same as the click to get kind we have here :3) when I said it was a "Vrey High Level Language" and that z80 assemlby was a very low level language. they thought that I thought that RPGcode was much harder than what I was trying to achieve next, which in reality as you all know of course, LLL's like assembly are much harder. BUT WHY am I explaining this to you all here? It's gonna be seen from people in toolkitzone who I am about to post a link to this page to, and they don't know shit about anything besides C++ and RPGcode.
I got banned in september for some reason even when I never logged on, and I found out a few days ago my avater was blocked for trolling. Of course alvin the chipmunk looks like a troll, I must've forgotten. Everyone here on omni say cheese to the TKers!
I don't think there is a *wrong* way to make a game.
Or if you scale the display to 1*1 pixel.
I don't think there is a *wrong* way to make a game.
...Unless you write it in Ruby and make it platform specific to the Commodore 64.
I don't think there is a *wrong* way to make a game.
...Unless you write it in Ruby and make it platform specific to the Commodore 64.
What counts is the result, not how you made a game (unless you stole stuff). I kinda dislike when people bashes people for using a software instead of another or a language instead of another. I think it's close-minded.
Oh I meant about people who diss a project because it was made with RPG Maker or another pre-made engine instead of all coded in ASM or C, even if it's awesome. People excuse is usually that using an engine is cheating or that it's not as efficient. But who cares? I think the author should use whatever he feels comfortable with. That said, there are ways to make games that are really not efficient, though. Example would be if you try making a raycaster in TI-BASIC with no ASM libs and it renders at 1 frame per minute.What counts is the result, not how you made a game (unless you stole stuff). I kinda dislike when people bashes people for using a software instead of another or a language instead of another. I think it's close-minded.
Well, the Commodore 64 is a very slow platform to try handling Ruby, considering that it only ran at 1.023 MHz.
Example would be if you try making a raycaster in TI-BASIC with no ASM libs and it renders at 1 frame per minute.
thanks eeems ;) Sorry for adverting moar than once :(
Now guys, seeing the two gifs, qwerty's demonstrating speed and eeems' demonstrating the sword engine (so far) what do you think should be improved early on? What should be added next? (besides the obvious tilemapping and enemies :P)
making the sword swing go around 360 degrees no matter which side you face. because everytime you swing the sword you end up facing north.++
Wow, I've been around the TI community too long. When you said you wanted to make this an ARPG, i thought you meant <a href="http://www.ticalc.org/archives/files/fileinfo/120/12080.html">this</a>, not: Action Role Playing Game. That would've limited the game dev some. :hyper:
Nice! I may have to reference your source to see how you got such speed. This kinda makes me wanna revive my old Legend of Zelda game...
well, instead of RandC. Yes, though axe to be precise. By the time I get that silverlink cable I'll have like 5 game to upload to omni O.o
Discuss further.
It's Axe, I believe.
I decided to keep the tiles from before, but I'll make this in axe, so we don't all die before it gets finished ;)It's in Axe.
just got 4 level tilemapping in, and it's still at around 20 FPS with 4 level tiling and collision detection. WITHOUT USE OF FULL YET.
I decided to keep the tiles from before, but I'll make this in axe, so we don't all die before it gets finished ;)It's in Axe.
just got 4 level tilemapping in, and it's still at around 20 FPS with 4 level tiling and collision detection. WITHOUT USE OF FULL YET.
yeah, axe so that I can get it done faster. The main reason I went asm before was actually deal with code limits, but a zelda-ish ARPG would not be overflowing past around 12K code in axe.
So, you guys like the latest updates then?
just fixed a bug with the movable blocks. I'm adding in the effect where when you get hurt, you flash, and can'tr take damage until you stop flashing.
just fixed a bug with the movable blocks. I'm adding in the effect where when you get hurt, you flash, and can'tr take damage until you stop flashing.
A lot of games have this feature, go ahead, I like it, despite being really annoying sometimes.
If getKey(2) and ({G*12+F-1*2+theta+1}=2 and ({G*12+F-2*2+theta+1}=0))
.....
End
which could be changed to If getKey(2)
!If {G*12+F-1*2+theta+1}-2
!If {G*12+F-2*2+theta+1}
.....
End
End
End
which would help a lot for speed but make the game bigger :P0->{G*12+F+1*2+theta}
0->{G*12+F+1*2+theta+1}
can be easily changed to 0->{G*12+F+1*2+theta}^^r
although of course that doesn't work for any number besides 0ElseIf {A*4+L1+300}=2
Else!If {A*4+L1+300}-2
G*12+F+1*2+theta
*go KC, beat the ravens so the steelers have an easy game next week *
Those graphics look really good! Nice use of 4-level.*go KC, beat the ravens so the steelers have an easy game next week *
... ;D
Yes. Besides, I hate ION. It cleared my RAM every time I tried it, and half the programs won't show up on DCS as ION programs. :PI think Mirage run ARPGCS, but ARPGCS will crash pretty often on exit when using OS 1.14 or higher. Not a big loss, though, because only two or three ARPGCS are actually good and the best one is in French so most people here cannot play it.
(http://www.omnimaga.org/index.php?action=dlattach;topic=5459.0;attach=5450;image)That looks awesome! O.O
Yes. Besides, I hate ION. It cleared my RAM every time I tried it, and half the programs won't show up on DCS as ION programs. :PI think Mirage run ARPGCS, but ARPGCS will crash pretty often on exit when using OS 1.14 or higher. Not a big loss, though, because only two or three ARPGCS are actually good and the best one is in French so most people here cannot play it.Quote(http://www.omnimaga.org/index.php?action=dlattach;topic=5459.0;attach=5450;image)That looks awesome! O.O
but I can guesss that I'm 75% done with coding already 8)Dang, that's good progress!
Woah I didn't notice the 75% part, nice! Does it mean mostly the maps remain to be done now? That said, backup often, though, because I often see projects suffer data losses after a lot of progress is done X.x
Nice, I personally liked Zelda II system, except the fact levels couldn't not go past 8 for each stats, making the final dungeon nearly impossible. X.x.Woah I didn't notice the 75% part, nice! Does it mean mostly the maps remain to be done now? That said, backup often, though, because I often see projects suffer data losses after a lot of progress is done X.x
yeah, I've been at more like 85% right now, just got the enemies to hurt you, but now i'[m making sword directions and sword detection boundaries to enable fast (but accurate) damage dealing.
Plus, here's what I also did:
- I changed the "dots" that represent life points to a bar like magic bar, and it improved the speed by 5 FPS O.O
- I now have 3 different enemies, which go at different speeds:
- Slime: moves 8 times slower than you, deals one damage, easy to hit.
- Black Slime: moves 4 times slower than you, deals two damage, still pretty easy to hit
- Super Slime: Moves about half your speed, Deals 3 or 4 damage, moar of a challenge to hit.
- Working on a moblin-esque enemy, and then maybe one like the roaming knights in Zelda I that can only be hit from the back.
- An experience system like Zelda 2 (the HUD looks almost JUST LIKE Zelda II's)
- Random, but also added a spike tile that deals 2 damage
- a pretty decent game over screen
...And that's about it.
yeah, that final dungeon was pretty... fun. :PApparently Romancing Saga 3 final boss is incredibly hard too. One hard boss would also be Illusiat 11 optional boss in the last chapter, but that's not a final boss or sequence, so yeah. :P
I hated how you had to beat thunderbird THEN shadowlink after it, and even on maxed out levels they are as hard as... actually I can't think of a harder boss sequence. :)
Mine will probably support health/magic to 256, and strength to at least 16.
TaNF app:Nice, I see you got it compiled before me lol (I had to go eat). Did he give you permission to post it in public yet, though? Maybe he wanted to post it himself?
I was trying to get it to him privately, but my email is messed up :POh, sorry to hear. Oh well, I will download now I guess, since I would download it anyway when he posts it.
yeah, I know, I just cut the code down from 13.5K to about 10.8K. Though, I plan on trying to get below 9K :P
The mx yuo can ever get is 255 MP, and It would take many hours of level grindingHmm, 255 MP reminds me of something... :P
...does it happen to remind you of the 8 bit version of -1? :Dno. OS 2.55MP. ;D
hmm, turns out I still need to work out a few kinks. So tomorrow.
I wish I could post screenies, but I'm in the middle of something really big. Sorry, but when screenies do come you'll see tons of progress ;)
I like your image very much Ashbad :D
WHAT?!?!?!?!?!?!?! :o :crazy: O.O :o :crazy: O.OIt's possible. Illusiat 13 has 800 screens (16x8 each). If the data is in BASIC, though, it's friggin huge (Illusiat 13 maps are between 128 and 256 bytes large each)
400 screens? How can you store that much data oncalc?
Aside from that, this looks sweet! I think your title screen is really neat.
WHAT?!?!?!?!?!?!?! :o :crazy: O.O :o :crazy: O.O
400 screens? How can you store that much data oncalc?
Aside from that, this looks sweet! I think your title screen is really neat.
Maybe he's secretly hiding porn in his game code? ;DGreat, now he's not going to release it because you found out. Either that, or miraculously looses 9001 bytes. ;-)
Maybe he's secretly hiding porn in his game code? ;DGreat, now he's not going to release it because you found out. Either that, or miraculously looses 9001 bytes. ;-)
And I just forgot, I had random unrelated things to do...Maybe he's secretly hiding porn in his game code? ;DGreat, now he's not going to release it because you found out. Either that, or miraculously looses 9001 bytes. ;-)
I have pr0n of DJ ;) shmexy
/me realizes how weird that just was
And I just forgot, I had random unrelated things to do...Maybe he's secretly hiding porn in his game code? ;DGreat, now he's not going to release it because you found out. Either that, or miraculously looses 9001 bytes. ;-)
I have pr0n of DJ ;) shmexy
/me realizes how weird that just was
In case you wanna see the title screen program (so far) in action, here it is. I suggest trying it on calc (a non TI-83+ BE) to see the almost-absence of flicker. I aligned the 4 level gray almost perfectly to the LCD driver's delay period.
thanks scout, I appreciate your feedback :D
well, Imma REALLY stucmk right now with the engine, BUT that means I can work on other aspects at the same time.
well, Imma REALLY stucmk right now with the engine, BUT that means I can work on other aspects at the same time.
Is it scrolling already?
well, Imma REALLY stucmk right now with the engine, BUT that means I can work on other aspects at the same time.
Is it scrolling already?
well, by scrolling as in between screens, not quite yet :P
but almost ;)
'tis a great Idea squidget! I'll try a form of that ;)
kinda, an appvar for every 64 screens.
well, it's only 8x8, and earlier dungeons won't even have that :P they'll have some blank rooms.
GetCalc("appvMAP",Y1)->X
GetCalc("appvT1",202)->A
R*202+X -> X
Copy(X,A,202
Quick question: am I trying to read an appvar from Archive, and it's going very unsuccessfully. Here is what I'm doing:Code: [Select]GetCalc("appvMAP",Y1)->X
GetCalc("appvT1",202)->A
R*202+X -> X
Copy(X,A,202
Am I using the pointer to the archived var in the wrong way?
GetCalc("appvMAP",Y1)
Copy(R*202+Y1,GetCalc("appvT1",202),202
You can't use file pointers the same way you use regular ones :).
The getcalc operation with file pointers doesn't return a pointer to the appvar like with appvars that are in RAM because objects in archive need three bytes, not two to access them. You need a byte for the page that the object is on and two bytes for its position within the page. Because of this, the GetCalc() operation doesn't return a pointer that you can store to a variable like with objects in RAM. So instead of using the value returned by the getCalc operation, you just use the file name (eg Y1, Y2, etc). Note that (i think) you can't do any math besides addition or subtraction with them- no Y1*2 or anything like that. Anyway, the correct (and optimized) way to do what you are trying to do isCode: [Select]GetCalc("appvMAP",Y1)
Copy(R*202+Y1,GetCalc("appvT1",202),202
Yeah same. I hope he isn't done with calc stuff, noticing his other newer project is now a C++ project and his dropping activity. :/
Yeah same. I hope he isn't done with calc stuff, noticing his other newer project is now a C++ project and his dropping activity. :/It actually isn't a C++ project. I am writing my half of it in C++. He will do his half in ASM.
Yeah same. I hope he isn't done with calc stuff, noticing his other newer project is now a C++ project and his dropping activity. :/It actually isn't a C++ project. I am writing my half of it in C++. He will do his half in ASM.
Wait, do you mean it's both on-calc and on-computer?Yeah same. I hope he isn't done with calc stuff, noticing his other newer project is now a C++ project and his dropping activity. :/It actually isn't a C++ project. I am writing my half of it in C++. He will do his half in ASM.
thanks scout ;)
also, this will take more than Friday to make a new press release unlike pyyrix, no idea when I'll be ready. I have so much done that you guys can't see, yet I can't post it yet :(
thanks scout ;)
also, this will take more than Friday to make a new press release unlike pyyrix, no idea when I'll be ready. I have so much done that you guys can't see, yet I can't post it yet :(
like the two source codes?
I doubt you'll actually understand anything. I barely do anymore. I actually jump around all over the place in the program, so you'll take five minutes back and forth just to see all the enemy code. But, it's fast like hell ;) 45 FPS with 3 enemies and 2 items on screen, and practivally no flicker at these times. I bet even the boss fights will be over 55 FPS.
:.TaNF
:"prgmTITLE"[00]Asm(E7EF7C4E
:Full
:FnOff
:Fix 5
:Fix 2
:GetCalc("vA",768)
:GetCalc("vB",768)
:
:
:.ITEMS
:{L1}+300→A
:0→{A}
:Fill(A,7
:
:.ENEMY STATS
:conj(θ+168,{L1}+400,24
:
:
:.SLOWTIMER
:0→{{L1}+216}{^r}
:.CUR SPELL
:0→N
:.HEALTH/MAGIC /STRENGTH XP
:0→{{L1}+10}{^r}
:50→{{L1}+12}{^r}
:100→{{L1}+14}{^r}
:500→{{L1}+16}{^r}
:
:.SWORD DIR
:0→{{L1}+214}
:.STRENGTH
:1→S
:.DMG FLASH
:0→{{L1}+212}
:.BLOCKMOVE
:0→{{L1}+210}
:.MONOMODE
:0→{{L2}}
:.HEALTH/MHP
:5→{{L1}}
:5→{{L1}+1}
:.MAGIC/MMP
:5→{{L1}+2}
:5→{{L1}+3}
:.X, Y, AND DIR
:8→X
:8→Y
:2→D
:
:
:.STEP ANI STATS
:0→{{L1}+200}→{{L1}+202}
:.SWORD SWING/SPIN STATS
:0→{{L1}+204}→{{L1}+206}
:.WEP COOLDOWN
:0→{{L1}+208}
:
:.ROOM NUM
:0→{{L1}+500}
:
:sub(STM
:
:
:Repeat getKey(15)
:
:If getKey(0)
:If {{L1}+206}=0 or ({{L1}+208}≠0)
:If getKey(2)
:3→D
:ElseIf getKey(3)
:1→D
:ElseIf getKey(4)
:0→D
:ElseIf getKey(1)
:2→D
:End
:End
:End
:
:conj(U,{L6},768
:conj(V,{L3},768
:
:If {{L1}+204}
:sub(SWD
:ElseIf {{L1}+206}>0 and ({{L1}+204}=0 and ({{L1}+208}=0))
:sub(SPN
:End
:
:
:
:If getKey(54) and ({{L1}+206}=0)
:sub(SWD
:End
:
:X/8→F
:Y/8→G
:(G*12+F-1*2+θ+1)→I
:(G*12+F+1*2+θ+1)→J
:(G-1*12+F*2+θ+1)→K
:(G+1*12+F*2+θ+1)→L
:
:If getKey(0)
:Normal
:If getKey(48)
:Full
:sub(MG
:End
:Normal
:If getKey(55)
:Full
:sub(XP
:ElseIf getKey(40)
:Full
:sub(MAG
:End
:Full
:
:
:
:
:If {{L1}+204}=0 or ({{L1}+208}>0)
:If getKey(2) and (X>0)
:If ((Y^8)≠0) and ({I}=0 and ({I+24}=0))
:X-1→X
:ElseIf Y^8=0 and ({I}=0)
:X-1→X
:ElseIf X^8>0 and (({I}≠0) or ({I+24}≠0))
:X-1→X
:End
:
:ElseIf getKey(3) and (X<88)
:If Y^8≠0 and ({J}=0) and ({J+24}=0)
:X+1→X
:ElseIf Y^8=0 and ({J}=0)
:X+1→X
:End
:End
:X/8→F
:Y/8→G
:
:If getKey(4) and (Y>0)
:If X^8≠0 and ({K}=0) and ({K+2}=0)
:Y-1→Y
:ElseIf X^8=0 and ({K}=0)
:Y-1→Y
:ElseIf Y^8>0 and (({K}≠0) or ({K+2}≠0))
:Y-1→Y
:End
:ElseIf getKey(1) and (Y<48)
:If X^8≠0 and ({L}=0) and ({L+2}=0)
:Y+1→Y
:ElseIf X^8=0 and ({L}=0)
:Y+1→Y
:End
:End
:If getKey(2) or (getKey(3) or (getKey(1) or (getKey(4))))
:If {{L1}+202}<6
:0→{{L1}+200}
:{{L1}+202}+1→{{L1}+202}
:ElseIf {{L1}+202}<12
:1→{{L1}+200}
:{{L1}+202}+1→{{L1}+202}
:ElseIf {{L1}+202}≥12
:0→{{L1}+202}→{{L1}+200}
:End
:End
:End
:If getKey(2) and ({I}=2 and ({I-2}=0))
:{{L1}+210}+1→{{L1}+210}
:ElseIf getKey(3) and ({J}=2 and ({J+2}=0))
:{{L1}+210}+1→{{L1}+210}
:ElseIf getKey(4) and ({K}=2 and ({K-24}=0))
:{{L1}+210}+1→{{L1}+210}
:ElseIf getKey(1) and ({L}=2 and ({K+24}=0))
:{{L1}+210}+1→{{L1}+210}
:End
:D→{{L1}+211}
:If {{L1}+210}≥35
:!If {{L1}+211}
:If {K}=2
:0→{K-1}{^r}
:2→{K-25}
:2→{K-24}
:End
:Else!If {{L1}+211}-1
:If {J}=2
:0→{J-1}{^r}
:2→{J+1}
:2→{J+2}
:End
:Else!If {{L1}+211}-2
:If {L}=2
:0→{L-1}{^r}
:2→{L+23}
:2→{L+24}
:End
:Else!If {{L1}+211}-3
:If {I}=2
:0→{I-1}{^r}
:2→{I-3}
:2→{I-2}
:End
:End
:0→{{L1}+210}{^r}
:sub(STM
:End
:
:
:If X≥84
:8→X
:{{L1}+500}+1→{{L1}+500}
:sub(STM
:ElseIf X≤4
:80→X
:{{L1}+500}-1→{{L1}+500}
:sub(STM
:ElseIf Y≤4
:40→Y
:{{L1}+500}-8→{{L1}+500}
:sub(STM
:ElseIf Y≥44
:8→Y
:{{L1}+500}+8→{{L1}+500}
:sub(STM
:End
:
:
:End
:
:!If {I+1}-3
:!If {{L1}+212}
:sub(DMG,2
:End:End
:
:
:Return!If {{L1}}
:
:
:
:If {{L1}+216}{^r}
:{{L1}+216}{^r}-1→{{L1}+216}{^r}
:End
:
:sub(ENE
:sub(ITM
:sub(DPL
:sub(HUD
:
:
:
:If {{L2}}=2
:Normal
:DispGraph{^r}
:Full
:ElseIf {{L2}}
:DispGraph
:Else
:Normal
:DispGraph{^r}{^r}
:Full
:ClrDraw
:ClrDraw{^r}
:End
:End
:DelVar "vA"
:DelVar "vB"
:DelVar "vT1"
:Return
:
:
:
:
:
:
:
:
:
:Lbl MG
:Return!If N
:...
:QUAKE
:...
:If N=1 and ({{L1}+2}≥2)
:sub(DMP,2
:sub(ENE
:Normal
:DispGraph{^r}{^r}
:For(A,0,50
:Horizontal -
:Horizontal +{^r}
:DispGraph{^r}{^r}
:End
:Full
:For(A,0,2
:If {A*8+{L1}+400}
:A*8+{L1}+403→B
:{B}-1→{B}
:!If {B}
:0→{B-3}
:End
:End
:End
:...
:SLOW
:...
:ElseIf N=2 and ({{L1}+2}≥10)
:!If {{L1}+216}{^r}
:sub(DMP,10
:1024→{{L1}+216}{^r}
:sub(ENE
:Normal
:For(A,0,20
:DrawInv
:DispGraph{^r}{^r}
:DrawInv {^r}
:DispGraph{^r}{^r}
:DrawInv
:DispGraph{^r}{^r}
:DrawInv {^r}
:DispGraph{^r}{^r}
:End
:Full
:End
:...
:ERUPTION
:...
:ElseIf N=3 and ({{L1}+2}>25)
:sub(DMP,25
:For(A,0,2
:A*8+{L1}+403→B
:If {B}>10
:{B}-10→{B}
:Else
:0→{B-3}
:End
:End
:Normal
:For(A,0,25
:DrawInv
:Horizontal +
:Horizontal -{^r}
:DispGraph{^r}{^r}
:DrawInv {^r}
:Horizontal -
:Horizontal +{^r}
:DispGraph{^r}{^r}
:End
:Full
:...
:SHIMMER
:...
:ElseIf N=4 and ({{L1}+2}≥40)
:sub(DMP,40
:255→{{L1}+212}
:Normal
:255→{{L6}}
:For(A,0,25
:Fill({L6},767
:DispGraph{^r}{^r}
:End
:Full
:...
:MOROSE
:...
:ElseIf N=5 and ({{L1}+2}≥75)
:sub(DMP,75
:For(A,0,167
:If {A+θ}=2
:0→{A+θ}
:End
:End
:Normal
:For(A,0,15
:A*4→B
:rref(0,B,96,2
:rref(0,B+2,96,2){^r}
:DispGraph{^r}{^r}
:End
:Full
:...
:SPELL
:...
:ElseIf N=6 and ({{L1}+2}≥125)
:sub(DMP,125
:sub(ENE
:ClrDraw{^r}
:Normal
:For(A,0,25
:DispGraph{^r}{^r}
:End
:StorePic
:ClrDraw
:For(A,0,25
:DispGraph{^r}{^r}
:End
:ClrDraw{^r}
:For(A,0,10
:DispGraph{^r}{^r}
:End
:Full
:For(A,0,83
:!If {A*2+θ+1}-3
:0→{A*2+θ+1}
:End:End
:For(A,0,2
:A*8+{L1}+400→B
:{B}-1→{B}
:If {B+3}≥25
:{B+3}-25→{B+3}
:Else
:0→{B}
:End
:End
:...
:HOLY
:...
:ElseIf N=7 and ({{L1}+2}≥250)
:sub(DMP,250
:{{L1}+1}→{{L1}}
:For(A,0,2
:A*8+{L1}+400→B
:If {B}≤3
:0→{B}
:End:End
:Normal
:For(A,0,128
:rref(rand^96,rand^64,rand^20,rand^20
:expr({L3},{L6},768
:DispGraph{^r}{^r}
:End
:Full
:
:End
:
:sub(STM
:Return
:
:
:
:
:
:Lbl DMP
:If {r1}≤{{L1}+2}
:{{L1}+2}-{r1}→{{L1}+2}
:Else
:0→{{L1}+2}
:End
:Return
:
:
:
:
:Lbl MAG
:ClrDraw{^r}
:ref(8,0,64,64
:rref(9,1,62,62
:StorePic
:0→C
:DispGraph
:Normal
:Pause 200
:Repeat getKey(56)
:ClrDraw
:RecallPic
:Text(10,2,"MP: ",{{L1}+2}â–ºDec," / ",{{L1}+3}â–ºDec
:Text(15,12,"Quake - 2"
:Text(15,19,"Slow - 10"
:Text(15,26,"Eruption - 25"
:Text(15,33,"Shimmer - 40"
:Text(15,40,"Morose - 75"
:Text(15,47,"Spell - 125"
:Text(15,54,"Holy - 250"
:Pt-On(10,C*7+12,[0040A09090A04000]
:If getKey(4) and (C>0)
:C-1→C
:ElseIf getKey(1) and (C<6)
:C+1→C
:End
:
:If getKey(54)
:C+1→N
:ref(9,1,62,62
:rref(9,1,62,62
:DispGraph
:Pause 200
:Goto 003
:End
:
:
:DispGraph
:End
:Lbl 003
:Full
:sub(STM
:Return
:
:
:
:
:
:
:
:Lbl XP
:ClrDraw{^r}
:ref(16,8,64,48
:rref(17,9,62,46
:StorePic
:DispGraph
:Normal
:Pause 200
:0→C
:Repeat getKey(56)
:ClrDraw
:RecallPic
:Text(18,10,"EXP.:",{{L1}+10}{^r}â–ºDec
:Text(23,20,"HP needs: ",{{L1}+12}{^r}â–ºDec
:Text(23,28,"MP needs: ",{{L1}+14}{^r}â–ºDec
:Text(23,36,"STR needs: ",{{L1}+16}{^r}â–ºDec
:Text(18,48,"H: ",{{L1}+1}â–ºDec," M: ",{{L1}+3}â–ºDec," S: ",Sâ–ºDec
:Pt-On(18,C*8+20,[0040A09090A04000]
:If getKey(1) and (C<2)
:C+1→C
:ElseIf getKey(4) and (C>0)
:C-1→C
:End
:If getKey(54)
:!If C
:If {{L1}+10}{^r}≥{{L1}+12}{^r}
:{{L1}+10}{^r}-{{L1}+12}{^r}→{{L1}+10}{^r}
:{{L1}+1}+2→{{L1}+1}
:If {{L1}+1}>200
:{-}1→{{L1}+12}{^r}
:ElseIf {{L1}+1}>100
:50000→{{L1}+12}{^r}
:Else
:{{L1}+12}{^r}+({{L1}+1}-5*10)→{{L1}+12}{^r}
:End
:End
:Else!If C-1
:If {{L1}+10}{^r}≥{{L1}+14}{^r}
:{{L1}+10}{^r}-{{L1}+14}{^r}→{{L1}+10}{^r}
:{{L1}+3}+3→{{L1}+3}
:If {{L1}+3}>150
:{-}1→{{L1}+14}{^r}
:ElseIf {{L1}+3}>75
:48500→{{L1}+14}{^r}
:Else
:{{L1}+14}{^r}+({{L1}+3}-5*20)→{{L1}+14}{^r}
:End
:End
:Else!If C-2
:If {{L1}+10}{^r}≥{{L1}+16}{^r}
:{{L1}+10}{^r}-{{L1}+16}{^r}→{{L1}+10}{^r}
:S+1→S
:If S>50
:{-}1→{{L1}+16}{^r}
:ElseIf S>25
:25000→{{L1}+16}{^r}
:Else
:{{L1}+16}{^r}+500→{{L1}+16}{^r}
:End
:End
:End
:
:End
:DispGraph
:End
:Full
:sub(STM
:Return
:
:
:
:
:
:.SLIME
:[00003C46BFFFFF7E00003C7AE5A5817E003C465EBFBFFF7E003C7A62E5E5817E]→Str6
:.DARKSLIME
:[00003C46BFFFFF7E00003C7EFFFFFF7E003C465EBFBFFF7E003C7E7EFFFFFF7E]
:.SUPER SLIME
:[00000018245E7E3C000000183C62423C000018242C5E7E3C0000183C3C62423C]
:
:
:
:
:Lbl ENE
:{L1}+400→B
:For(A,0,2
:(A*8+B)→H
:If {H}=1 or ({H}=2) or ({H}=3)
:!If {H+7}
:!If {H+6}
:rand^4→{H+5}
:0→C
:{H+1}/8→F
:{H+2}/8→G
:!If {H+5}
:!If {G-1*12+F*2+θ+1}
:1→C
:End
:Else!If {H+5}-1
:!If {G*12+F+1*2+θ+1}
:1→C
:End
:Else!If {H+5}-2
:!If {G+1*12+F*2+θ+1}
:1→C
:End
:Else
:!If {G*12+F-1*2+θ+1}
:1→C
:End
:End
:If C
:8→{H+6}
:End
:Else
:!If {H+5}
:{H+2}-1→{H+2}
:Else!If {H+5}-1
:{H+1}+1→{H+1}
:Else!If {H+5}-2
:{H+2}+1→{H+2}
:Else
:{H+1}-1→{H+1}
:End
:{H+6}-1→{H+6}
:!If {H}-1
:8→{H+7}
:Else!If {H}-2
:5→{H+7}
:Else
:2→{H+7}
:End
:
:If ({{L1}+216}{^r})
:{H+7}*2→{H+7}
:End
:
:End
:Else
:{H+7}-1→{H+7}
:End
:If X≥{H+1}
:If X≤({H+1}+8)
:If Y≥{H+2}
:If Y≤({H+2}+8)
:!If {{L1}+212}
:!If {H}-1
:sub(DMG,1
:Else!If {H}-2
:sub(DMG,2
:Else
:sub(DMG,rand^2+3
:End
:End:End:End:End:End
:If {{L1}+204} or {{L1}+206}
:!If {H+4}
:sub(DEN
:End
:End
:If {H+4}
:{H+4}-1→{H+4}
:End
:If {H+4}
:If rand^2
:Plot1{H+1},{H+2}+8,({H}-1*32)+({H+6}/4*16)+Str6
:End
:Else
:Plot1{H+1},{H+2}+8,({H}-1*32)+({H+6}/4*16)+Str6
:End
:End
:
:
:
:End
:Return
:
:
:
:
:
:
:
:
:
:
:
:
:Lbl DEN
:0→M
:{H+3}→{{L5}}
:!If {{L1}+214}
:If {H+1}≥X and ({H+1}≤(X+8))
:If {H+2}≥(Y-16) and ({H+2}≤Y)
:1→M
:End:End
:Else!If {{L1}+214}-1
:If {H+1}≥(X+8) and ({H+1}≤(X+16))
:If {H+2}≥(Y-16) and ({H+2}≤(Y-8))
:1→M
:End:End
:Else!If {{L1}+214}-2
:If {H+1}≥(X+8) and ({H+1}≤(X+16))
:If {H+2}≥Y and ({H+2}≤(Y+8))
:1→M
:End:End
:Else!If {{L1}+214}-3
:If {H+1}≥(X+8) and ({H+1}≤(X+16))
:If {H+2}≥(Y+8) and ({H+2}≤(Y+16))
:1→M
:End:End
:Else!If {{L1}+214}-4
:If {H+1}≥X and ({H+1}≤(X+8))
:If {H+2}≥(Y+8) and ({H+2}≤(Y+16))
:1→M
:End:End
:Else!If {{L1}+214}-5
:If {H+1}≥(X-16) and ({H+1}≤(X-8))
:If {H+2}≥(Y+8) and ({H+2}≤(Y+16))
:1→M
:End:End
:Else!If {{L1}+214}-6
:If {H+1}≥(X-16) and ({H+1}≤(X-8))
:If {H+2}≥Y and ({H+2}≤(Y+8))
:1→M
:End:End
:Else
:If {H+1}≥(X-16) and ({H+1}≤(X))
:If {H+2}≥(Y-16) and ({H+2}≤(Y))
:1→M
:End:End
:End
:If M
:If S≤{H+3}:{H+3}-S→{H+3}:Else:0→{H+3}:End
:End
:!If {H+3}
:!If {H}-1
:sub(EXP,1
:Else!If {H}-2
:sub(EXP,2
:Else!If {H}-3
:sub(EXP,5
:End
:If (rand^64)=63
:4→{{L1}+300}
:{H+1}→{{L1}+301}
:{H+2}→{{L1}+302}
:Else!If rand^8-7
:!If {{L1}+300}
:1→{{L1}+300}
:{H+1}→{{L1}+301}
:{H+2}→{{L1}+302}
:{H}→{{L1}+303}
:Else!If {{L1}+304}
:1→{{L1}+304}
:{H+1}→{{L1}+305}
:{H+2}→{{L1}+306}
:{H}→{{L1}+307}
:End
:Else!If rand^8-6
:!If {{L1}+300}
:2→{{L1}+300}
:{H+1}→{{L1}+301}
:{H+2}→{{L1}+302}
:{H}→{{L1}+303}
:Else!If {{L1}+304}
:2→{{L1}+304}
:{H+1}→{{L1}+305}
:{H+2}→{{L1}+306}
:{H}→{{L1}+307}
:End
:End
:0→{H}
:End
:If {{L5}}>{H+3}
:50→{H+4}
:End
:Return
:
:
:
:Lbl EXP
:If ({{L1}+10}{^r}+{r1})<{-}1 and ({-}1-{r1}≥{{L1}+10}{^r})
:{{L1}+10}{^r}+{r1}→{{L1}+10}{^r}
:Else
:{-}1→{{L1}+10}{^r}
:End
:Return
:
:
:
:[003E62404E623E003E7FFFFEFFFF7F3E001818243C424200183C3C7E7EFFE742000024245A42420000247E7EFFFFE742007E407878407E007EFFFEFCFCFEFF7E000000324C0000000000327FFE4C00000018244242241800183C7EE7E77E3C18004242242418180042E7E77E7E3C3C18007E407878407E007EFFFEFCFCFEFF7E007844447844460078FCFEFEFCFEEF46]→Str11
:
:Lbl DMG
:100→{{L1}+212}
:If {r1}≤{{L1}}
:{{L1}}-{r1}→{{L1}}
:Else
:0→{{L1}}
:End
:!If {{L1}}
:0→{{L1}+212}
:For(A,0,15
:ClrDraw
:ref(X-6,Y+8,20,8
:ref(X,Y+2,8,20
:ref(X-3,Y+5,14,14
:DrawInv
:A^4→D
:sub(DPL
:DispGraph
:Pause 500
:End
:ClrDraw
:ref(X-6,Y+8,20,8
:ref(X,Y+2,8,20
:ref(X-3,Y+5,14,14
:DrawInv
:4→D
:sub(DPL
:DispGraph
:Pause 1000
:For(A,0,3
:Plot1A*8+8,8,A*16+Str11
:Pause 1500
:DispGraph
:End
:Plot144,8,Str11+64
:Pause 1500
:DispGraph
:For(A,5,8
:Plot1A*8+16,8,A*16+Str11
:Pause 1500
:DispGraph
:End
:Pause 5000
:End
:Return
:
:
:
:
:
:
:
:
:
:
:.UP
:[3C7E7EFEC37E4AFC3C7E7EFEFF7E7EFC]→Str1
:[3C7E7EFEC37E523F3C7E7EFEFF7E7E3F]
:.RIGHT
:[3C7E7A623C38243E3C7E7E7E3C3C3C3E]
:[3C7E72E2BC7C526E3C7E7EFEFC7C7E6E]
:.DOWN
:[3C7E66C2BD7E523F3C7E7EFEFF7E7E3F]
:[3C7E6643BD7E4AFC3C7E7E7FFF7E7EFC]
:.LEFT
:[3C7E5E463C1C247C3C7E7E7E3C3C3C7C]
:[3C7E4E463D3E4A763C7E7E7E3F3E7E76]
:.STILL
:[3C7E6642E7BD7EE73C7E7E7EFFFF7EE7]
:
:
:
:Lbl DPL
:If {{L1}+212}
:{{L1}+212}-1→{{L1}+212}
:If rand^2
:Plot1X,Y+8,D*32+Str1+({{L1}+200}*16)
:End
:Else
:Plot1X,Y+8,D*32+Str1+({{L1}+200}*16)
:End
:Return
:
:[00183C6E7E3C180000182452463C1800]→Str5
:[003C18182C5E7E3C3C7E3C3C76E7EF7E]
:[60F0F0701A0F0602F09898FA7F1D0F07]
:[384C3844BEBEFE7C3874387CEAD2AA7C]
:
:
:Lbl ITM
:For(A,0,1
: If {A*4+{L1}+300}
: If ((X≥({A*4+{L1}+301}-8)) and (X≤({A*4+{L1}+301}+8))) and ((Y≥({A*4+{L1}+302}-8)) and (Y≤({A*4+{L1}+302}+8)))
: !If {A*4+{L1}+300}-1
: {{L1}}+{A*4+{L1}+303}→{{L1}}
: If {{L1}}>{{L1}+1}
: {{L1}+1}→{{L1}}
: End
:Else!If {A*4+{L1}+300}-3
:{{L1}+6}+1→{{L1}+6}
:Else!If {A*4+{L1}+300}-4
:sub(EXP,50+(450*(rand^8=7))+(9950*(rand^64=63))
: ElseIf {A*4+{L1}+300}=2
: {{L1}+2}+{A*4+{L1}+303}→{{L1}+2}
: If {{L1}+2}>{{L1}+3}
: {{L1}+3}→{{L1}+2}
: End
: End
:0→{A*4+{L1}+300}
: Return
:End
:Plot1{A*4+{L1}+301},{A*4+{L1}+302}+8,{A*4+{L1}+300}-1*16+Str5
:End
:End
:Return
:
:
:
:[0306A6E6A6A6A60305AAEAAAAAAA0A05C0606060606060C0A0505050505050A000808080808080008000808080800080]→Str41
:[030686868686E603058A8A8A8AEAEA05]
:[03050A94E850F0D8010103060C18387C]
:[18381C3C1C3E7C7E3C6C36663663C6C318665AA7AF5E7E18186E5EADF57A66187E993C5A46BFFF7E8166A57E7AC1C37E3C7EE7C3C3E77E3C5AA55AA5A55AA55A387C6C1C38300030043E360E1C1800186699BB666E99BB6666BBC54A52A3DD663838FEFE383838381C1C7F7F1C1C1C1C]→Str000
:
:
:
:
:
:Lbl STM
:
:GetCalc("vTILES")→C
:
:If GetCalc("vT1")
:DelVar "vT1"
:End
:GetCalc("vT1",202)→θ
:
:GetCalc("vMAP",{Y1})
:conj({{L1}+500}*202+{Y1},θ,202
:
:
:ClrDraw
:ClrDraw{^r}
:For(B,0,6
:For(A,0,11
:Pt-On(A*8,B*8+8,({B*12+A*2+θ}*16)+C
:Pt-On(A*8,B*8+8,({B*12+A*2+θ}*16+8)+C){^r}
:End
:End
:Pt-On(2,0,Str41+48
:Pt-On(2,0,Str41+56){^r}
:Pt-On(23,0,Str41+16
:Pt-On(23,0,Str41+24){^r}
:Pt-On(35,0,Str41
:Pt-On(35,0,Str41+8){^r}
:Pt-On(57,0,Str41+16
:Pt-On(57,0,Str41+24){^r}
:Pt-On(63,0,Str41+32
:Pt-On(63,0,Str41+40){^r}
:If N
:Pt-On(65,0,N-1*16+Str000
:Pt-On(65,0,N-1*16+8+Str000){^r}
:End
:
:Pt-On(74,0,Str41+32
:Pt-On(74,0,Str41+40){^r}
:Pt-On(78,0,Str41+64
:Pt-On(78,0,Str41+72){^r}
:Text(87,0,Sâ–ºDec
:If GetCalc("vA")
:DelVar "vA"
:End
:If GetCalc("vB")
:DelVar "vB"
:End
:GetCalc("vA",768)→U
:GetCalc("vB",768)→V
:conj({L6},U,768
:conj({L3},V,768
:
:GetCalc("vT1")→θ
:
:Return
:
:
:
:
:
:
:
:
:Lbl HUD
:ref(9,2,{{L1}}*16/{{L1}+1},4
:ref(42,2,{{L1}+2}*16/{{L1}+3},4
:Return
:
:.SWORD1
:[1028282828287C381038383838387C3800060A1428D060A02056AE5C38F060A00040FEC1FE4000000040FEFFFE400000A060D028140A0600A46AF53A1C0E06001C3E1414141414081C3E1C1C1C1C1C0805060B142850600005060F1C3A756A040000027F837F02000000027FFF7F020000605028140B0605006070385CAF5625]→Str2
:
:Lbl SWD
:If {{L1}+208}
: {{L1}+208}-1→{{L1}+208}
: 1→{{L1}+204}
: !If {{L1}+208}
: 0→{{L1}+204}
: End
: Return
: End
: {{L1}+204}+1→{{L1}+204}
:If {{L1}+204}≥45 and (getKey(54)=0)
:0→{{L1}+200}
:20→{{L1}+208}
:Return
: ElseIf {{L1}+204}>0 and ({{L1}+204}<16)
: !If D
:7→{{L1}+214}
: Plot1X-7,Y+1,Str2+112
: Else!If D-1
:1→{{L1}+214}
: Plot1X+7,Y+1,Str2+16
: Else!If D-2
:3→{{L1}+214}
: Plot1X+7,Y+15,Str2+48
: Else!If D-3
:5→{{L1}+214}
: Plot1X-7,Y+15,Str2+80
: End
: 0→{{L1}+200}
: {{L1}+204}+1→{{L1}+204}
: Else
:If {{L1}+204}>200 and (getKey(54))
:0→{{L1}+204}+1→{{L1}+206}
:Return
:End
:
:!If D
:0→{{L1}+214}
:Plot1X,Y,Str2
:Else!If D-1
:2→{{L1}+214}
:Plot1X+7,Y+8,Str2+32
:Else!If D-2
:4→{{L1}+214}
:Plot1X,Y+16,Str2+64
:Else!If D-3
:6→{{L1}+214}
:Plot1X-7,Y+8,Str2+96
:End
:{{L1}+204}+2→{{L1}+204}
:1→{{L1}+200}
:End
:Return
:
:
:
:Lbl SPN
:0→{{L1}+204}
:If getKey(54) and ({{L1}+206}≤2)
:rand^3→R
:R+1→R
:!If D
:0→{{L1}+214}
:If R=1 or (R=3)
:Pt-On(X,Y,Str2+8
:End
:If R≥2
:Pt-On(X,Y,Str2+8){^r}
:End
:Else!If D-1
:2→{{L1}+214}
:If R=1 or (R=3)
:Pt-On(X+7,Y+8,Str2+40
:End
:If R≥2
:Pt-On(X+7,Y+8,Str2+40){^r}
:End
:Else!If D-2
:4→{{L1}+214}
:If R=1 or (R=3)
:Pt-On(X,Y+16,Str2+72
:End
:If R≥2
:Pt-On(X,Y+16,Str2+72){^r}
:End
:Else!If D-3
:6→{{L1}+214}
:If R=1 or (R=3)
:Pt-On(X-7,Y+8,Str2+104
:End
:If R≥2
:Pt-On(X-7,Y+8,Str2+104){^r}
:End
:End
:Return
:End
:
:If {{L1}+206}<5 and ({{L1}+206}>0)
:0→D→{{L1}+214}
:Plot1X,Y,Str2
:ElseIf {{L1}+206}<10
:1→{{L1}+214}→D
:Plot1X+7,Y+1,Str2+16
:ElseIf {{L1}+206}<15
:2→{{L1}+214}
:1→D
:Plot1X+8,Y+8,Str2+32
:ElseIf {{L1}+206}<20
:3→{{L1}+214}
:2→D
:Plot1X+7,Y+15,Str2+48
:ElseIf {{L1}+206}<25
:2→D
:4→{{L1}+214}
:Plot1X,Y+16,Str2+64
:ElseIf {{L1}+206}<30
:5→{{L1}+214}
:3→D
:Plot1X-7,Y+15,Str2+80
:ElseIf {{L1}+206}<35
:6→{{L1}+214}
:3→D
:Plot1X-7,Y+8,Str2+96
:ElseIf {{L1}+206}<40
:7→{{L1}+214}
:0→D
:Plot1X-7,Y+1,Str2+112
:ElseIf {{L1}+206}<45
:0→{{L1}+214}
:0→D
:Plot1X,Y,Str2
:End
:
:{{L1}+206}+1→{{L1}+206}
:If {{L1}+206}≥45
:0→{{L1}+206}
:End
:Return
:.TITLE
:Lbl 3
:64→A
:0→C
:sub(A
:FnOff
:Fix 3
:
:!If Full
:ClrHome
:Disp "NEED A TI-83+ SE",{i},"OR HIGHER..."
:End
:
:Fix 5
:[00648A8A8A8A640000CEA4A4A4A4A40000EC4A4A4A4AEA0000AEA8ACA8A8EE00]→Str3
:[00CEA8ACA8A8AE0000888888A8A850000044AA8AEEAA6A000053AAAB8A8A8B000080000000008000]→Str4
:[00607EFFFF7E600060FEFFC1C1FFFE60]→Str5
:
:Repeat getKey(15)
:Pause 6
:
:A+1→A
:!If A-255
:64→A:End
:
:conj(U,{L6},768
:conj(V,{L3},768
:
:If getKey(0)
:If getKey(10)
:DrawInv {^r}
:conj({L3},V,768
:End
:If getKey(48)
:If getKey(4) and (M>0)
:M-1→M
:ElseIf getKey(1) and (M<23)
:M+1→M
:End
:End
:If getKey(1)
:1→C
:ElseIf getKey(4)
:0→C
:End:End
:
:Plot146,C*8+47,Str5
:
:
:Pxl-Off(80,3
:Pxl-Off(30,9){^r}
:Pxl-Off(2,30
:Pxl-Off(2,30){^r}
:Pxl-Off(61,22
:
:
:!If A/64
:Pxl-Off(5,5
:Pxl-Off(5,5){^r}
:Pxl-Off(85,45
:Pt-Off(89,25,[FFBFFFFFFFFFFFFF]
:Pt-Off(45,3,[DFDF27DFDFFFFFFF]
:
:
:Else!If A/64-1
:Pxl-Off(5,5
:Pxl-Off(85,45){^r}
:Pt-Off(40,32,[FFBFFFFFFFFFFFFF]
:Pt-Off(45,3,[FFAFDFAFFFFFFFFF]
:
:
:Else!If A/64-2
:Pxl-Off(5,5){^r}
:Pt-Off(40,32,[BF1FBFFFFFFFFFFF]
:Pt-Off(89,25,[FFBFFFFFFFFFFFFF]
:Pt-Off(45,3,[FFFFDFFFFFFFFFFF]
:
:Else
:Pxl-Off(5,5
:Pxl-Off(85,45){^r}
:Pt-Off(40,32,[FFBFFFFFFFFFFFFF]
:Pt-Off(89,25,[BF1FBFFFFFFFFFFF]
:Pt-Off(45,3,[DFDF27DFDFFFFFFF]
:
:End
:
:
:!If (M+8/8)-1
:Normal
:DispGraph{^r}{^r}
:Full
:Else!If (M+8/8)-2
:Normal
:DispGraph{^r}
:Full
:Else
:DispGraph
:End
:If getKey(54)
:Goto 1
:End
:End
:Fix 2
:Return
:
:Lbl 1
:!If C
:!If GetCalc("vTaNFsave",{Y1})
:!If GetCalc("vTaNFsave")
:ClrDraw
:DrawInv
:StorePic
:DispGraph
:While getKey(54)
:End
:Pause 1500
:Text(5,5,"No save-state file has been"
:Text(5,11,"detected. Would you like"
:Text(5,17,"to start a new game?"
:StorePic
:DispGraph
:Pause 1500
:0→D
:Repeat getKey(54)
:RecallPic
:Text(20,30,"Yes"
:Text(20,38,"No"
:If getKey(4)
:0→D
:ElseIf getKey(1)
:1→D
:End
:Pt-Off(12,D*8+30,[FFF7E3E1E1E3F7FF]
:
:If getKey(54)
:While getKey(54)
:End
:!If D
:Goto 2
:Else
:Goto 3
:End
:End
:
:DispGraphClrDraw
:End
:Fix 2
:End:End
:
:
:Else
:Lbl 2
:
:
:
:End
:
:DelVar "vA"
:DelVar "vB"
:Return
:
:
:
:
:
:
:.DATA:
:
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]→Str1
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFF1E3FF]
:[FFFFFFFFFFF7FFFFFFEE1DFFF073FFFE]
:[E657FFFFFFE805FFFDFFFFFEF2F7FFFF]
:[FFF61BFFFD827C88F4953FFFFFF9E7FF]
:[FDD9BAA6F6D2DFFFFFFE1FFFF8927C28]
:[E6853FFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFCFFFFFFFFFFFFFFFFFFFFFFFD7FFF]
:[FFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFF]
:[FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF]
:[FFFC9FF01E3EFF7FC1CE607FFFFCFFF7]
:[FC3CFE7FF7CCEF3FFFFDFFF7FD3DFE7F]
:[EF8CDFFFFFFD7FE07B39FC7FCFAD9FFF]
:[FFFDFFCFE739FCFFDF2D98FFFFFDBFCF]
:[E03BFDFFBE63BCFFFFFCFFDFDF37FBFF]
:[3EF39CFFFFFDFFDF9F30180E0EF381FF]
:[FFFC7FFFFFFFFFFFFFFFFFFFFFFDFFFF]
:[FFFFFFFFFFFFFFFFFFFD7FFFFFFFFFFF]
:[FFFFFFFFFFFD7FFFFFFFFFFFFFFFFFFF]
:[FFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFF]
:[FFFFFFFFFFFB3FFFFFFFFFFFFFFFFFFF]
:[F887CAD7FFFFFFFFFFFFFFFFE5AEFF7F]
:[FFFFFFFFFFFFFFFFF1FFDFFFFFFFFFFF]
:[E07FFFFFFFF7FBFFFFFFFFFF000FFFFF]
:[FFF807FFFFFFFFFC0003FFFFFFF8C7FF]
:[FFFFFFFC0003FFFFFFF8C7FFFFFFFFF8]
:[0001FFFF000844000000000000000000]
:[00084400000000000000000000104400]
:[0000000000000000001045F9CF00FC00]
:[00000000166043FFFFFFFF39FC000000]
:[FFF041FFFFFFFFFFFE0F9400FFF04159]
:[59595BFFFFFFFE8F6560431595B73559]
:[5BFFFFFFDCD042F3736AEB3736B2B7FF]
:[56A0412EAEA92AEAEA6E6D65CDA04392]
:[92B2B2B129D5D4DCBAD042BB7B6E6E6F]
:[959593AB4AB0436AEACDD5D6B3736CA4]
:[ED204352B2B252516EAE9EDEAB604166]
:[6E6F6F6A529292BA52604315D5D55D59]
:[7B7B752596D042F2525292972AEA5656]
:[56A0432F6F6CB4B2D494CDCDCDA04395]
:[5D5AB2B125A5BABABAD042BA92966E6F]
:[95954A4A4AB0416CB4B5D5D6B373EDED]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]→Str2
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF]
:[FFF003FFFFFFFFFFFFFFFFFFFFEE1DFF]
:[FFFFFFFFFFFFFFFFFFF143FFFFFFFFFF]
:[FFFFFFFFFFF393FFFFFFFFFFFFFFFFFF]
:[FFE845FFFFFFFFFFFFFFFFFFFFF61BFF]
:[FFFFFFFFFFFFFFFFFFF9E7FFFFFFFFFF]
:[FFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFF]
:[FFFF0FFFFFFFFFFFFFFFFFFFFFFF8FFF]
:[FFFFFFFFFFFFFFFFFFFF0FFFFFFFFFFF]
:[FFFFFFFFFFFF0FFFFFFFFFFFFFFFFFFF]
:[FFFF6FFFE7DF3F9FFE739F9FFFFF0FF9]
:[FFDF3F9FF8F333CFFFFE0FF9FEDE7F9F]
:[F3F327FFFFFE8FFF9CDE7F9FF3D267FF]
:[FFFE0FF3F9DE7F3FE7D2673FFFFE4FF3]
:[FFDCFE7FCF9CCF3FFFFF0FE7E7D9FCFF]
:[CF3CE73FFFFE0FE7E7DFE7F3F3D9FCFF]
:[FFFF8FFFFFFFFFFFFFFFFFFFFFFF0FFF]
:[FFFFFFFFFFFFFFFFFFFE8FFFFFFFFFFF]
:[FFFFFFFFFFFE8FFFFFFFFFFFFFFFFFFF]
:[FFFF8FFFFFFFFFFFFFFFFFFFFFFF0FFF]
:[FFFFFFFFFFFFFFFFFFFE0FFFFFFFFFFF]
:[FFFFFFFFFFFCC7FFFFFFFFFFFFFFFFFF]
:[F778352BFFFFFFFFFFFFFFFFFA510081]
:[FFFFFFFFE07FFFFFFE002003FFFFFFFF]
:[000FFFFFFFF807FFFFFFFFFC0003FFFF]
:[FFFFFFFFFFFFFFF80001FFFFFFFF2FFF]
:[FFFFFFF80001FFFFFFFD27FFFFFFFFF0]
:[0000FFFFFFF9B7FFFFFFFFFFFFFFFFFF]
:[FFFB37FFFFFFFFFFFFFFFFFFFFF137FF]
:[FFFFFFFFFFFFFFFFFFF3A7FFFFFFFFFF]
:[FFFFFFFFFFF2B20638FF03FFFFFFFFFF]
:[E992AE00000000C603FFFFFF0003B626]
:[2626240001F06BFF9893B0E26240C226]
:[240001700301A10C0C0100C0C04C4800]
:[8903B85010145501018180983053A005]
:[454C4C4C560203034020A04080818180]
:[22626C04150AB084041202004C0C1151]
:[024BB42C4C48A8AA901000201093B611]
:[8180101505456101A493A4E202008086]
:[00808A4A4901A508A8AD2520C4048989]
:[8903A05010124A4929293030305B3000]
:[80844C4C52524040402B344525218180]
:[22621515150B32824A4A02004C0C0202]
:
:Lbl A
:If GetCalc("vA")
:DelVar "vA"
:End
:If GetCalc("vB")
:DelVar "vB"
:End
:GetCalc("vA",768)→U
:GetCalc("vB",768)→V
:conj(Str1,U,768
:conj(Str2,V,768
:conj(U,{L6},768
:conj(V,{L3},768
:ref(54,46,37,18
:ref(54,46,37,18){^r}
:rref(55,47,35,16
:rref(55,47,35,16){^r}
:
:For(A,0,3
:Pt-On(A*8+56,47,A*8+Str3
:End
:For(A,0,4
:Pt-On(A*8+56,55,A*8+Str4
:End
:
:
:conj({L6},U,768
:conj({L3},V,768
:Return
Another revival! This is great. I hope you finish it :)I hope not everyone leaves during their spring breaks like last year. X.x
Does everyone have spring break this week or something?
/me is disappointed not to see 1500 byte menu screen graphics :P
/me is disappointed not to see 1500 byte menu screen graphics :P
/me is disappointed not to see 1500 byte menu screen graphics :P
not to be rude, but I actually don't understand what you mean :P ;)
[url=http://www.omnimaga.org/index.php?board=154.0][IMG]http://img707.imageshack.us/img707/1614/userbar2w.png[/img][/url]
water features? I have water and stuff, do you mean like boats and stuff? I'm thinking a raft shop like in zelda: oracle of ages ;) if that's what you mean :D
But no, this will be able to run on a 83+ SE or higher -- it WILL fit on a 83+BE, but it would be insanely slow, even in monomode 1 (just black and white display) or monomode 2 (3 level grayscale)
thanks for the input, btw ;)
And in case nobody picked it up, this will be done in mostly pure assembly. There will be parts where complex assembly math will screw with my mind, where axe comes in, but about 75% of the coding will be assembly. ;)
Thanks for all support so far everyone :). I've seen at least 10 people wearing the support userbar in their signatures, and this very thread now gets around 100 views a day, even during days with no posts :). Thanks again for all those who want to see this awesome game come to fruition, you're just as awesome :)The traffic is probably because this game sounds so awesome! And any update is important, if it brings the program closer to completion.
I unfortunately did not get much done the past few days -- but I did finish around 30 more indoor tiles. Programming wise, its in real shambles, 1% done at most. But, I think it'll be 2-3 more weeks before I get into coding mode -- I want all the graphics done first. So, small update I guess :)
Well, goal not Met :( I only made around 40 new ones.
But, however, made it up by making tons of enemy and NPC sprites
Well, goal not Met :( I only made around 40 new ones.
But, however, made it up by making tons of enemy and NPC sprites
Don't be sad, I'm sure there's enough time.
Well, goal not Met :( I only made around 40 new ones.
But, however, made it up by making tons of enemy and NPC sprites
Don't be sad, I'm sure there's enough time.
I probably have at least 60-70 more years left in my life, I think I'll have enough time ;D
small update today:
I have compression working so I can store maps at 10 bits per tile each, instead of 16 like before :) 2 bits should be enough for basic collision detection (right now only values 0-2 are used for walkable space, wall, and moveable block -- I might use 3 for a swimming engine or a damaging tile thing)
It then decompresses the screen from ~120 byte to ~300 byte screen in RAM in under a hundredth of a second :)
Also, got tilemapping working.
So, my assembly skills are improving along the way :)
indeed I am :)
/me pokes Ashbad so he doesn't let this die completly D:
Is isn't the spot, but:
SDCC is NOT that inefficient at all. It is in almost every case more efficient than Axe and it has many more features to offer -- I already put all of the axe commands into an include format too, so I can still access them.
SDCC = small device C compiler, which is a pretty decent C compiler ;)
However, back on topic now I guess :P
Well, I decided to stop using SDCC and just use assembly from scratch now, it wont build with multiple pages correctly :P
But, now even with just pure z80 assembly, I wont be using that many BCALLs anyways, not even the text ones ;) just maybe appvar ones.
I have no idea. So I guess I'll just have to wait </useless post>
there's really not much to go on, do we get a hint?
You've started writing this in a compiled language of your own design.
Now when can I pick up my cookie? :P
:w00t:
I'm looking forward to seeing how this turns out.
can we have a demo of the calc version?
Lol ok. Don't slow it down too much either, tho, so key detection won't become unresponsive either.
Also since this is no longer for calc I guess this sub-forum will be removed, right? (since major projects in this section have to be for calcs and we have no computer projects section yet)
as far as i can tell, mods cannot move entire subforums. i think this should be moved to discontinued projects, though.
Well, an admin moved it to Discontinued Projects, which is pretty much the equivalent of deleting a subforum, but all the topics are still together. Unless you want the subforum to be deleted and all of its topics to be moved and scattered in Other Calc Projects.
That will require a lot of work but it will be done at the earliest convenience. It would be appreciated if you, or anyone else who wants this type of job done would PM the administrators with their request instead of just posting it so that we are aware of what is wanted and can more easily take care of the situation.Well, an admin moved it to Discontinued Projects, which is pretty much the equivalent of deleting a subforum, but all the topics are still together. Unless you want the subforum to be deleted and all of its topics to be moved and scattered in Other Calc Projects.yes, I would like them scattered, please. Thanks for responding.
As I told you on IRC, I moved and deleted the forum. That's not a lot of work...It's not a lot of work? ( I've never actually done it ) I would have thought it would take a while to scatter them properly
is this for the prizm? if so HURRY pls it seems so COOLhey lots of new members today...
It's not progressing very fast
I think Ashbad will mainly do smaller calc projects from now on.