Omnimaga
Calculator Community => Major Community Projects => The Axe Parser Project => Topic started by: Quigibo on February 21, 2010, 10:00:35 pm
-
If you have any Axe Parser projects you'd like to share, post them here. If its a massive project, you can probably just create a separate thread for it, but this is mostly for small projects, demos, and even code snippets. I can't wait to see what you all come up with :)
-
ok, well I built this with 0.0.4a so it has no good sprites, but it has a working menu and the gameplay is ok. let me know what you think!
also the menu is glitchy on 0.0.5a as well as the score screen :/
-
Great job Eeems! :)
Here's my first Axe program. It's a screen shifting program, and when it shifts it adds a random pixel. (Quiqibo, if I could put the current screen to the buffer then I could move it around. This is where I got that idea from.)
What do you guys think?
-
nice ztrumpet! hmm, could you use pictures to store the screen?
-
I made another program! This is PlotDrop, only how I originally intended it. ;D
Controls:
Left and Right moves
2nd Pauses
Clear is quick quit
This speeds up faster and faster, 1/10th of a millisecond at a time... :)
Comments? :D
(This took me only a RAM Clear and the Corruption of one group... :P)
-
Wow that's great!
Axe parser is showing it's potential :p
wish I could see the source...
-
Eeems, are you on your iPhone? If not then you can just download the program. ;D
-
iTouch
-
Wow those programs look awesome. So this is the new thing huh? Axe parser...
-
Thanks, yeah it kinda is :p
-
Nice so far ^^. can't wait to see more ^^
-
I'm currently adding better sprites and multikeypress support. :D
edit: I think I mighthave to completely re-write this one x.x my convert failed horribly and the result cleared my ram.... D:
-
ouch, didn't you have any backup?
-
Well I had the source in the archive...I just don't know if I'll be able to work with the current setup...well the menus should be fine, but the actual game is what's giving me the issues...
-
what do you mean? Do you mean you need some commands that are not supported yet?
-
No, the program flow doesn't work well withtye new commands...I need to re-organize it.
-
Hmmmm the unsigned numbers are killing me in new development X.X I cant wait for signed support!!
-
I made something that was inspired by the Star Demo:
(http://otbp.tifreakware.net/images/starshooter.gif)
I used inline ASM to access my array of bullets, in case anyone is wondering how on earth I did that.
-
darn this will be awesome what ppl will be able to come up with in Axe Parser
-
WOW!!
Can we see the source for that?
Awesome job, but then again it is calc84... ;D
Amazing program! :D
-
wow calc84 that looks amazing. you make me want to try axe parser
-
wow that's amazing! what routine did you use for the array?
-
I made something that was inspired by the Star Demo:
(http://otbp.tifreakware.net/images/starshooter.gif)
I used inline ASM to access my array of bullets, in case anyone is wondering how on earth I did that.
Hey, that looks very similar to the next example program I'm writing to test out the new features I'm adding. Though mine has enemies, collision detection, animated explosions, and even a story line so far ;)
-
He stole the code!
j/k
Btw is it me or does this ship looks slightly like a metroid?
-
Woot i finally finished my sonic inspired physics sphere of DOOM! Lol i came up with the idea a while back, and had a slow but workable demo in xLib, but now i have ported it to Axe! Look at all its magesty!
(http://i199.photobucket.com/albums/aa72/builderboy2005/SCREEN1-1.gif)
You press left and right to change the rotation speed of the ball, but its a bit slippery so it doesnt stick to the floor that well and kinda slides around. You can also jump with [2nd] ^^. Unfortunately due to the sprite clipping but there are some times when it crashes though :/ and the code is anything but clean and optimized :P
-
Nice, I wonder if you could make it so it jump by more pixels every frame since it might run much slower with collision detections on tilemaps and enemies moving around?
-
I could, but i don't think this will ever be ported to a tilemap, as the whole engine would have to be rewritten. It was more of a fun demo :P
-
aaah ok, still cool, tho. I am curious if a simpler game like Ys could be done...
As excuse to not have to write collision detection for enemies, someone could make an adventure game ghost-themed :P
-
This is awesome!! Great job, and it looks amazing! ;D
-
I've completed a new version of Alien and it has sprites and a better AI. Instead of trying to keep the enemy from hitting your side you are trying to kill it before it kills you.
I have:
Animated shots (only one on the screen at a time each)
AI that moves and attacks (admittedly it looks kind of sad :p)
healthbar at the top (for both you and your enemy)
multiple keypresses (enemy does too, but not as many as you do)
[clear] quits
animated death animation by enemy
animated background (both scrolling and changing as it scrolls)
I'll try my best to get it up tomorrow but I don't know if I will be able too...
-
nice i hope you have time ^^
-
Sounds nice Eeems! :D
-
Thanks! I added the same animation to your character if it dies, and sped up the enemies shots, but it seems to have gotten a memory leak or something along the way...lots of times when it ends a random error will popup, and other times it just randomly quotes out of the game and the screen is still displayed, but on the homescreen...it might be my game, or it might be the bad crash I caused, I'm going to reset my memory when I can back up my calc to try to fix it.
EDIT: here they are, be warned they might be buggy...Alien is the one you have to worry about, but I don't know about space which is more of a proof of concept
-
Excellent job! The space one is interesting, but the Alien one is awesome! Awesome programs! ;D
-
Thanks!
the space one is for making a realistic space game where you speed up and stay at that speed until you apply force against it...and I was adding in overheating.
right now only overheating is added as well as sprite changing as your direction changes.
EDIT: well a full memory clear didn't solve the problem...so be careful with Alien...keep all your valuables in archive while running it.
-
Hey! Those both look really awesome! I spent physics today making falldown, here you go! ;D
(http://i199.photobucket.com/albums/aa72/builderboy2005/SCREENIE-1.gif)
-
=O
That's awesome!! Builderboy, that's really, really great! WOW! ;D
-
Hehe thanks :)
Alright, here we go again! ;D I made a simple platforming engine based on pixel detection. Since we don't have lists/matrices yet, i was forced to do this with pixels instead of tiles, and i also needed to build the level myself in the beginning :P In the editor, 2nd adds a block and Alpha adds a sloped piece. Clear advances to testing. In testing, arrow keys to move and 2nd to jump. Dont go off the screen! :P
(http://i199.photobucket.com/albums/aa72/builderboy2005/SCREEN.gif)
-
Nice, I assume you mean some sort of Pxl-Test command? Actually with Pxl test we can also have different looking tiles that are not all plain white if we make sure a specific pixel in every solid tiles is always turned ON and for non-solid tiles it's OFF, and have the walking character move every 8 pixel (smoothly or instantly doesn't matter). That's assuming it's alerady possible to have such complex tilemaps alerady, though.
I like the speed so far
-
Yeah that could work great. Although i assume that once we get actual matrices everything will be a lot easier and we wont have to worry about that silly pixel testing :P Although it is very useful for handling those ramps :)
-
I was somewhat bored... (http://otbp.tifreakware.net/images/falldown.gif)
-
Wow! Looks great! How did youhandle collision detection?
-
Wow! Looks great! How did youhandle collision detection?
I used pixel-test
-
Builderboy, that's awesome! Could you store the map as a sprite, like how Illusiat 7-12 (Excluding 8, I think) work?
WOW! Calc84, that's awesome! Can we please see the code for that and the program you made earlier? Please? ;D
-
Ah ok, nice.
-
Wow! Those are all really nice! That's way more than I thought would be possible to do already without ram access!
A little update on my progress... I've already added most of the features I was planning on, but it turns out that the built in data structure system is a lot more complicated than I though. You'll just have to make your own, which isn't really that hard, since I'm going to be adding other features in the mean time instead. Double buffer support is one of those things I might include. Basically its just a command to swap the buffer with the backup buffer so you can draw to each one separately.
-
wow awesome, I agree with Ztrumpet. I think Builderboy should store the map in a picture or something. keep in mind he would need to always have a minimap displayed on the screen, though, like in ROL3
-
Yay its a better looking Falldown ;D Looks like the original too :)
Wow double buffering? YES! And i still cant wait for data structures. What do you mean when you say that we will have to 'make our own'?
-
Double buffering, I assume this means we could have 3 level grayscale like in Pyoro without having to recall a pic using the XOR logic very quickly instead?
-
Yea! Double Buffering! Awesome! ;D
I made another Axe game, and this is my first with Sprites. :)
Platform Jumper
2nd-Jump
Mode-Pause
Stay on the platforms and don't touch the ground.
Comments? :D
Edit: If you think it's a little choppy: The screenie is at 9fps. ;)
-
oooh nice!
That reminds me... Someone should port Canabalt to calcs ^^
-
Hooray! ^^ Looks like this is getting a LOT of attention, people are making games right and left!
-
I attached the source to FallDown.
-
Alright, I have been working on a Tech Demo to impress my tech savvy friend, and it actualy turned out very nice looking! Here are the effects in order:
1. Greyscale: Just a grey screen, looks a lot better on calc, need to fiddle with my wabbit settings...
2. Sprite Test: Lots and lots of different sprites wiggling around and moving
3. Fire!: A cool effect involving sprites, pixeltesting, and scrolling.
4. Spinning wave: An interesting effect involving my new Sin function and screen scrolling
5. Spinnerz: Just some rotating sprites :)
(http://i199.photobucket.com/albums/aa72/builderboy2005/DEMOSCREEN.gif)
I'm going to upload my Sin routine in a sec. It was really useful ;D
-
nice it reminds me a bit that Noice demo thing on Ticalc. Could that stuff be used for TI-BASIC RPG magic animations (that you run as Asm(prgmLOL)?
-
Nice job builderboy!
I think I found the crashing error in the new alien, when the enemy dies it can stI'll shoot, which can possibly lead to a sprite going off screen. When I put a check that keeps him from shooting while he is space junk it seemed to fix.
I'll probably be working on a menu, so you will see a nice new shiny version soon.
-
Wow all these projects look amazing.. Im really tempted to get back into programming just to use Axe Parser..
-
You'll have direct access to the screen ram in the next version so it will probably be a lot easier to do many of those effects.
By the way, I don't think I mentioned how to do masking. If Pic1 is the inverse of the sprite and the mask of the sprite is immediately after it, then to mask the sprite, you do:
:Pt-On(X,Y,Pic1+8)
:Pt-Change(X,Y,Pic1)
What I mean by double buffering is that you can draw a background, like a tile map for instance, and then copy it to the extra back-buffer using "StorePic". When you want to draw over the buffer, then instead of using "ClrDraw", you use "RecallPic" to copy the extra buffer to the main buffer and then you only need to draw the foreground over that instead of having to render the entire foreground and background each time and then clearing it each time a sprite moves. I don't think it would be fast enough for flickerless gray scale like Pyoro, but flickerless gray scale support is planned in the future. By flickerless I literally mean solid gray, no faint crosshatches. Quality depends on how long it takes between renders, but its a reasonable amount of time you'll have to do basic rendering and computation. I'm sure you can get some quality of grayscale without the native support in the mean time though.
-
yeah we use similar methods for masking in TI-BASIC, despite it not being used much for speed reasons.
As for flickerless grayscale, in TI-BASIC + libs, what we do is simply have a certain pic where the gray area is a checkered pattern and another pic where all pixels corresponding to the gray area are black, while everything else is white, then every BASIC command we recall that last pic using XOR logic. By recalling it that often so fast, it achieves good grayscale, altough on the SE calcs, it needs to be slowed down a bit to stay in sync with the LCD. The only issue with this method is that program size increases considerably. Another method is to swap between two pics quickly, overwriting the entire screen each time, but this is only reliable for title screens.
We use the same method in BASIC for animated tilemaps, except we recall the pixel inverter pic only once per loop instead of like 15-20 timees
-
Nice job Builderboy! :D
Here's yet another program for Axe. ;D
This is a port of the iPod Touch game Papi Jump to the calculator. Due to the iPod touch's dimensions you must hold the calc sideways (Like Puyopuyo) and play with gravity pulling you towards the arrow key's side.
Controls:
Enter: Move Left
Minus: Move Right
Plus: Pause
Clear: Quick Quit
It's really hard to play on an emulator, because you can't turn them sideways. :)
What do you guys think?
-
Wow! That's amazing!
Good job ztrumpet!
-
Wow all the stuff looks really great. I'll say it looks great, I think you got MLC beat.
That reminds me... Someone should port Canabalt to calcs ^^
You know I started making sprites for a canabalt game after I played the online version...but I never got around to anything past that. That game was really addictive.
-
Calc84 and Tribal had ports going on before, but I think Calc84 discontinued his and I never heard of Tribal's again
-
Just testing out some stuff. It's not exactly fast, but it works :)
Edit: The first time through is a bug... I'm still working on fixing it.
-
wow nice, it looks as fast as most ASM ones, yet unlike the ASM ones, yours isn't pixelated like mad
-
Yeah, and now i just saw the "Full" command, which lets you go at 15mhz, and its extremely faster. A little too fast though.
-
Yeah it might be a bit too fast sometimes. For Quigibo space shooter, I had to make it display 6 rows of ships for it to not run too fast. I guess it can be useful for people who want their game to run at the max calc speed, though. Some people will most likely want their game to run at the same speed on every calc, though, like most ASM games on ticalc.org
-
That looks nice! Great job! ;D
-
Yeah that's a good idea. Maybe I'll just add it in as a difficulty or something.
-
So, after much ado and debate, I have decided on a project to do with Axe Parser. Drumroll please...
Half Life 2 On-Calc :o
A complete remake of the original, I plan to support the whole cast, and that includes enemies. I sat down and tried to remember them all:
:::Characters:::
*Gordon Freeman (duh)
*Alyx Vance
*Eli Vance
*Barney
*Dr. Breen
*Dr. Mossman
:::Enemies:::
*Combine Soldier
*Citadel Guard
*Headcrab
*Poison Headcrab
*Zombie
*Fast Zombie
*Antlion
*Antlion Queen
*Gunship
*Strider
:::Weapons:::
*Crowbar ^o^
*Pistol
*Shotgun
*SMG
*RPG
*Crossbow
*Grenade
*Big combine gun thing that shoots energy balls
*Gravity Gun ^o^
*Bug bait
Can you think of anything I'm missing?
-
So, after much ado and debate, I have decided on a project to do with Axe Parser. Drumroll please...
Half Life 2 On-Calc :o
A complete remake of the original, I plan to support the whole cast, and that includes enemies. I sat down and tried to remember them all:
:::Characters:::
*Gordon Freeman (duh)
*Alyx Vance
*Eli Vance
*Barney
*Dr. Breen
*Dr. Mossman
:::Enemies:::
*Combine Soldier
*Citadel Guard
*Headcrab
*Poison Headcrab
*Zombie
*Fast Zombie
*Antlion
*Antlion Queen
*Gunship
*Strider
:::Weapons:::
*Crowbar ^o^
*Pistol
*Shotgun
*SMG
*RPG
*Crossbow
*Grenade
*Big combine gun thing that shoots energy balls
*Gravity Gun ^o^
*Bug bait
Can you think of anything I'm missing?
Is it going to be a RPG or FPS?
-
Is it going to be a RPG or FPS?
It's gonna be a FPS/Platformer, meaning its a side-view FPS (wait, wut?) that has 8-direction shooting capabilities. (Up, down, left, right, and 45 degree angles to each)
-
o.o wow that would be cool. It would be a bit like Super Metroid, right?
-
So basically the look of like MapleStory? (2D sidescroller)
-
...
I have never played either of those
Think of it like Mario with guns and headcrabs.
-
Well I only listed one game. 2D sidescroller is the type of game. Check it out if you want. But ya, I think I know what you mean which is a 2D sidescroller.
Edit: This is MapleStory:
-
yeah it's basically a bit like Mario style but with guns instead of jumping on enemies to kill them
Megaman is similar, except you can only shoot left and right.
Something like this woudl have been cool, too, but it only works well with a mouse (or having the gun cursor be moved with numpad acting like arrows) :/
-
Wow! Half Life! My Favorite game of all time! ;D
* Builderboy is super excited *
So it will be smooth-scrolling then? How do you plan for the gravity gun to work? Will objects behave the laws of physics? Will enemies?!? What control scheme do you plan for movement/shooting?
* bounce bounce bounce *
-
Lol, it looks like BuilderBoy is excited for this ;) so let's address his questions:
A) Half Life 2 is the best game ever made. Agreed.
B) I'm still debating smooth scrolling or static maps, some feedback would be nice.
C) Gravity gun will probably find the nearest object in its path, and apply gravity towards it to make it come, then once it has arrived it will negate gravity on the item in question and tether it to the player.
D) Full(ish) physics, yes. I plan on using the two "safe" areas available to manage a physics stack, and every frame I will pop it off of one and push it onto another, proccessing the whole way through.
E) Enemies will follow the same laws. However, ragdoll physics seems pretty outrageous for a calculator, way too slow.
F) Control sceme: Arrow keys to move. Numpad to shoot. 2nd to reload. Alpha to sprint. Function keys for weapons.
-
Mmmmm smoothscrolling would be nice, however it might be difficult with physics/enemy simulation. Like how far outside of the screen will physics still take place? I wouldn't think it would be the whole map, that would be spending too much time on physics that isnt happening, but then again, you wouldn't want objects or enemies floating in midair until you can get around to them, and then have them freeze as soon as you can't see them again. Static maps would make all that a lot easier, but i think it might also make each map kind of small, as long as your using 8x8. Your thoughts?
The physics engine sounds awesome! You know how much of a fan of physics I am >:D I will have to hurry up on my physics lessons so i can be of as much help as possible! Also the control scheme sounds excellent, very well laid out.
-
I'm using 7x7 sprites to make my sprite rotation algorithm (that's right :D) work better. Also, thanks about the control scheme. Physics will probably freeze if they are a certain distance off-screen so they won't look weird, assuming I do smooth-scroll.
-
Mhmm I like seeing games with different sprite sizes. It makes some changes from generic 8x8 and 16x16 ones, plus with 7x7 it's easier to do certain type of tiles/sprites because you can for example have a dot completly centered in the middle or a cross, for example, and still look symetrical. If your tilemap is smaller than 8x8 you can also fit either bigger maps in one screen or have more space for a HUD.
-
That's cool. I like the 7*7 size idea. Keep up the cool work. ;D
-
Here's what I worked on for the past two days. It's a 16 by 16 smoothscrolling movement engine. Let me know what you think! ;D
I also wrote a little Pic to Hex program. Put the top left corner of the sprite in the top left corner of the graphscreen. Then set 0 (for 8*8 ) or 1 (for 16*16 ) to T on the first line of the program and run it. I used it to give me the 16*16 hex codes that I used in the movement engine. :)
-
Wow, I really like the 16x16 smooth scrolling routine. That is pretty sweet
-
Awesome! I will be adding a new feature soon that lets you insert external code into your programs so you can use other people's routines and libraries in a separate package from the rest of the main code.
-
Wow really nice, I wonder how fast would it be with collision detection and stuff? This might come handy for some people who want to work on tilemap-based RPGs and the like.
And Quigibo, do you mean like how in BASIC we can have sub-programs? Would we be able to keep them archived?
-
Yes and yes, except that you only need to include the program once and then you can call to the subroutines in the other program since they share the same labels. You will probably not be able to add inline code from other programs since I'm trying to make it as unconfusing as possible, and you should never need that feature. It will function more like the c-style #include directive. So you just include the library somewhere in your program, then you can use all of the subroutines from it as if they were in the regular code.
-
aaah sounds nice :)
-
That sounds cool! I like that idea. Bring on the '#include's! ;D
-
Lol, I just realized that Half Life 2 has been through 3 different versions of Axe, all requiring me to change code when I upgraded.
-
really? I thought most versions had similar syntax. I hope it won't continue to change too much in future ones, else it might be a bit annoying for projects in the works x.x
For alerady finished products, it might be fine, though, since the code is compiled.
-
Well, the biggest one was the commenting standard changes.
-
Well I've been working on a mario physics engine :P hope you like it. It's a little glitchy on slopes still though.
-
Kewl!
-
Well I've been working on a mario physics engine :P hope you like it. It's a little glitchy on slopes still though.
Sweet, Eeems!
-
Hey thats really neat! Yeah slopes are a bitch :P you seem to have handled them well though ^^
-
wow awesome!
Since Calc84maniac is alerady working on a Mario game, though, do you think maybe you could adapt the engine for another game, maybe like Ys III for the SNES/Sega Genesis? This game doesnt really requires real gravity and the way your Mario jumps would fit pretty well such game. It's slightly like The Blue Platform in the way you move around slashing enemies with your sword.
-
Yeah slopes suck...it's working fine until you get too the top two spot, so I might have to do some extensive debugging...
Thanks DJ! Well I was thinking of sticking with Mario for now and making a teaser game to draw in developers and then working on something else with the engine.
Also, that was running at 6MHz it runs way too fast at 15MHz so when I add in enemies and objects this will be epic :p although Ptoject M still takes the cake.
-
/me takes Eeems's cake... then realizes that it was all a lie.
-
Lol :p
-
Aaah ok I guess that's a good idea, then :)
I should maybe try working on some engine like this at one point, with scrolling.
-
Scrolling can make things like collision difficult I would immagine D: having to take care of offscreen collisions and whatnot. Speeking of collisions, Eeems are you using pxlTest or tile based collision?
-
yeah for enemies it might be hard x.x for character I think it might be fine, though.
For enemies, personally, I would try to just bother with enemies on screen, but for certain types of games it can be hard to manage.
-
I'm using pxl-test() based collisions.
EDIT: I was doing some more work and I fixed the slope glitches, as well as added running :D
I also switched the jump button from up to 2nd, since it works better :P
Alpha is run, and I have a superjump system in the works. after I add that I'll add in enemies :)
-
Wow nice, I wonder if in the future collision detection will be possible with something else than pixel-test, so you can have a wider variety of tiles instead of just plain black?
-
thanks, well actually I'm going to make all my tiles that are not solid objects, because I can have any tile I want, it will just pxl-test() for pixels only not whole tiles.
-
what about for example tiles like this, though?
OOOOOOOO
O O
O O
O O
O O
O O
O O
OOOOOOOO
?
If mario falls at a 2 pixel per frame rate, wouldn't he risk of going through this block?
-
well yes, but he doesn't fall at 2 pixels per frame, but if he was too, I would do the check twice in a row, which is how I do the running :P
I'm using the pixel test method in my tutorial.
-
won't it get too slow, though, if it won't fall faster than 1 pixel at a time? I noticed in your screenshot it seemed to have lower framerate alerady. Did you just slow down movement?
-
no it wont, my screenshot is slow because it's running at 6MHz, it runs way too fast at 15MHz. and so far on a 83+ it runs fast enough to be very playable :P it does seem a tad bit slow, but that is ok, because I will aim for 15MHz calc's and it will still be fast enough to play. and actually for the running, it does run faster, because it's only testing the X-axis stuff twice, so it's a little bit of slow down, but the speed increase is enough to make that slowdown null.
-
oooh I see now ^^
-
Don't forget, you can move 1 pixel at a time but update the screen every other time, so it appears you are still moving at 2 pixels per frame, but with the accuracy of 1 pixel per frame and nearly the same speed. That's what I did for starship.
-
You could do it like BuilderBoy and have everything multiplied by 64, then divide it by 64 in the draw code. That way, you have a lot more precision.
-
I actually use both of the previous suggestions in Portal right now :) It moves at a maximum of 1 pixel per frame, but updates only every other frame. And the coordinates are stored x64 for more precision, for the acceleration and stuff
-
Lol, well mine is kind of doing that, but instead it's applying x-axis checks twice per frame for running, I'll try to upload it today so you can see.
-
cool, can't wait to try ^^
-
ok, here is the new one :) hope you like it!
EDIT: here is a screenshot
-
wow nice ^^, just tried it and it's quite fast in SE mode, altough mario looked funny when you held down 2nd, left and right at once :P
-
lol :P
thanks :)
-
This is not by me but by Tribal on IRC, but he rarely posts on forums so I thought I would show this anyway:
(http://xs.to/image-3722_4BABCF1A.gif)
(Requires firefox or Opera so screenshot plays at full 30 fps)
It is not a game, just some testing in 15 MHz mode, but notice how fast it still goes when the entire screen is filled with flashing sprites. The stars scrolls every pixel btw. Basically, even with 80+ sprites displayed, he still manages to get 60 fps
-
will that have the same speed on regular 83+ since it's in 15MHz mode?
-
^^ sǝɯɐb ʇɐǝɹb ǝʞɐɯ oʇ sǝʞɐʇ ʇı ʇɐɥʍ sɐɥ ǝxɐ ʇɐɥʇ buıʌoɹd uıɐbɐ ǝɔuo 'ʍoʍ 'pıɐs buıǝq ʇɐɥʇ
˙ʇɹoddns zbɯ 51 ǝʌɐɥ ʇuop s,38 ǝɥʇ ǝɔuıs ʍoןs sɐ sǝɯıʇ 5˙2 ʇnoqɐ unɹ ןןıʍ ʇı 'ou
-
Yeah and seeing this speed gives me more hope about doing tilemaps and possibly even scrolling (at least, for side-scrolling games).
-
Here's a falldown like clone i made, controls are the F keys for varied speed in each direction, enter to pause, and clear to quit, and +- keys to change row skins (there's 5). The only thing is on calc, it blurs so it looks like the ball is spinning, unlike the screenshot. :P
-
Nice ^^
I think you should probably make it start faster, tho ^^
Also I like how the blocks change once it goes faster ^^
-
no, that was just me changing it, using the +- keys, which can be done at any time XD
-
oooh I see ^^
Also change the controls from Y= and Graph to left and right
-
That's really cool! How fast does it go?
-
well, it was still less than 50% when i died =P that one wasn't very good at all...
-
Ah ok, you should post a faster one because to be honest I didn't watch it all the way through :P
-
tl;dw
Can you post the fast segments?
-
I still think it might be best to start up at faster speed, because even if it moved at 8 pixels a second it would still be easy anyway.
-
Here's something I hope: that when Axe Parser beta comes out, that the very first Axe file ever uploaded on ticalc.org will not be a Quadratic Solver like what happened with the first BBC Basic program release:
http://www.ticalc.org/archives/files/fileinfo/417/41757.html
I know this is impossible without inline ASM, as Axe Parser lacks floating point support, but we never know D:
I think people who uploaded stuff in older posts on that thread (like Papijump, the Falldown clones, the animation demos, etc) should maybe edit them with title screen or menu and release at ticalc to show what the parser can do in terms of small projects :P, or maybe in game packs, before somebody attempts at uploading a quadratic solver <.<
-
lol, quadratic solver ftw
maybe you could make it believe it has floating points, like the first 2 digits are the ones and tens places, then the next 3 are the decimal parts.
-
Here's something I hope: that when Axe Parser beta comes out, that the very first Axe file ever uploaded on ticalc.org will not be a Quadratic Solver like what happened with the first BBC Basic program release:
http://www.ticalc.org/archives/files/fileinfo/417/41757.html
I know this is impossible without inline ASM, as Axe Parser lacks floating point support, but we never know D:
I think people who uploaded stuff in older posts on that thread (like Papijump, the Falldown clones, the animation demos, etc) should maybe edit them with title screen or menu and release at ticalc to show what the parser can do in terms of small projects :P, or maybe in game packs, before somebody attempts at uploading a quadratic solver <.<
Maybe not floating point quadratic solver but integer quadratic solver?
And wow impressive how Axe code can maintain such speed. :o
-
/me goes to make a simple game of pong for his tutorial in the Axe Pages.
-
In my news section I added a comment about the Axe pages in case people need help. Since the news section receives more traffic than any other section I thought it would be a good idea to mention it, in case some visitors have checked Axe Parser and use it and would be willing to help too.
-
Wow you guys have some really amazing stuff produced already! I don't think I could get as far as you did with only a week or two even if I had a whole year. ;)
I always like to just fool around in BASIC, and a while ago I stumbled upon a somewhat cool visual effect. Unfortunately it ran quite slowly. Thankfully, Axe is much easier to learn than ASM (which I attempted to teach myself, but ultimately failed). After a quick conversion to Axe it runs much faster and looks pretty nice, even running at only 6MHz. On my TI-84+ SE I even have to slow it down. :o
But back to why I'm here: to show it off! Attached is a screenshot of two versions running at 6MHz, as well as the source and compiled code for both. I'd be honored if anybody wanted to steal from my source code haha.
-
Wow! That's a really neat effect! Good job.
I just happen to be writing the actual Line() routine right now. Its a lot harder than I thought it would be becasue I can't make more than one call or absolute jump in the assembly template unless I make some major modifications to the parser. It might have to be a "shell only" command until I finish writing a good one myself.
-
Wow, at first when I saw the screenshot, I went like: "Wait what? Since when Axe has a line() command???" but then I realized maybe it's something else.
Either way, friggin awesome stuff! I bet it could be used for some RPG magic animations if tweaked a bit
Good luck Quigibo on the line routine
-
Ya, I'm curious how it's accomplished. Will have to check out the program later :) And good luck, Quigibo ;D
-
Oh I just found CoBB Line routine, I thought it was just on his old site but it's on ticalc.org
In case you still have trouble with line routine or want some ideas: http://www.ticalc.org/archives/files/fileinfo/234/23429.html
-
I once had a working line routine written in Axe, but it got erased :( Good luck with the coding! I can only imagine how hard it is, even the one in Axe gave me a headache.
-
I've written a really fast line routine that only uses one external call to the get pixel routine and it doesn't use shadow registers or absolute jumps! And its relatively small, under 100 bytes (50 bytes smaller than that routine you linked to). Haven't tested the speed yet becasue I have to resolve a few parsing issues first, but I presume its really fast, probably faster than that other one.
-
Wow great to hear. I do not think the speed will be a major issue, though, but it's great. Fast speed will help a lot for people writing some 3D stuff.
-
So i was just fooling around the other day and i made this little fun fluid simulator :) It uses some very basic rules but it ended looking quite realistic (for a calculator that is) and it runs quite fast up to about 200 pixels of water :) Sometimes it acts weird though, so it might be considered more of a sand simulator than a water simulator.
-
That is just awesome! I'm amazed. Excellent work!
Do you mind sharing how you did this? (In psudeocode)
Thanks!
-
Wow, that's awesome!
-
wow nice job, I second the source (in psuedo-code) notion (is notion the right word?)
-
Its actually not that complicated of an algorithm :) Each pixel is simulated individually and follows very simple rules:
1) If you can move down, move down
2) If you can more either right or left, chose a random direction
3) If there is only one direction you can move, do that
4) If you cant move dont move
It uses basic picelTesting to determine a direction it can move, and both water particles and terrain are solid. I was inspired a lot by the Power game :) http://dan-ball.jp/en/javagame/dust/
-
WOW AMAZING!
I wonder if you'll port that java game you did a while back?
-
Do you think Waterworks is possible in Axe? If so, I think someone needs to port it! ;D
-
Waterworks? Maybe, although the controls might be a bit weird because its all mouse based, and i find mice to be rather hard to use on calculators ;D It would be interesting though, ill have to look into some pinball physics
-
Would a Peggle port be possible? I think that would be just about the coolest thing ever! ;D
-
Heh, actually that might be possible :O quick get on that ztrumpet! ;) heh just kidding, i might write a pinball engine soon though so just you wait!
-
I think I'm going to try and make that water physics program, then maybe add a full World Of Sand capabilites to it.
Btw, WOS was one of my favorite games for the computer, I'd spend hours playing with it. I remember there was a program on ticalc.org that was a falling sand clone, but...it left a lot to be desired, it was written it ti-basic, slow and only had lightning and (basic) seeds iirc
-
Have you played the power game? Its like WOS but it has a lot more different elements :)
-
I assume you mean 'powder game' and yes, its fun as well and has a completly different element thing iirc, doesn't it have wind and such?
-
yeah it does, its a lot different that WOS, and the updates have been rather weak lately :/
-
I haven't played it in about 2-4 weeks, should I try it again, or just leave it for now?
-
I messed a bit around with it. First it runs at 6 MHz, then later in the screenshot I run it at 15 MHz
Btw you should post this on ticalc maybe (even if just the executable), we need to show the rest of the community what axe can do :P
-
WOW! I can't believe its so fast! Also, that website is really cool!
EDIT: If its fast enough, a port of that game to the calculator would be really really neat and original, although with only black, light gray and dark gray, there really wouldn't be that many possible objects.
-
That looks really cool! I have no idea what it is (besides looking like a water simulator type thing) because I haven't read the previous posts or anything but sweet! Great job DJ!
-
Oh it was not by me it was by Builderboy. I just did a second screenshot of it with different solid patterns
-
Oh ok, well then great job, Builder.
-
Builder, you have outdone yourself again.
That is all.
-
That is amazing stuff. You have a truly interesting collection of products.
Builderboy is our physicist expert. ;D
-
I checked the source, but I'm horrible at reading other peoples source. Does this use different sized 'lists'? ie does it have an element or something that makes it check more or less of the data (does that make sense?)
-
somehow, I believe his array is limited to about 200 elements, after a while notice how it stops dropping water. I guess he only allocated about 400 bytes of RAM for the data (200 for X and 200 for Y)
-
So i was just fooling around the other day and i made this little fun fluid simulator :) It uses some very basic rules but it ended looking quite realistic (for a calculator that is) and it runs quite fast up to about 200 pixels of water :) Sometimes it acts weird though, so it might be considered more of a sand simulator than a water simulator.
Some how I missed this, but it looks really sweet! I'd like to see this demo developed further into some sort of (puzzle) game. I think you could do some really neat things with it! :D
-
/me wonders if something like this could be possible, if stripped down
http://www.omnimaga.org/index.php?action=downloads;sa=view;down=470
-
Heh that might be possible, although it would use a different engine. What i have here is more of a fluid simulation, where as waterworks is more like a pinball simulation. That and the lack of mouse control might make it a bit weird. But it would be soooo coool ^^
-
Random pointless project, HTML interpreter for the calc. The program just reads the page out of the program "HTMLPAGE" I also made a simple kind of text editor to go with it, since you can't just write it using the normal editor... (This uses the font set instead of the token set) It only supports 5 tags right now, as seen in the screenshot...
-
wow, nice job
-
o.o lol nice :D
It may not be that useful to many people but it's still interesting to see stuff like this. Nice job so far
-
Heh that might be possible, although it would use a different engine. What i have here is more of a fluid simulation, where as waterworks is more like a pinball simulation. That and the lack of mouse control might make it a bit weird. But it would be soooo coool ^^
I think it'd be uber cool! ^^.
-
hmm...I'm having trouble making my own version of builderboy's water physics program. Can anyone help me spot the error(s)? Basically, what it is doing wrong is when they reach the bottom of the screen, it starts glitching up and puts random pixels (more than there were to begin with) everywhere all over the screen. Alpha creates tiles, Mode deletes them, 2nd drops water, and Clear quits, oh and arrow keys move. Thanks
http://www.mediafire.com/?kzykfrzkymw (http://www.mediafire.com/?kzykfrzkymw)
:.B
:[F09090F0000000000060600000000000→Pic1
:
:20→X→Y
:
:For(A,0,399
:0→{L1+A
:End
:Pt-On(X,Y,Pic1
:Repeat getKey(15)
:Pt-Change(X,Y,Pic1
:.For(Z,0,1
:X+getKey(3)-getKey(2)→X
:Y+getKey(1)-getKey(4)→Y
:.End
:If getKey(48)
:Pt-On(X,Y,Pic1+8
:End
:If getKey(55)
:Pt-On(X,Y,Pic1+8
:Pt-Change(X,Y,Pic1+8
:End
:If getKey(54)
:0→A
:While (A<300) and ({L1+A+1}≠0)
:A+2→A
:End
:If A<301
:X+1→{L1+A}
:Y+4→{L1+A+1}
:End
:End
:
:
:For(A,1,299
:If {L1+A}
:!If pxl-Test({L1+A-1},{L1+A}+1
:
:{L1+A}+1→{L1+A}
:Else
:rand^2*2-1→B
:!If pxl-Test({L1+A-1}+B,{L1+A}
:{L1+A-1}+B→{L1+A-1}
:Else
:!If pxl-Test({L1+A-1}-B,{L1+A}
:{L1+A-1}-B→{L1+A-1}
:Else
:.IT HASN'T MOVED
:{L1+A}-2→{L1+A
:
:
:End
:End
:End
:If {L1+A}>60
:0→{L1+A}→{L1+A-1}
:Else
:Pxl-On({L1+A-1},{L1+A}
:End
:
:A+1→A
:End
:End
:Pt-Change(X,Y,Pic1
:DispGraph
:For(A,0,298
:If {L1+A+1}>60
:0→{L1+A+1}
:End
:If {L1+A+1}
:Pxl-Off({L1+A},{L1+A+1}
:End
:A+1→A
:End
:DispGraph
:
:End
-
mhmm sorry I tried understanding the code but got confused since I have trouble reading other ppl code x.x
It seemed like, after trying your program, that the stuff was going back up in the screen when reaching the complete bottom, or that it appeared in random places. Could the array of water particles be overwritten by other stuff?
-
Hmmm, that's really weird. I probably can't help much but I'll try looking over the code. One thing though, I would add something that clears the buffer at the beginning.
-
ok, here is my version of builderboy's water particle simulator. It supports evaporation and it runs at ok speeds on my TI-83+ as well as it has up to 250 particles on screen at a time.
[arrows] move cursor
[2nd] draw blocks on screen
[alpha] drop water
[delete] delete a block
[graph] clear all water particles
EDIT: sorry about the screenshot, it looks like I was using the wrong version of wabbit, I'll upload a new one in a bit.
-
wow that's really nice, I like the evaporation feature :)
EDIT: strange, ALPHA does nothing
EDIT: nvm, fixed
-
Nice! I like how they evaporate. Nice job! ;D
-
That's really cool :) Looks great.
Did I miss something for why everyone is trying to recreate Builder's water program? Or is he just that awesome? :P
-
i guess it's just too epic ;D
-
hey I have some axe programs i want to upload and ask or help with but i dont know how to attach them... :(
-
In the quick reply box at the bottom, press "Preview".
Right above the post at the bottom, you can attach files. :)
Welcome here. ;D
-
Oh hi and welcome here :)
Instead of using the Quick Reply box, click the reply button at the bottom of the post list, then below the post area there should be some options and an attachment form. Simply attach your files there. Click more attachments if you need to upload many. The forum accepts 8xp, zip and such files. Just make sure if you upload screenshots that they aren't too large, though.
-
thanks for the welcome! :)
In the quick reply box at the bottom, press "Preview".
Right above the post at the bottom, you can attach files. :)
Welcome here. ;D
Oh hi and welcome here :)
Instead of using the Quick Reply box, click the reply button at the bottom of the post list, then below the post area there should be some options and an attachment form. Simply attach your files there. Click more attachments if you need to upload many. The forum accepts 8xp, zip and such files. Just make sure if you upload screenshots that they aren't too large, though.
but i don't see an attachment form... :(
-
Oh wait I see why. It's because you have under 5 posts. I disabled attachments for people under 5 posts because spambots/crawlers kept uploading adult pics :(
Sorry for that x.x
If at 5 post it still won't show up, though, then it might be your computer or internet browser
-
Oh wait I see why. It's because you have under 5 posts. I disabled attachments for people under 5 posts because spambots/crawlers kept uploading adult pics :(
Sorry for that x.x
If at 5 post it still won't show up, though, then it might be your computer or internet browser
ok thats understandable thx for letting me know
incidentally how do i shift the screen using axe?
-
You need to use the Horizontal+, Horizontal-, Vertical+ and Vertical- commands
-
cool thx
now i just need to throw it in my papi jump program
kinda just trying to learn the basics at the moment
i also made tron with axe using getkey and pxl-on( (kindof inefficiently)
anyways i got to go for now thanks again
-
Oh cool you made a PapiJump program too? Nice
Ztrumpet made one a few months ago, but it's for a very old Axe version. I am curious what could be done with the newer versions.
Can't wait to see your stuff ^^
-
Hey, here's my old Papi Jump: http://ourl.ca/4161/77152
Keep in mind it was with a very early version of Axe, so I don't think it will still compile with the newest versions. :)
-
I think it compiles for 0.0.4, right? I haven't tried it in ages
-
I think it was for 0.0.5. ;D
You can still run prgmLOL to play it... :D
-
true.
Btw it would be nice if all staff rewrote their old projects from Axe 0.0.x to newer versions with maybe a simple title screen so maybe I could add them to archives as some sort of Axe classic game pack ^^
-
I should do that! great idea! :D
Guess what I'm doing when I get the time... ;D
-
Lol
Don't forget your other game too ^^
Btw I updated Axe Tunnel to 0.2.5, saving a few bytes, but I will prbly lose them again in another update cuz I forgot to make the grayscale command running at 6 MHz (which could cause glitches on real 15 MHz hardware)
-
I managed to get my papi jump program working
im kindof at school now but ill upload when i can
-
Ok cool :D
Now that you got 5 posts it *should* work. If it doesn't then it may be your internet browser, firewall or computer, though. Just make sure you do nothing else while uploading, such as watching Youtube videos.
Otherwise, if uploading on the forums fails, then there is http://www.mediafire.com
-
ok here's the program and source
PAPISRC-Source
PAPIJUMP-Game
im trying to get the score to display at the bottom of the screen if any1 could add that or optimize the code, it would be very much appreciated.
(I would also like responses plz!)
-
I like it :D
It can be quite addicting for a while. Also this one is vertical instead of horizontal so it can be easier to play. I don't know if I will have time to check the code for a while but I'm glad to see new people interested in calc programming and that language
I am attaching a screenshot of the game (at 9 fps. Game runs much smoother than in the screenshot)
-
I like it :D
It can be quite addicting for a while. Also this one is vertical instead of horizontal so it can be easier to play. I don't know if I will have time to check the code for a while but I'm glad to see new people interested in calc programming and that language
I am attaching a screenshot of the game (at 9 fps. Game runs much smoother than in the screenshot)
Glad you like it, after you told me how to shift the screen I added it to the program but Axe cleared Ram so I had to start over.
Did it in Stats class in about an hour
-
Oh yeah I hate RAM clears x.x
They're a big part of programming in TI-BASIC when using ASM lib helpers, when programming Axe on calc and ASM on calc, unfortunately, because ASM programs have no error checks during execution most of the time, so if you do something wrong, you can screw things up, causing an eventual RAM clear.
Nice to see how fast people can write Axe programs
-
Nice! I agree, scrolling horizontally is better than holding the calc sideways. :D Besides, mine was way too touchy anyway. ;D
Great job! :)
-
Nice! I agree, scrolling horizontally is better than holding the calc sideways. :D Besides, mine was way too touchy anyway. ;D
Great job! :)
Thank you very much, feels great to know that even with my only programming knowledge is Ti-Basic, I can make decent programs with Axe.
Thanks to ztrumpet for the praise and thanks to Quigibo for Axe!
Anyone notice my using the smiley for the ball?
-
Yeah I liked that :D
-
Yeah I liked that :D
Me too. It looks really nice. :)
-
Wow! Nice game!
Just few suggestions, adding items and monsters to avoid might make this game ultimate :)
-
Wow! Nice game!
Just few suggestions, adding items and monsters to avoid might make this game ultimate :)
You could port Doodle Jump. ;D
-
Wow that looks really cool. I'll try it out when I have time. Good job :)
-
Wow! Nice game!
Just few suggestions, adding items and monsters to avoid might make this game ultimate :)
Thanks for the suggestion!
If I can figure out how to do that I will
-
So I got bored last night and I thought of what I could do with Axe and I thought of DJ's tunnel program, and I thought that I should try personally coding a tunnel game as the next step in learning how to program with Axe, it runs slower than the tunnel on ticalc but it looks similar.
-
I've got a math final today, and when I'm done, I'm going to make a multitask clone ;D
-
I've got a math final today, and when I'm done, I'm going to make a multitask clone ;D
That would be really cool to see on a calculator. I'll be waiting for it.
-
Nice guy6020665 I like it ^^
I think the reason why mine ran this fast is because it only randomizes the track direction every 8 step instead of every step. However it doesn't look as good as yours.
And MrCodingKnight that would RULE! I am sure this is possible and it would be nice to see ^^
-
Nice guy6020665 I like it ^^
Thanks DJ.
However it doesn't look as good as yours.
What are you talking about? Mine is nothing compared to yours. I just made it look like the one on Ti-Calc. Yours looks way better.
I think I'll try to port that one game on the Ipod touch/Iphone where you are a stick figure that has to jump across platforms as long as possible over the weekend.
-
So, I made a chopper game instead, due to some complications with making Multitask. However, the chopper game is very pretty and I tried to make it as full featured as possible. I'll upload it when I get the chance.
-
Well I got bored so I completed it before the day was over...
Originally Stick Run I changed it to Skate Run because I couldn't draw a decent running stick figure. :'(
Edit: I tried it with Mirage OS but it just gives one permanant line that doesn't change, you can still jump and your score still goes up but I don't understand why it does that
-
Nice guy6020665 I like it ^^
Thanks DJ.
However it doesn't look as good as yours.
What are you talking about? Mine is nothing compared to yours. I just made it look like the one on Ti-Calc. Yours looks way better.
I think I'll try to port that one game on the Ipod touch/Iphone where you are a stick figure that has to jump across platforms as long as possible over the weekend.
Oh I mean mine has the track often go in straight lines, while yours has varied edges, looking a bit more complex. I meant graphical-wise. Also mine at max speed is so fast that it's nearly unplayable XD
So, I made a chopper game instead, due to some complications with making Multitask. However, the chopper game is very pretty and I tried to make it as full featured as possible. I'll upload it when I get the chance.
Aaaah I see, can't wait to see it ^^
I hope you don't give up on the Multitask, though. :)
Well I got bored so I completed it before the day was over...
Originally Stick Run I changed it to Skate Run because I couldn't draw a decent running stick figure. :'(
Edit: I tried it with Mirage OS but it just gives one permanant line that doesn't change, you can still jump and your score still goes up but I don't understand why it does that
Cool, tried that one and it seems fun. You should maybe have it scroll more pixels as it progresses so difficulty increases, or have bigger spaces between lines as it progresses. As for MirageOs I think there are compatibility issues with creating appvars (or writing to them). It conflicts with MirageOs. Quigibo needs to fix this eventually. Just compile no-stub, Ion or DoorCS now, and don't run Ion Axe games in Mirage either. And make sure to backup often.
-
Hello, i decided i would put together a game pack with a graphical selection screen of all the mini games in this thread, or at least the people who allow me to.
@Quigbo: i was wondering, so if i drew something with the "PEN" command and "DRAW" and saved it as a Pic, and put that in the Source, it would show up in the executable, right? Even if I deleted the Pic?
and also, whoever would like me to put their game in the game pack (Possibly called Axe Pack [insert number of PRGMs here] by Omnimaga), please reply to this thread with their TIcalc.org handle and the source of their program.
Note: You WILL get credit!
P.S. Oh and if you want to include a readme, you can and I'll put them all together.
P.P.S. Sorry for the long post. ;) :-\
-
Depending how you handle this the room for memory might get small fast because you have a 8 kb limit on executable code (right?).
-
Err, i have trouble trusting a person who registered 3 days ago and asked me if he could use my programs on his first post...
-
Oh, yeah, I didn't think about the fact that I'm new.
But then again, I wouldn't ask if I wanted to steal your programs; considering you have already posted your source code, I could have just made it anyway.
But you don't have to, I'm just asking, you could wait til a month later or never at all, for all I care. ;)
btw I've been on here since February, I was just too lazy to make an account.
Once again, you don't have to, I just thought I would offer to since no one did after DJ suggested it.
-
Yeah, I've been thinking of doing something similar.
Welcome to Omnimaga, and feel free to use any of my Axe programs for this, assuming I get proper credit.
-
Thanks. :)
is it okay if I put your name on the TIcalc.org file authors list and list which programs you wrote on the readme?
note that I won't include any Axe files already on ticalc.org as of upload date Well, then again, I guess it doesn't matter, It'll probably INCREASE the Download Stats of that person anyway.
I'm thinking of making the game selection screen like puzzlepack, but with a more button, if I include more than four games.
Oh, and Thanks in advance to whoever gives me their permission! ;D
<offtopic-ish>@Mr_Coding_Knight: did you change your name from SirCmpwn? Just curious, and also because thats the handle on ticalc; I seem to remember your (or somebody like you) username once being that. (Just to avoid confusion);)</offtopic-ish>
EDIT: Screenie: I know the boxes aren't equal height, but I thought some games might need a more descriptive drawing.
since I know I can't upload it while I'm below 5 posts, please click below link:
http://img339.imageshack.us/img339/1316/screen01z.png (http://img339.imageshack.us/img339/1316/screen01z.png)
Edit2: @meishe91: Good point, I doubt there will be too many Large games, since the point of the game pack is like a "mini-arcade" filled with games that take too short time to play by themselves, but with a pack of them, you could switch every once and a while. Bottom line: Games won't be so large. (hopefully) ;)
-
The reason you can't type his name is because we don't want certain people knowing he is here. I would change that last post. But yes, you are correct about that.
And ya, I know the files shouldn't be to big. But with the executables that you have in the menu system and then the executables in the games them selves it could add up. It was just a head's up though.
By the way, nice screen shot. I like it but I would make all the boxes equal in size just to make it more uniform and professional looking. Looks good though :)
-
yeah, I decided the boxes just kinda didn't look right, and I managed to figure out how to fit enough on a smaller one. PuzzPack interface ftw!
oh... and a title screen:
I'll add portions of the games once I get permission from more people to the sreen so you can get a general idea of the games by looking at the title screen, sorta like the MaxCoderz Image on the top-left hand corner of its site.
Anyway, the screenie:
http://img687.imageshack.us/img687/9735/axescreen.png (http://img687.imageshack.us/img687/9735/axescreen.png)
-
This could be just being picky, but I think the letters look a bit thin. I would do block letters or something instead of single pixel letters. Just my opinion though. Looks cool though.
-
Feel free to use anything I've uploaded, just remember to give credit! ;D
-
Cool, tried that one and it seems fun. You should maybe have it scroll more pixels as it progresses so difficulty increases, or have bigger spaces between lines as it progresses.
I have the lines getting further apart after a while, I don't know if it's in the one i uploaded though, if not I'll upload the slightly edited one later.
As for MirageOs I think there are compatibility issues with creating appvars (or writing to them). It conflicts with MirageOs. Quigibo needs to fix this eventually. Just compile no-stub, Ion or DoorCS now, and don't run Ion Axe games in Mirage either. And make sure to backup often.
I found out that i had compiled it for ion but after recompiling for mirage it works fine.
-
Hi yunhua98 and welcome here!
You could maybe use my Axe tunnel in your game pack, but keep in mind it's 2 KB in size and I don't know how much space you have left. That would take a lot of room code-wise (due to the 8 KB executable compiled code limit), so maybe you could add "Eat Nethams" instead, altough it's not that great :P.
ANd yeah just remember to give credits. Also do not add more than 3 different authors in your game pack because ticalc.org limits uploads to 4 authors (including yourself).
Also in the credits section, you should mention you got permission for each authors and link to each post that grants you permission, to make sure ticalc.org staff won't get any ideas, especially that you are still new.
By the way I like both screenshots. Nice
I hope eventually you make some cool games (or utilities) yourself too. More TI programmers FTW ;D
-
Welcome here!
By the way, the code for the game pack itself, not including title screen stuff, would be much less than the size of the individual games. That's becasue they can all share the same routines like the sprite drawing commands, Dispgraph, rand, multiplication, modulus, etc. all taken care of by the parser. I'm guessing it would likely save about 200-300 bytes for each program after the first one.
-
oh right I forgot about that x.x
I guess that should help, then. That's unless of course he planned to use a game that's like 4000 bytes and a few others that are 2000 each, then he might have issues :P
-
Thanks, In that case (4 author limit), I guess that's all the games I will use.
@DJ Omnimaga: I think I'll use Eat Nethams, as the point of the game pack is to make maybe not as fun (no offense!!) individual games into one addicting game pack.
Oh... I also am working on my own Axe Game, I'm making it slightly like a tunnel game, but with a twist, It'll have a car instead of some ship and obstacles in the tunnel that you can shoot.
I was wondering, If the games do turn out to be too big, is it possible to separate them and link them together with a BASIC prog and pack it into an APP with BasicBuilder?
You know... by using the Asm( function and run the prog with the title screen, use the Basic prog to select and then run the game? (just a thought.) ;)
Edit: May I use the version of Eat Nethams which runs at 6 mHz, which is already very fast, cause the 15mHz one is so fast you can't see a thing. :o
Edit2: Update!
How's this? (I'm not the best artist ;))
Title Screen: (http://img718.imageshack.us/img718/9735/axescreen.png)
Epicness:
(http://img99.imageshack.us/img99/6730/selection.png)
-
Yea, I was wondering about the Basic Builder thing myself... we'll have to see. It certainly would be a nice workaround.
-
I love the title screen and game select interface!
As for Basic Builder I don't know, but I think Raylin tried and it doesn't appear to let you run ASM programs
EDIT (Off-topic: Your ticalc info in your forum profile is setup wrong, I think. You included the entire link instead of just the IDs)
-
I love the title screen and game select interface!
As for Basic Builder I don't know, but I think Raylin tried and it doesn't appear to let you run ASM programs
EDIT (Off-topic: Your ticalc info in your forum profile is setup wrong, I think. You included the entire link instead of just the IDs)
Thanks! And I fixed the ticalc thing.
why do ASM programs not work? a bunch of BASIC Shells use ASM routines, most notably Black Eagle Shell. How can BasicBuilder tell whether it's a game or a routine?
Update: Changing "More>>>" to "Quit"
Anyways: How do you invert a portion of the screen in AXE? Is there a quicker way than pxl-change? I wanted to Invert the game that you're selecting. (Like FinnPack.) :-\
And when I insert the pic into the program, I added det(12 before Pic#->DispGraph, but it displays some random pixels on the bottom row where the inaccessible row 64 is. I don't think det(12 WORKS THERE, BECAUSE i'M guessing thats a portion of the next Pic in RAM. If I'm right, can someone tell how to fix this? ???
-
I'm not sure. What I think is that it's because BB was setup to launch BASIC programs and the author did not take ASM ones into account. Maybe someone has a way to do it or maybe the author could update it to launch ASM programs. I don't know.
As for inverting parts of the screen I've been wondering that too. If the boxes width and heights are multiples of 8, you can use multiple 8x8 black sprites to invert them, though.
-
And when I insert the pic into the program, I added det(12 before Pic#->DispGraph, but it displays some random pixels on the bottom row where the inaccessible row 64 is. I don't think det(12 WORKS THERE, BECAUSE i'M guessing thats a portion of the next Pic in RAM. If I'm right, can someone tell how to fix this? ???
You have to put the det(12) directly after the picture data because the det command is a data command and isn't actual code.
-
Hey, yunhua98 welcome here! Although I don't think you need more games now, if you want you can use any Axe games I'd made that are in this thread. Keep in mind that most of them were for previous versions of Axe. ;D What you've done looks nice! :D
I've got a math final today, and when I'm done, I'm going to make a multitask clone ;D
I can't wait to see it! ;D
-
I'm not sure. What I think is that it's because BB was setup to launch BASIC programs and the author did not take ASM ones into account. Maybe someone has a way to do it or maybe the author could update it to launch ASM programs. I don't know.
I meant if we started with a BASIC program with the first line Asm(prgmPROGNAME, which then returns, uses number stored in ANS to determine which game to go to.
And when I insert the pic into the program, I added det(12 before Pic#->DispGraph, but it displays some random pixels on the bottom row where the inaccessible row 64 is. I don't think det(12 WORKS THERE, BECAUSE i'M guessing thats a portion of the next Pic in RAM. If I'm right, can someone tell how to fix this? ???
You have to put the det(12) directly after the picture data because the det command is a data command and isn't actual code.
Thanks! Can you implement the Inverting part of screen as a command?
Suggestion: "iPart(coordinates of top left corner, coordinates of bottom right corner)" maybe? (invertPart) (This is assuming its always a rectangle.) ;)
-
^++
Agreed and seconded.
-
It would be nice, but if you don't need speed (IMHO, if it's for a menu selection, you don't need speed) and use inverting at several places, you can simply store the 4 coordinates edges in variables, then put the filling code in a sub routine.
10->A
5->B
65->C
25->D
Sub(FI)
Lbl FI
For(E,A,C)
For(F,B,D)
Pxl-Change(E,F)
End
End
DispGraph
Return
-
Even if speed was a factor, that routine is still really fast :P
-
Thanks DJ, thats what I was going to use until Quigbo decides about the my suggestion, although I realize your code is better than the one I put in.
*[Clear], [Del], ...*
-
Hmm, the idea could work. I like the idea for iPart() as the command, but at the same time, I am also planning to add the Rect() command for drawing filled boxes and I wonder if I can use a modifier to switch between fill black, fill white, and fill invert. This will come when I get to geometry drawing, but don't expect it for a while.
-
Rect() sounds better IMHO.
A modifier could be used indeed.
Example
Rect(x1,y1,x2,y2,modifier)
0=filled black
1=filled white
2=filled XOR
3=black outline
4=rickroll
5=white outline
6=XOR'ed outline
For outlines, I think people can easily use Line(), though, and make a routine like a few posts ago if they need to draw a filled rectangle with different outline color multiples times in their program
-
i can't upload a screenshot, unfortunately (last time i tried to rom dump all i got was a nasty ram clear)
but, here are files of a relatively simple game where you jump on platforms and try not to hit the ground.
it's for the ti 84+ , since most programs i make are only for myself i don't bother with compatibility. however, if you don't own a ti 84 then in the source simply change the variable T from 90 to 30. otherwise, your game will go very, very slowly (:
EDIT: the number below "score:" when you die was just for me to keep track of how many milliseconds the game was pausing at a certain score... your actual score is to the right of the text. oh, and if anyone takes the time to beat 1756 points, you beat me.
-
Nemo, that's pretty cool. Nice program! :D
Rect() sounds better IMHO.
A modifier could be used indeed.
Example
Rect(x1,y1,x2,y2,modifier)
0=filled black
1=filled white
2=filled XOR
3=black outline
4=rickroll
5=white outline
6=XOR'ed outline
For outlines, I think people can easily use Line(), though, and make a routine like a few posts ago if they need to draw a filled rectangle with different outline color multiples times in their program
* ZTrumpet uses Rect(0,0,95,63,4) on DJ_Omni! ;D
-
@nemo: Wonky controls but I beat ya score. :) [2154]
@ztrumpet: I need the RECT() command; GIMME!
-
what?! i was playing that game all day in math today!
i know the controls are weird :) for example, when you hit your head on an overhead platform, your velocity is set really low so it seems like your character kind of hangs there for a moment before descending.
-
Oh nice game, I noticed the head glitch, tho XD
It was weird at first but I got used to it and nice game ^^
Screenshot below:
-
Darn you and your .gif titles. I lost the game :(
-
Lol sorry I couldn't think of a gif name XD
-
Wow... I wish ticalc.org didn't have a limit on # of Authors.
Anyway, I'm haven't been working on the Game pack for a while and probably not until tomorrow, I have a ARML math practice going on, but today's the last day...
btw, if Calc84 didn't post that, I wouldn't noticed, I LOST THE GAME! :'(
-
You can't escape internet memes bwahahahaha XD
joke aside, I hope you get more free time afterward to program (like everyone else), such as no Summer school or 2-3 jobs at once x.x
-
This. Is. EVIL.
:.HORRIBLE HORRIBLE THINGS
:For(A,1,1000)
:RandA->H
:GetCalc(H,1)
:Archive H
:End
-
Mhmm sorry but I fail to see the point of trying to crash people calcs (altough from the program title it is enough to not want to run on a real calc)
Well, on Wabbitemu 84+, it archived for a while, obviously, then I ran out of RAM, ending up with 149 bytes and Pxl-Off( in my MEM manager (which crashed after an ERR:UNDEFINED after trying to delete it)
-
I ran it in an emulator, and it ramclears when you scroll down to the appvars, getting overwhelmed, thus you cannot delete them.
-
The better version of this is just to create lots of appvars, all the same name. (you shouldn't be able to do it, but using "prgmVAR" rather than the correct "vVAR" does the trick.) It doesn't crash your calculator, it just can slow things down a lot and it makes it a pain to delete them, since you go in, delete it, it looks like it's gone, you go in, it's back, you delete it, and so on.
And yes, whyever would you want to clear someone's RAM?
-
To mess up a calc badly I think you could always just store random crap to every RAM addresses like For(A,0,32767):rand/256->{A}:End. I have doubts the program would even reach 32767 and I do not know what kind of bad stuff will happen x.x
If you want to mess around I really recommend testing on emulator, first.
Btw, anyone knows at which RAM address the calculator current RAM is stored? I know where is the archive (in 4 bytes little-endian hex, if I recall correctly) but I couldn't find the Free RAM amount location on WikiTI.
It would be nice when running a game if we could show the calc RAM in a menu
-
there is a bcall, MemChk, that returns the amount of free RAM. I'm not sure where the data actually is. (In case anybody wants to come up with hex, the amount of free RAM is returned in HL)
-
Ok so it isn't stored at a specific RAM address?
-
I don't know. It would seem like there's a counter somewhere, given the fun I've had with calcsys and no free RAM, (you can even do this in Axe, code below), but I'm not sure where that is either. Is anyone more knowledgeable about this?
Code:
.RAMBGONE
"vTEMP"->Str1
GetCalc(Str1,1000)->X
Return!If X
0->{X-2}r
.Previous r is radian r, of course
Delete appvar TEMP, and you'll have 100 bytes fewer free RAM than before. Of course the 1000 can be replaced by any value, including values >9000.
The program works by setting the appvar size to zero after creation, which means there are 1000 bytes of free RAM that the OS doesn't know exists.
-
That's becasue the symbol table also holds a copy of the size and the OS uses that when calculating how much ram you have. I'm almost certain that there is no one location that holds the current ram amount. Instead, I think the bcall calculates the ram available by reading through the entire symbol table each time.
By the way, I think this has kind of gone off topic since this thread is mainly for sharing projects.
-
yeah it would be good if it went back on-topic (and preferably projects that doesn't involve trying to cause RAM clears and install viruses on people calcs <.<)
-
Let's not make Axe viruses. :P I think it's better to make awesome Axe games! :D
-
Speaking of which...
Sorry for the delay, I ahd too much math over the past several days, and Internet was down yesterday.
I finished the AXE Game Pack, but I don't have a cable with me or TI-CONNECT. (I'm at the library.)
I'll upload it as soon as possible. (Which means sometime this evening.)
btw, thanks for your routine, DJ!
P.S. I might optimize some more some other time, but for now I think I'll post it on ticalc.org as soon as possible. ;)
-
Cool glad it's coming out soon ^^
Don't forget to add the authors, though :P (I recommend searching their profile first, to not make spelling mistakes, so the program appears in their author profile too. Most of them have their ticalc profile linked somewhere in their Omni forum profile)
-
Don't Worry, I got them. ;)
Problem is, I forgot I have Friday Night Bible Study today, it may be late tonight or early tomorrow or something before it does.
*Hurries to finish optimizing...
Edit:
<TI-CONNECT RANT>Stupid TI-CONNECT... not detecting any of the three USB cables I tried, and I can't download anything for some reason, so no TiLP either...
so I have to tell you about this bug manually...</TI-CONNECT RANT>
anyway, I had the AXEPack program working, but then when I edited one of the TI Pics i'm using, (conj(Pic2,L6,756)) and then comiled it again it wouldn't ork. Such as when I try to select obstacle snake, it would flash between the game select screen and the obstacle snake game screen. Help, anyone?
Thanks in advance! ;)
-
Sounds like it could possible be a bug in the snake game. It sounds like the snake game might be using the backbuffer and expects it clear before running the game, maybe try clearing the buffer AND the backbuffer first? ClrDraw:ClrDrawr
But its more likely you accidentally deleted some other code. Also, when you say flashing, do you mean grayscale-like flashing, or a back and forth type of flashing?
-
i've made a tunnel clone. except it's a tad bit different than your normal tunnel game -- you have two ships to control.
the arrow keys control the ship on the top of the screen
keys 1 and 4 control the ship on the bottom
also, it features two different ways of getkey(). basically, the old BASIC way and Axe Parser's way. let me know which one you prefer :)
credit to DJ Omnimaga for the ship sprite
credit to Raylin for the spike sprite
ZSIMUL = source
ASIMUL = no-stub executable
-
wow nice, and I love how you added grayscale!
Quite hard but challenging and fun!
I'm not sure which key detection I prefer, though. It's hard to tell because both makes the game different and are fun in their own ways. I think you should leave both in.
-
That's cool. I will have to try that out later. Good work :)
-
Double screens...wow, that's a nice game.
Two questions about Axe's getKey commands:
1. Is it possible to check simultaneous keypresses with the "old basic way" of getKey?
2. Where would you use getKey(0)? When is it useful?
If you haven't noticed in these questions already, I'm really new to Axe.
-
1. no, i don't think it is.
2. i'm not sure. i guess it could be useful in a whack-a-mole game, where the user is trying to cheat by holding down the keys. so you could have a section of your code be
repeat getkey(0)=0
end
that way they don't cheat.. but otherwise i haven't ran into a use for it.
-
1. Not at all (seeing how that getkey worked, it seemed rather irregular, like BASIC programs, for example, at high speed, it only seemed to check between 10 and 12 times a second, missing a few keypresses)
2. What Nemo said, but that only work right in menus, I think, because that command will stop the program execution until all keys are released.
-
1. Not at all (seeing how that getkey worked, it seemed rather irregular, like BASIC programs, for example, at high speed, it only seemed to check between 10 and 12 times a second, missing a few keypresses)
2. What Nemo said, but that only work right in menus, I think, because that command will stop the program execution until all keys are released.
Oh! Is getKey(0) the same as b_call getkey?
-
No! It uses direct-key input, checking all the key-groups, ANDing their contents together, than performing a small manipulation to make sure that it returns 0 when no keys are pressed.
the bcall you mentioned is like how key input works on the homescreen, with you being able to press 2nd and alpha w/o the routine returning.
-
Actually, that might be a good function for getKeyr
-
what do you mean calc84maniac?
-
The getkey routine they were talking about that lets you press 2nd and Alpha and such. Might be useful for text entry.
-
you mean the 2nd/ALPHA cursors? I remember I saw that before in a game. How would it be useful, though? Would it just let you do something else depending if the 2nd flag (if it's even a flag at all) is enabled or not?
-
Well, each key combo returns a different value. Like, 2nd+Math would return something different than Math. It would look exactly like it does when you press keys on the graph screen, that is, the 2nd/Alpha symbol is in the top right. Also, it pauses until a key is pressed.
-
aaah ok, and the keys have to be pressed one after the other, like the TI OS, right? Not both at once?
-
aaah ok, and the keys have to be pressed one after the other, like the TI OS, right? Not both at once?
Right, it's exactly like in the TI-OS. Imagine the Pause command, except without the weird run indicator and you aren't forced to press Enter. :P
-
ok I see thanks for the info
-
Maybe I should add a getkeyr for that bcall, but it uses a whole new set of keycodes. There are nearly 256 of them since the 2nd and Alpha versions are possible as well as other menu stuff I think. Eventually I will have to make a much wider range of number types, not just hex, binary, and ascii. I will need 2 type of keycodes, tokens, maybe some ram equates, or even miscellaneous bcalls, etc.
-
Sounds like it could possible be a bug in the snake game. It sounds like the snake game might be using the backbuffer and expects it clear before running the game, maybe try clearing the buffer AND the backbuffer first? ClrDraw:ClrDrawr
But its more likely you accidentally deleted some other code. Also, when you say flashing, do you mean grayscale-like flashing, or a back and forth type of flashing?
I didn't delete code, cause I re-pasted the source in. And it's back and forth type.
-
Great success?
-
Awesome Success :O What does the source to that monster look like?
(unless its your Axe project?)
-
Awesome Success :O What does the source to that monster look like?
(unless its your Axe project?)
It's my project ;D but it's hardly a monster, it's just a bit over 1K compiled. And that was just to see if I could get it to work, it's really unoptimized so I could probably get it down to under 1K.
-
Wow awesome! Do you think you can make it run faster (I mean by increasing the scrolling rate, not necesarrly the framerate) or even add camera movement? Still, it looks pretty great!
-
Looks pretty monstrous to mee ;D Now i am thinking about how i would accomplish this myself :D
-
Super dooper cool, man. If you can optimize it, it leaves a lot of room for games. I know that a common showcase effect is a tunnel effect, it's probably been optimized quite a bit, and we may be able to find a fast one with some google time.
-
We need to find Peter Bucher and ask him how he did it so well. (He made Wolfenstein83)
-
Well, ray-casting is one thing, that's been done and is already done in assembly. A tunnel effect is faster and simpler, though.
-
I wonder if Axe Parser can produce good enough code that can sustain a raycasting engine? It would be nice if it did, then Quigibo wouldn't need to implement it in Axe (unless if he did it produced even faster code) :P
-
I knew someone was going to say that...
Give it a try sometime, maybe I will, we'll see how it works out ;D
-
I don't do 3D stuff, sadly. I wouldn't mind trying pseudo 3D stuff, but I haven't done trig since 8 years ago and I got 22% score in the test, which tells how good I understood that stuff.
I will probably stick to 2D and old-skool pseudo-3D stuff myself, unless someone makes an engine for me then I do the maps and rest of coding
-
Fair enough. Maybe I'll try and finish my perspective 3D stuff, assuming I figure out how the hell to do it without floating point numbers. Or, just take the slowdown and use the FP method I describe in The Complete Guide to Effective Axe.
-
are FP really that necessary, though? Couldn't you just use larger numbers and store a division of it in a second variable? Or is it the method you are talking about?
-
If only I could find a quicker drawing method... the calculations take up only about 25% of the processing, drawing takes up the rest
-
I will probably add horizontal and vertical line routine eventually since the current line method is pretty slow for that. That's why I made the 3dracer demo only draw pixel by pixel instead of using line().
-
I draw pixel by pixel too, because it's faster than line, but it's still pretty slow. :-\ My project currently advances the tunnel quite slowly and runs at only 6.6 frames per second. (As Quigibo figured out, my game relies on moving graphics by at most one pixel every frame, so I can't simply move the objects faster to adjust for the low framerate)
-
I will probably add horizontal and vertical line routine eventually since the current line method is pretty slow for that. That's why I made the 3dracer demo only draw pixel by pixel instead of using line().
really? Wow if horiz/vertical lines are really much faster and they let you draw where you want on the screen it will be amazing. When you release a new version that has such method implemented, you should try to make a grayscale version of your racing engine :D
-
Yeah, the fastest I can push my program and still have it look decent is about 0.7 gridlines per second. Ideally I'd want at least 3 times that. :-\ I wish I had a 15MHz calculator or ROM to test it on, it might at least be passable running at 15MHz. Otherwise I guess I'll have to scrap this and work on a non-3D project.
-
btw do you draw the entire "squares" on the screen every frame, or just erase the end and add a line at the beginning of them? If it's the former, you could simply increase the rate at which it moves. It would look faster, even if the framerate isn't too high.
-
btw do you draw the entire "squares" on the screen every frame, or just erase the end and add a line at the beginning of them? If it's the former, you could simply increase the rate at which it moves. It would look faster, even if the framerate isn't too high.
Latter. As it is, with drawing only a single line for each square on each side (16 lines in total), I only get about 6 frames per second at best. Drawing every object over again every frame would undoubtedly be even more unplayable, I'd be lucky to get 2 frames per second.
-
Aaaah ok x.x
Hopefully Quigibo will eventually add faster ways to do that stuff
-
Nice job Runner! ;D It looks pretty cool. :D
-
I made a shell kind of program. Fairly simple navigation, arrow keys to select programs on a page, +- to change pages. The three icons above the program name are type (appvar/program), protected (only for programs), and memory location. (RAM/Archive) These can be toggled with the buttons Y= (type), Window (protected), and Zoom (location). Although, note, for some reason completely indiscernible to me, you cant do it with programs/appvars with less than 5 character names. Also, that number off to the side is the free RAM. I plan on adding a couple more things, but this is mostly proof of concept, so... :P
-
Mhmm nice and the appvar to program conversion seems interesting. :) Maybe now we can hack highscores :P
You might want to make selection a bit slower, though, because the cursor moves really fast so it can be hard to select anything D:
-
I've just been messing around, but this time it actually yielded something. :o
One is a pixel that bounces around a defined border, creating some interesting effects and patterns.
The other program lets you experiment with sound
up\down: change pitch
left\right: change length
trace\graph: change interval
-
It would be cool to see the speed a ray caster fits in Axe Parser.
Axe Parser is perfect for simpler games but I guess it is always good to experiment to the extremes. ;D
-
Darl, It won't let me run that on the emulator. It appears the group is corrupted and gives a "version" error. The program seems to no show up on the list either. Is this an Axe-Asm hybrid by the way?
Galandros, if you know of any good open-source raycasters for z80, I can start working on those commands. Even closed source I can attempt to disassemble. ;)
-
Galandros, if you know of any good open-source raycasters for z80, I can start working on those commands. Even closed source I can attempt to disassemble. ;)
Let me think. There is this list: http://wikiti.brandonw.net/index.php?title=3D_engines
It says what engines have source code.
Quarnos had some impressive results on graphics (slow). See them here: http://www.junemann.nl/maxcoderz/viewforum.php?f=32
Juha seems promising by screens but I don't know how "finished" it is. http://tift.tuxfamily.org/projects/juha3d
I know of others that are closed source. tr1pe1a (or other?) had an interesting one that wasn't a ray caster, I believe, but drawn interesting 3d objects with connected lines. It's in MC forums.
-
Neither of those are raycasters I think. They are just doing wireframe rendering. Only the 3d maze one was. I think calc84maniac made one, I've only seen screenshots so I don't know if he ever released it.
-
Neither of those are raycasters I think. They are just doing wireframe rendering. Only the 3d maze one was. I think calc84maniac made one, I've only seen screenshots so I don't know if he ever released it.
Yep, only the 3d maze. James Montelongo or someone else did a grayscale maze. :o
That I know of he only showed screenshots. I also saw the (very very) slow TI-BASIC version of it in OTBP.
-
tr1p1ea had one too, but I think he wanted to optimize it because it was a bit slow. It was also another wireframe rendering engine, not a raycaster.
raycasting would be a nice addition. I wonder if it could be made rather easy to use, for example, fetch textures from a tilemap and use them for walls and have the user just enter the X, Y and Z axis and X/Y resolution
As for the programs above, when I try running the sound program, it says ERR:INVALID and the other program won't send either. It's compiled, it seems.
http://sc.cemetech.net/?xpi=f7724d285903f739eb853a184108562e
EDIT: it looks like SC bot won't like it either x.x
-
Yes, it was a wire framed. Thanks. I wrote was not ray caster but did not remember that is named wire framed.
Remembered that there is Gemini (http://www.ticalc.org/archives/files/fileinfo/247/24742.html) with source. True ray caster (source of ticalc news and from what I saw on calculator) But it is not full screen.
And zDoom (http://www.ticalc.org/archives/files/fileinfo/360/36062.html) closed source. (also played and is ray casting from appearance)
This 2 and the grayscale maze fascinated me about 3D because I saw primordials of it. Before that it was natural to see on PC. I also checked old CDs and saw some old PC games like Alone in the Dark with hexagon like dogs. ;D
-
Not to go too off-topic, but anybody know where I can find Calc84maniac BASIC raycaster? I have checked OTBP and UTI but couldn't find it :(
-
Here: http://otbp.tifreakware.net/phpBB2/viewtopic.php?t=102 (http://otbp.tifreakware.net/phpBB2/viewtopic.php?t=102)
If you're looking for source, well, I'll keep looking.
-
Oh, I meant a download link. I am sure he had one somewhere. I can't find any in that thread
-
Not to go too off-topic, but anybody know where I can find Calc84maniac BASIC raycaster? I have checked OTBP and UTI but couldn't find it :(
The asm version is in http://otbp.tifreakware.net/phpBB2/viewtopic.php?t=251
and the ti basic one: http://otbp.tifreakware.net/phpBB2/viewtopic.php?t=102
Enjoy.
EDIT: more screenies of assembly version in the new link
-
a download link.
and I mean the BASIC version
-
a download link.
and I mean the BASIC version
Sorry, I think it is not available. I haven't seen it either. But I am also curious.
EDIT: I also started to reply before you posted the "download link" and was ninja'ed by calcdude84se . ;)
-
I'm sure if he still has it on his computer he would be willing to share it here on Omni. I could be wrong though too. Just gotta ask him ;D
or force him to give it to us so we can take of the world, one calculator at a time...*cough*
-
I could embed a rickroll on his forum account until he does :P
-
Ya, that "won't" piss him off at all :P
-
I'm pretty sure I lost it...
-
Well that sucks. Do you remember how big it was?
-
Nope, this was a long time ago. I mean, OTBP was still a bit active, lol.
-
Aw sorry to hear :(
-
Ah ok, well I'm sorry it has gone missing or become non-existent.
-
Good news!
A former TI programmer going under the name Pseudoprogrammer on Cemetech have sent me a copy of the BASIC raycaster via e-mail after talking to me on AIM and he saw this thread. I am uploading it, now. You need to create a matrix in [A], 10x10, though, else it won't run. Sadly I do not know the format much, though :S
-
Perhaps it would look nicer with collision detection. And not letting you walk off the edge of maps into random sections of RAM.
-
Wow that is nice. The tiles are converted pretty well to 8x8 too. I am curious how it would run with collision detection and stuff. Also, do you think if you made the grayscale refresh more often while scrolling it would improve the grayscale quality while scrolling? I rememember tr1p1ea had issues tweaking grayscale in his Super Mario RPG project back in the days, because it looked weird when scrolling. I guess it could be hard, though, considering the crappy 83+ series LCD. Nice job so far
-
I was thinking about doing something like that, but as it is it runs fairly slowly, so it would slow it down even more.
-
aaah ok, sorry to hear :(
Does it looks better on real hardware, by the way? When you set WabbitEmu to not blur too much, it usually looks crappier than on the real calculator
-
Eh not really, it doesn't look spectacular while scrolling on either. It looks great while standing still though. ;D
-
aaah ok ^^
I guess this is something to live with, I guess D:
Now if only TI used LCD drivers like on the TI-85, 86 and 89...
-
Wow! That's amazing! I'm surprised you were able to get the 8x8 sprites so close to the original! It reminds me of that thread with the 8x8 Zelda sprites. I wouldn't be that surprised is someone was working on that too ;)
Is that on 0.3.x by the way? Because the grayscale is faster and looks nicer on in the newer versions for sure. Or is it just your screenshot settings that make the wavy lines?
-
I don't think someone was making a Zelda game but the sprites would fit super well for sure. It would be nice to either see a 8x8 Zelda LA style game (even if not a clone) or like the NES Zelda. The NES one would be fairly easy in 8x8 grayscale I think
-
About the sound program..
I kept on trying to get it to send to wabbitemu and it was going like 'link timed out. link timed out. link timed out.' Tilem, I guess doesn't support sound, so it just froze. And whatever I try on VTI, the emulator dies and closes.
I guess it only works on the real calculator?
I'll attach the source for the two of them...have to install TiLP.
Got them. Hopefully somebody can figure it out.
BTW if it makes any difference i originally compiled it with 0.2.6
using 84+ with os 2.46
Irrelevant, but is there any way to work a 16x16 sprite with axe??
-
You should probably put the source online. Maybe file corruption occured while sending it to the comp. That happens with TI connect sometimes.
-
2.46? This OS does not exist, my friend.
-
oops, 2.43
I was still thinking 0.2.6 when I typed that
Ahh! 2 minutes left!
-
Yes it does, it's one of the Nspire 84+ emu OSes.
Edit: He has a real 84+(SE), and he mistyped it. Okay.
-
Really?
Well, this OS does not exist in a useful state, and only exists in the Nspire emu, where nothing is emulated properly.
-
Mhmm, still no luck sending the files to WabbitEmu.
Darl I think the software you use to send your files to the computer is having issue, or your calc needs a RAM clear (archive everything first)
EDIT: Nvm, if you guys got a Cemetech account you can simply open the code with SourceCoder than save a new 8xp file. If you have no account then you need to copy the code from SourceCoder by hand on your calc.
EDIT: Nice programs btw Darl181 :)
-
Where exactly is this SourceCoder?
Or were you talking to someone named nvm?
I've tried clearing the RAM about 20 times, some of them happening because of Mirage, Krolypto, or some other program. I could try TI connect but in the past it hasn't been too cooperative with me.
@DJ Did you try sending it to a physical calculator, or just wabbitemu?
-
sc.cemetech.net (http://sc.cemetech.net) SourceCoder allows you to write TI-Basic programs on a computer (only online as of now) and export them as 8xp files for sending to calc. It also allows the importing of 8xp programs for editing. With a Cemetech account, you can also store programs and manage them.
-
Where exactly is this SourceCoder?
Or were you talking to someone named nvm?
I've tried clearing the RAM about 20 times, some of them happening because of Mirage, Krolypto, or some other program. I could try TI connect but in the past it hasn't been too cooperative with me.
@DJ Did you try sending it to a physical calculator, or just wabbitemu?
Wabbitemu. However, SourceCoder fixed my issue. Just open the file in it, save without editing any code then your file is fixed. You need to register to be able to actually edit/save, though.
I added the SourceCoder link to the MISC section of Omnimaga, btw (see navbar for the MISC button): http://www.omnimaga.org/index.php?action=ezportal;sa=page;p=7
-
I guess I'll do that right now.
In case the bluescreen program (from the wave simulator forum) is also awry, it's in the file as well.
EDIT: wow, something's really screwed up. I'll just resend them.
more edit:
Stupid wabbitemu, makes me want to swear.
It's still giving me this 'link timed out' junk.
even more edit:
I've tried about 5-6 times since last edit.
The computer's never did this before. Now, when I try to send any file, the emulator spits out one error or another 'link timed out.' , 'this 200 byte program fills up the empty archive of this emulated 83+SE' , 'invalid file' etc. Tilem plays it, but won't send. TiLP is recieving them as normal, yet out of the 10 or so times that I tried it it never worked. TI connect won't connect. Nothing is working the way it should!!!
*heaving*
...stupid library...
And by the way, ALL of the programs I'm trying to fix here work on the physical calculator just fine. No problems.
Has anybody successfully sent it to a physical, need-pc/calc cable, made-of-plastic calculator?
NOT an emulator?
BTW I won't be able to get back until, at the earliest, Monday. Just in case somebody figures it out...
-
Somehow I think it may be the library computer fault. Maybe they use a modified version of Windows or something that screw up with almost every program.
As for calc I didn't try because my calcs are full atm :S
-
I'm not sure if they changed something or not...but at least TiLP works!
I might try it at home, running the risk of the suspicion and all that...the whole process would be about a 15 minute or so ordeal.
*brainstorms*
How about this.
I'll just type the source into a .txt file and I could try writing the programs in wabbitemu on-PC. Virtual VARS...zipped archive...here...I think I'll do that.
-
That could maybe work. The only issue I can see is the formatting might confuse people when you use for example DispGraphr. (The small r)
-
here
there isn't any superscript r or anything like that, I used come unicode characters though
alt+233 Θ
alt+26 →
alt+16 ►
one minute left, can't explain now.
now I can explain, with sufficient time.
You press and hold either ALT key and press a few of the numbers on the far right of the keyboard.
Then release alt.
a common one is alt+1=☺
-
cool I guess that could work. (of course, unless you ever made a program that is like 8000 bytes large including data, then it would take friggin long to type, unless someone ran a find/replace through it :P)
-
In my old middle school, patience was one of the 12 lifeskills ;D
Also, I made another program based on the For( loop demonstration thing in the documentation (page 12).
In fact, the final result from my boredom kind of looks like an ameboid or something...
I'll try to post it.
*crosses fingers that it will work this time*
-
what is an ameboid?
-
Think a glittering ball of slime that moves on its own
There's a pic in the zipped folder
Wow, this is off topic.
I'll try to get the program.
looking for tilp on my flash drive...
aah! i forgot to uninstall krolypto and now it's frozen!
good thing I have a screwdriver handy.
ok, fixed
Let's all hope that it actually works this time
This is the source.
Attributes, according to tilp:
Signature: **TI83F*
Comment: Single file dated Wed Jun 30 12:22:17 20
# of entries: 1
Entry #0
name: ZSRCBLOB
type: 05 (PRGM)
attr: archived
length: 0524 (1316)
Checksum: EB0D (60173)
edit...
I'm looking up the page and noticing that there's only two names. Is anybody else there?
-
My friend had made a program to simulate <a href="http://en.wikipedia.org/wiki/Langton's_ant">Langton's Ant</a> in BASIC a while back.
To test my Axe skills (back when I first was learning Axe), I decided to port it to Axe. I think it came out fairly well. It's not very optimized though.
Please check it out. ;D
Included in the zip:
AANT - Source for ANT
AANT2 - Source for ANT2 (It draws 2 ants!)
ANT
ANT2
-
WOW it looks kinda interesting. I'll try it out later. I assume it could be used to draw some funky pics ;D
-
Yeah. It gets kinda funny if you leave the Axes On, or have a bunch of long straight lines. It'll draw the same pattern every time if you leave the screen blank, though.
-
I'll give that a try now ^^
EDIT: Nice ^^
It kinda reminds me a bit of Game Of Life but stuff moves around
-
What if, instead of two different programs, there was a feature to select the number of ants?
-
That's really neat! Awesome job! ;D
-
What if, instead of two different programs, there was a feature to select the number of ants?
Dang, you beat me to announcing the idea. But I beat you to implementing it. ;D
EDIT: I forgot to mention, don't use more than 237 ants. Bad things might* happen.
EDIT 2: 1 free Internet to the first one to spot the easter egg. (Don't look at the source to find it, cheaters!)
Hint: Watch the GIF
*will
-
nice job runer! it looks really cool at first with many ants, but then kinda digresses into looking like RAM
-
Did it say "LOL" at one point?
-
Did it say "LOL" at one point?
Maybe
-
i believe it said that between 68 and 70 ;)
-
i believe it said that between 68 and 70 ;)
;D
-
I'm now thinking, while people are porting stuff, of finding a good-yet-slow BASIC game on ticalc or something and speeding it up with Axe.
*It might be an animation too...I don't know yet
-
I really need to get around to porting my perspective 3D stuff...
-
yes, somewhere around 70?
EDIT: sorry, reacted on wrong post
-
i believe it said that between 68 and 70 ;)
lol ;D
Nice job Runer! ;D
-
yeah! I found it ;). it was on 69 to be precize :D
-
Random character generator, maybe?
I was going to make it binary at first, then decided it would be more interesting to have more characters.
-
incompatible type, says TIConnect :(
-
WabbitEmu says Link Error. :(
-
Try renaming to .8xp instead of .8Xp.
-
still the same error :(
-
I'm now thinking, while people are porting stuff, of finding a good-yet-slow BASIC game on ticalc or something and speeding it up with Axe.
*It might be an animation too...I don't know yet
Try something like SimCity? That'd be a really good game to speed up.
What if, instead of two different programs, there was a feature to select the number of ants?
Dang, you beat me to announcing the idea. But I beat you to implementing it. ;D
EDIT: I forgot to mention, don't use more than 237 ants. Bad things might* happen.
EDIT 2: 1 free Internet to the first one to spot the easter egg. (Don't look at the source to find it, cheaters!)
Hint: Watch the GIF
*will
Nice program! That is really fast. Shows how fast Axe can be :)
still the same error :(
Same here :(
-
Wow Runner112 nice :D
incompatible type, says TIConnect :(
WabbitEmu says Link Error. :(
SourceCoder
-
AHHHH!!!
Why does this happen on every single program that I post!?
Use TiLP. It's the one thing that works for me...that and tilem. Seems to me that if it's third party, it's engineered to work instead of block people from doing things.
If that still doesn't help, I could try first posting it on a different web site (ticalc.org, perhaps) and posting a link here.
If all fails, I could just type the source for every program that I write and post .txt files.
I really hope that whatever the problem is, it isn't that bad...
Is there a thread on omnimaga like 'Posting Programs on Omnimaga for dummies' or something like that? Step-by-step instructions hopefully? Another format?
Something???
-
attachments? when you reply to a post, below the textbox that you enter the post there's something that says "Attach:" and to the right has a little button saying "Choose File" where you can click, and then search for a file on your computer. presumably, it's a .8xp (calculator program file) and then you click ok, and it'll attach the file to your post so others can download it.
-
I think he is reffering to how his previous program gave an incompatible type to everyone, as he attached it before.
What do you use normally, ti-connect? When you want to post something next time, don't change the extension, first test it on wabbitemu or the like to make sure it works, and/or type it out fully (although there is source coder you can use). What extension does it give as a default when you send it to the computer? umm, that's all I can think of...oh linux, windows, or mac?
-
Okay, I'll outline the process.
pre-edit:
I'm using, quoted from command prompt:
Microsoft Windows XP [Version 5.1.2600]
[insert copyright junk] Microsoft Corp.
1) Installed TiLP 1.13.
2) Hooked up 84+, OS 2.43.
3) Launched TiLP
4) Right-clicked left part, selected Change Device (Ctrl+D).
5) Selected DirectLink cable, Port #1, TI84+. Clicked OK.
6) Clicked the Dirlist button on top, list of all programs on calc appeared.
7) On right pane, selected Change drive, L: (flash drive), navigated through (sic) organized folders to desired folder.
8) Opened Windows Explorer (not Internet, but folder), navigated to same folder as in right pane of TiLP window.
9) Went back to TiLP, click/dragged desired program (ie. ZSRCDMND and ΘSOUND) to right pane.
10) Logged on here, selected reply on bottom
11) Typed something
12) Selected Browse... to the right of the Attach: box
13) Clicked, say, ZSRCDMND
14) Clicked Open
15) Read attachment box. Validated right file.
16) Clicked Post.
Note: I already attached this file, as the error message told me, so I re-tried and it told me I already posted. So I went back and checked, and it wasn't there. Tried posting it again, same message. Another joyful moment at the library.
That's it. Any problems with the process?
-
:/ so let me get this straight, you wen tto a library, installed tilp, and used that to send the program to a flash drive, then right after attached the program?
I assume the library has windows computers.
That should all be correct. (although I have a feeling installing stuff on library computers is against their TOS). Mind posting the program again, and maybe another random one (doesn't have to have anything important in it) as well (as in resend both and try posting again)
-
Probably get another error message, but I'll post something from the weekend. Hold on...
Okay. It worked in Tilem. Use tilem, somebody try it with that.
ZSRCTLE2.8Xp source
ΘTILES2.8Xp compiled executable
oops, random characters mean theta Θ (alt+233)
How about this, I'll attach some that don't use theta
COMPBOLT is compiled
Tested and works in Tilem .975
I repeat, somebody try it with TILEM
Library session times out in 17 minutes.
I may not be able to reply until tomorrow, about 11 pacific time
-
Every one of those failed Wabbitemu, except for COMPBOLT.8Xp
Going to try sending to the calc in a minute
Edit: Same thing with sending to calc, COMPBOLT.8Xp worked, the others did not :/
-
I think BuckeyeDude should examine those file formats, because it might be good that his emu supports this format.
-
I always had problems with programs with goofy characters like theta in TI-Connect. I would get rid of them and use a character like 'a' in place of them.
-
Yeah, I spent about an hour fighting with the TIOS's group thingy. It's the only way I know how to safely rename stuff on-calc.
Psst! I don't use ti-connect!
TI-connect or not, the thetas are gone. I have a different organizational system in place now.
Thetas or not, the programs worked in tilem.
All of them.
@DJ is BuckeyeDude one of the people who wrote wabbitemu or something?
Just in case it does make a difference somehow, I've attached some newer programs--in a zip folder
Tested, works
Hey!!
I just got a random idea, and it WORKS!!!
All you wabbitemu addicts, rejoice!
Well, that was kind of overkill, but whatever.
Apparently TiLP doesn't like receiving things from the archive.
Or is it wabbitemu not liking the Archive file setting?
I changed the files in 'beamsgalore' to the RAM and tried re-sending.
YAY
Working ones are posted.
-
What do you use as linking software right now?
And yeah BuckeyeDude is part of the Wabbitemu dev team. You may need to PM him for support with your program files since he doesn't seem to notice that thread.
Btw, for this last zip file, BEAM1.8xp and BEAM2.8xp sends to WabbitEmu fine. The source files won't, though. Btw, here is a screenshot of the beam stuff. It looks quite nice and could be used very well for some animations :D
Sadly I don't have TilEm so I can't test the rest in it now, though. Anyway, screenshot of BEAM1 and 2 below!
EDIT: oooh I see now! Seems like it would be a nice bug to report to the TiLP team. Something similar happened when sending files to PindurTI back in the days
It sucks to have to use TilEm otherwise, because while at the time of its release it was the best emu around, now it's not even close to match WabbitEmu and even PindurTI, performance/accuracy-wise. Most people advise against using Flash Debugger, TilEm and Virtual TI.
-
That looks nice! Excellent job! ;D
-
Yeah, I got bored.
I was kind of busy/amusing myself last weekend making random animations involving quadrilaterals and lines and stuff.
I'll try to find some of my older ones that didn't work, put them in a zip file and post it.
PS. I don't really like saying the same thing multiple times, but if anybody else has something they want to post, don't let this whole wabbitemu-vs.-archive-file-setting thing stop you.
Let's get back on topic.
-
Could you repost new copies of the other programs you posted, fixed for Wabbitemu the same way as you did for the beam ones?
I would like to see them in action but I don't feel like installing TilEm on this computer, not to mention I am not even sure if it's Windows 7 64 bit compatible
-
I was just about to do that.
in tiles2 they didn't have the dots on the sprites. RAM clear will fix.
All are source files,with an explanation txt file.
-
wow that looks GREAT! Nice job :D
-
Ooh, nice graphics! The first one looks like it should be in a game (and a hard one, apparently).
Yeah, I spent about an hour fighting with the TIOS's group thingy. It's the only way I know how to safely rename stuff on-calc.
Wait, what? What about using 2ND+[RCL]?
-
The one where the rectangles invert can be used for cryptography. I used to do that using a random seed, and xlib in basic programming.
-
Ooh, nice graphics! The first one looks like it should be in a game (and a hard one, apparently).
Yeah, I spent about an hour fighting with the TIOS's group thingy. It's the only way I know how to safely rename stuff on-calc.
Wait, what? What about using 2ND+[RCL]?
that can work, except for very large programs and files.
Alternatively, another way is to group the files to rename then ungroup, when it says duplicate, you just select rename. If you want to do this with a locked file, though, like the compiled version of an Axe program you lost the source of, you can rename it in a shell that lets you do so or you can use the MirageOS 1.0/1.1 ungroup glitch trick (http://ourl.ca/4300).
The one where the rectangles invert can be used for cryptography. I used to do that using a random seed, and xlib in basic programming.
Yeah. I used something involving inverting with CODEX program for ROL3 final battle pic (*cough*hint*cough* :P). If you ever wondered why one of the pic that comes with ROL3 is so messy, that's why.
-
Wow, nice! I really like the second and third ones! ;D Especially the second! Nice job. ^-^
-
Thanks
@ deepthought or whoever knows how it works:
This is the first time I heard of the 2nd+rcl thing. How does it work?
Yesterday, I was in a mood to write something interactive instead of another animation.
So I came up with this trampoline thingy, which didn't work out too well.
And while I was figuring out more tricks and stuff, I figured I might as well move the theme of the program forward a bit.
Time-wise.
The final product was this jetpack-like simulator with an autopilot feature and a primitive HUD.
In case it makes a difference, it was compiled with version 0.3.2
Controls:
2nd= fire, boost, whatever you want to call it
left/right= go left/right
alpha/trace/graph= switch autopilot on/off
down= speed up a fall
clear= exit
It's not optimized at all, just the first build.
I'm thinking of making menus; settings for autopilot, controls, display, character sprite, etc
EDIT: added screenshot
It's faster on the actual calculator.
-
When you are in the PRGM editor, if you press 2nd then STO>, you can recall stuff. It will show Rcl at bottom of screen. Then you press PRGM and select a program from the list, press enter, then press enter again.
Btw nice program. I wonder how you manage to have the char stop bouncing at one point? This is something I never got able to achieve with my ball game (the reason why the ball bounces non-stop). I'll need to study your source code at one point
-
Trial and error and a lot of patience.
when you look at the source, T is the Y-speed.
I have T always go one closer to zero and add one to Y until Y is 48.
That way, it bounces slower and the height decreases.
BTW the first number on the HUD is the Y-speed, the second the negative of the height.
and about the character going up infinitely, I'm planning on changing that (where it comes out the bottom)
And about the 2nd recall thing, how does that rename the program?
-
It doesnt rename the program. It allows you to copy the content of a program in a different program name, then you delete the original copy. It's some sort of alternative way to rename your stuff, altough it requires a lot of RAM. Most people do this
-
Here, Darl, this may be of interest to you: http://ourl.ca/4293
Nice animation! :D
-
So it's like
Rcl prgmBLAH→prgmBIGBLAH
?
Or do you do it part by part?
-
Part by part, here, let me whip up a gif. :)
Edit: Here's an example of copying prgmNUMB3RS into prgmA. ;D
-
I try doing that and the program just dissapears.
Wait, never mind. I'm so used to doing everything from the archive (calcutil) and it took me a second to realize it probably didn't do everything.
altough it requires a lot of RAM.
Now I know. Thanks!
Hey, I just found on my calculator a source for one of my more recent things.
Somehow, it ended up as prgmA.
Now, I was able to easily rename it.
Whoa, in BLOB try selecting wave-making, #? 9
-
Wow nice effect :D
-
In WabbitEmu, it just flickers :( Grayscale never really worked that well.
-
I've updated the Jetpack Simulation program.
Differences:
The character sprite is changed mildly (no more "Look Mom! No hands!")
HUD greatly improved
Now, it says Autopilot On/Autopilot Off
When autopilot is working, its corner inverts
Life-like measurements and...
(slightly inaccurate) Metric system support! Press MODE to switch
'Super Boost' key, try to find it
The arrow that appears on top goes up and down
Can't go up infinitely
The ground is at 0 instead of -48
If you go too fast, the Y-Velocity Inverts as a warning
Autopilot will not fire if person is on the ground, only in the air
Source has spaces for less confusion
Some display/autopilot fixes
I have a pretty good idea of how to make this into a game engine. I just need to figure out how to implement tilemaps and TIOS pics and such.
Probably more versions to come
-
I think BuckeyeDude should examine those file formats, because it might be good that his emu supports this format.
And I did so. It appears that the flag and version fields were switched in the header. Basically if you take the file from the archive of your calc, one byte (the 69th one) is $80. The very next byte is the version. Your files had these bytes switched, so basically if you removed them from your calc archived, the calc wouldn't accept them because they believed that they were from a way newer version of the OS. Thus if they were taken from ram, (which just has the byte as 0) they work fine. I'll let lionel know, so he can check it.
Also dj thanks, but its definitely not my emu, i'm really only a maintainer. :P I dont want to steal jim and spencers credit
-
Aaah ok ^^
And Darl, nice ^^
-
darl, what kind of game would you might be implementing it into?
-
@Darl: I know there isn't much to the demo yet but I'll be the first to say that it looks really cool! I'd be interested in seeing what it could be further developed into. ^^
-
Thanks!
I've tried to add a pause menu, but it's very glitchy and afterwards caused the screen to flash and do all this weird stuff.
As for the kind of game, I was thinking of making a sort of papijump clone in which the platforms disappear or something.
In the meantime, and in response to a few "how does this work" questions (mostly from school), I wrote this commented and working source that's only the actual movement engine. I was thinking parts of it might be useful for an axe pinball game???
Come to think of it, I'll put up JETSRC3 anyway. MATH is the problematic menu. 'Options' doesn't do anything. 'Quit' is what you should avoid.
CLEAR is still the quit key, or the "emergency exit" key if you tried the Pause→Quit action.
[^]now inverts the screen and does a wave effect from the "Wave Simulator-Sort of" thread
If you leave the program running without pressing any keys for about a minute, it will ask "You Still There?" and count down from 10, quitting on 0.
Also in V3 are minor bug and sprite fixes as usual
Edit..
I know a papijump thing wouldn't really need TI-OS picvars, but I'm still curious.
How can I do it?
[irrelevant]does anybody know where the sub( or th enew ref( rref( tokens are? or are they only in the Catalog?
[/irrelevant]
-
I'll probably give those a try later
As for Papijump, Ztrumpet made one in Axe 0.0.5, back in Feb or March, he migth be able to help you. Someone else made one too, but I forgot who.
-
sub( is in the catalog, and is best accessed by going up from 'T'
ref( and rref( are in the matrix menu under math.
-
Thanks.
And I just remembered why I never used wabbitemu, apart from the archive thing.
Is there a working 84+ skin where they're the same size anywhere?
as for the other person who wrote papijump, I remember, before I registered, it was like guy followed by a load of numbers.
The main problem is probably going to be the pxl-test when the jetpack-wearing person is falling 5 pixels a frame. I'm trying to make it as reaistic as possible...
EDIT:
Oops, had an old version. 1.5 works. yay!
-
yeah pixel test is hard when you don't fall at one pixel rate. I got lot of troubles in my ball game x.x
Also I tried your two programs and nice physics, but I had troubles exiting the new jet thing, also the menu cursor moved in opposite direction :(
-
Yeah, I can't figure out the habits of the 'return' token. In the beginning of the program I have "If getkey(15):Goto E:End" with Lbl E as the ending label.
*Takes out calc and opens JETSRC3*
The pause menu is a subroutine (PM) in which a variable is manipulated. If the variable {L1+4} (ran out of letters) equals 1 or 2, is has a return token to go back to the main loop.
If it equals 3 (Quit), it should go to Lbl E.
If {L1+4}=3
Goto E
End
Lbl E
ClrDraw
Clrhome
Fix2
Fix4
Should, but seems not to.
Trying to fix some 'Idiot errors'.
RAM just cleared. That was really odd...
If you get problems getting out of jet3, [CLEAR] is still a fast, bug-free, no-menu-used exit.
I would suggest just staying clear of the menu for now until I get it fixed.
I'll have to re-write the whole menu thing.
-
Oh I did use Clear and it still happened ???
-
Try letting it sit until The number on the top-left counts up to 600.
If you don't want to wait that long, then..
In the source, scroll to the line before the
. About 1 min.
And after
.AUTO PROGRAM
END (APD-LIKE)
You could change the number where it says If R=600 to a lower number so you don't have to wait as long.
If all else fails, Mirage has that nifty ON+CLEAR shortcut.
Hmm, seems like I took out the If getKey thing from the source.
This'll be tricky...
-
Darl181, "return" is the statement that does two things. it a) exits the subroutine it's currently in or b) if not in a subroutine, exits the program.
so if you have an If statement that jumps to a subroutine at the end of the program and expect the program to end, it won't, because they program is in a subroutine. so after the If statement becomes true, the program will jump to the subroutine (lbl E in this case) and then notice it's at the end of the program, so it'll assume "Return" has been placed there. from there, it will exit the subroutine, not the program. just the subroutine. so if you want to exit the program on an If statement, try this.
ReturnIf (EXP)
so if you wanted to exit the program when a user presses clear you could use
ReturnIf getKey(15)
-
Ok thanks
And I didn't knew the Mirage shortcuts worked in Axe programs. Most ASM programs made after 2001 blocks those.
-
About Mirage interrupts relating to axe...
I think that's what FnOn and FnOff do.
return-if?? cool
I should read the commands list more often.
So if It's is a subroutine, and you say Goto E, Lbl E still runs as a subroutine?
-
No, it'll just goto it, and you won't be able to return to where you were (either going to somewhere else in the program if you had nested subroutines, or exiting from the program)
You'll still have to use sub( to call subroutines. (An exception to this, which you may or may not be able to take advantage of, is that "sub(E:Return" (If it's just a plain return) can be replaced with "Goto E" and everything will be fine)
-
the commands list is your friend. print it out. keep it. read it. love it. cherish it. have it. always.
yes, you can nest as many subroutines as you want, practically. i think there's a limit but it's impractical to need to call that many subroutines. for example, this piece of code is entirely allowed:
0->X
Disp Sub(C)>Dec
Lbl M .Multiply
X*2->X
Return
Lbl A .Add
X+1->X
Return
Lbl S .Subtract
X-1->X
Return
Lbl MA .Multiply then Add
Sub(M)
Sub(A)
Return
Lbl C .Compute X*2, then X+2, then X*2, then X-3.
Sub(MA)
Sub(A)
Sub(M)
Sub(S)
Sub(S)
Sub(S)
Return .This return is unnecessary, because it's the end of the program.
Edit: i feel like optimizing.
Disp 1->X>Dec
-
I did print it out. I have one of those Avery [not-so-]Durable Reference binders with a notebook, documentation, and commands list.
The binder is MY friend.
Does ReturnIf take care of Fix tokens?
In the commands list, it says 'exit in this mode if changed.'
How can, say, Fix 2 and Fix 4 be done on exit?
-
No, ReturnIf does not take care of Fix tokens. you may want to post that in feature wishlists though, because that sounds like a good idea.
rather than
ReturnIf getKey(15)
you could always do the following:
If getKey(15)
Fix 2
Fix 4
Return
End
-
Either hope the OS can deal w/it (bad idea), have something like
sub(M
Fix 0
Fix 2
Fix 4
Fix 6
.There may be more, but you get the point
Return
Lbl M
at the very beginning of your program, where Lbl M is the start of the code, or have the program Goto a Lbl that does the cleanup then returns for it. The second option is probably the best, since you can just add that one piece of code and not have to worry about modifying any other part of your code.
-
That's what I've been doing.
the If getkey(15) thing.
For clarification:
So, would ReturnIf end the program if it's put into, say, a subroutine made into a pause menu?
Or would it still act like a subroutine and go back to whatever it was doing before?
-
If ReturnIf is in a subroutine, it will just exit the subroutine. do you need to have the pause menu in a subroutine? if the subroutine isn't being called more than once, you could just have the subroutine's code in the main program. otherwise, using calcdude4se's method is probably best.
-
If you used sub(, yes, it'd act like a normal subroutine.
Edit: ninja'd again! :P
-
What does the Ninja'd thing mean?
Okay, something on topic. I'll try to save the thread.
I went to experinent with the left-right movement system in jetpack and combined it with papijump-like scrolling.
Idea.
If it's too hard, chande the values at the beginning of the source.
dplt=depletion rate.
gain=how much each line thing gives you
ftsw=fuel to start with
line on bottom is fuel gague.
the rest is self- explanatory.
got to go, session's about to time out.
-
Looks interesting, I might look at it later.
As for what "ninja'd" means:
When posting on a forum, you submit a post only to find that someone has posted the same thing only seconds earlier.
-
Ninja'd means when you post something (generally an answer to someone's question) only to find out someone posted the same thing like a few seconds before.
Also that game seems really cool! I think if it had a title screen and increasing difficulty, you should submit it to ticalc.org. For some reasons it reminds me of Audiosurf, but with no music.
EDIT: Ninja'd :P
-
[offtopic]
Okay, there has to be a word for this, when somebody is naming something only to become an example of it...
DJ, you've been the example both times, with the bump to the thread about the hardest calc game ever and now, ninja'd while posting about what it means to be ninja'd.
Any ideas?
[/offtopic]
Okay, back on topic. Well, if I could think of something to post :(
Actually, I do have something to say. I agree with DJ that you should submit it to ticalc.org if it has a title screen and increasing difficulty. Good game! :)
-
calcdude84se: coincidence? i'm not sure of the word. it is not irony. if someone says that i'm going to throw some furniture. although i don't really think there's a word. for when you name something but become the example... nothing in my vernacular. just coincidence, i guess.
and ontopic, that game looks pretty good. is that as fast as it runs?
-
Yeah, I guess coincidence is the best I'll get. With respect to irony, I find it to be quite the opposite.
-
Maybe we could create a word ourselves. Instead of Ninja'd, what about Loli'd? :P
-
Or just take some random word and apply it to the meaning.
Apple'd!!!
Sparrow'd!
:D'd!
Okay, on topic.
I fixed the pause menu.
Instead of it being a subroutine, I just made it a label.
'Quit' works now.
This will probably be my last day on a computer until august, so I'll load it here.
You know what it looks like by now, is a screenshot necessary?
By the end of the summer, I hope to have options actually do something and have a title screen, possibly with a menu.
I wasn't really planning on making Spacerun a whole new project, not while Jetpack is still in the works.
For jetpack, I might just drrop the Papijump clone idea until I get more experience programming. At this point, I've been programming for just about nine months.
If I get things done fast enough, I might even start working on some sort of pinball thing, using some sort of modified engine from the PHYSIC program I made a while back. Don't expect something like Acelgoyobis though...
Well, I'll be off. I'll be back eventually.
Giant Necro Edit: added old screenie because I have stuff linking to this post. So...
(https://www.omnimaga.org/index.php?action=dlattach;topic=1564.0;attach=2186;image)
-
I hope you don't ditch the spacerun idea, though. I kinda liked it. I could always try making a similar game later, though.
I can,t wait to see you return.
-
Not bad, amirite? I was waiting forever for reading from archive to come out to do this. ;D
-
Holy crap!
Is that the entire map of Hyrule?! o.o
-
WOW! That is awesome! Great job! Just going to keep it as a scrolling program or make it into a game?
-
The white space on the side is a BIG tipoff. :D
-
Nice Runer. You've obviously put some time in on this!
-
Its absolutely amazing! There is a lot of detail there. Can't wait to see what you do with this.
I'm wondering why it seems so flickery in the screenshot though. Is it just the emulation, or is it the drawing of a lot of sprites between every redraw that's slowing it down? If the latter, you can save the screen to a buffer so you don't have to redraw the screen every frame.
-
Holy crap!
Is that the entire map of Hyrule?! o.o
Indeed it is.
Nice Runer. You've obviously put some time in on this!
Took me about 2 weeks to convert sprites into 8x8. And those are just the overworld, outdoor, map tiles.
Its absolutely amazing! There is a lot of detail there. Can't wait to see what you do with this.
I'm wondering why it seems so flickery in the screenshot though. Is it just the emulation, or is it the drawing of a lot of sprites between every redraw that's slowing it down? If the latter, you can save the screen to a buffer so you don't have to redraw the screen every frame.
The flickering is just the screenshot, it looks great on a real calc. And no, it doesn't draw the background every frame, hence me asking in the feature request topic for sprite drawing to arbitrary buffers, as I have two extra buffers for the background. As of now have to use a subroutine for drawing sprites to an arbitrary buffer that I made myself, which is neither small nor fast. Drawing one 10x8 background takes almost half a second.
Tomorrow I'll probably try to work on a bit of map compression. As of now I have 318 tiles, so with no compression each unit in the tilemap has to be 2 bytes, resulting 40960 total bytes of map data. If I can chop that down to 10 bits per tile (I expect the total tile count to exceed 512 by the end, with animated, indoor, and dungeon tiles) and add RLE, I figure I can get it down to at least half of that. Then I'll re-sprite the indoor and dungeon areas to 8x8, which will probably take a while, get the dungeon map data all working and compressed, and with any luck all the tile and tilemap data will only be about 50K, hopefully leaving enough room for this to be a TI-83+ game.
-
(I realize this is technically a double post, but my last one was getting pretty full and was made a day ago, so I'm just making a new post.)
Well, I managed to finally get tilemap compression completely working. What used to be 40998 bytes of overworld tilemap data is now 18792! I can't tell exactly how long it takes to decompress the tilemap for each new area, but it's quite fast. Even without any DispGraphrr's activating during the decompression, the freeze is only slightly noticeable, so I only needed DispGraphrr to activate once or twice during the decompression. Most of the wait time when loading a new zone occurs while my super inefficient and super slow sprite routine draws the background sprites to arbitrary buffers (Hint hint, feature request *pokes Quigibo*). These backup buffers are needed so after drawing sprites on top of the background and the screen is updated, the sprites can be quickly erased and the background restored by just copying these backup buffers to the real ones.
-
Wow, nice job, Runer. it looks great.
-
Runer, are you trying to compete with Spencer or are you submitting that for the contest?
-
Holy crap!
Is that the entire map of Hyrule?! o.o
Indeed it is.
Actually, that is Koholint.
-
Runer, are you trying to compete with Spencer or are you submitting that for the contest?
Who is Spencer? ???
-
Runer, are you trying to compete with Spencer or are you submitting that for the contest?
Who is Spencer? ???
From what I understand he is one of the big programmers over at Revsoft who is/was creating a Zelda clone. I could be wrong on some of that though. I don't know a whole lot myself.
-
Oh right, now that you mention it I do remember hearing about that. I think there's a sample video of two of it on youtube. Oh well, I'll resume work anyways, it will be a challenging and fun project. Plus if I actually get it somewhat working, it would make a great Axe parser contest entry. ;)
-
Runer, are you trying to compete with Spencer or are you submitting that for the contest?
Who is Spencer? ???
/me facepalms
Well sonny, He's somewhat of a legend round' these here parts! ;D He's got an original Zelda title that he's been working on since.... Oh I'm not even sure, but it's been a while. It's black and white 16X16 graphics, alot of them custom made. I highly recommend taking a look at it. It's gonna be a mongsta when it's finished.
http://www.revsoft.org/phpBB2/viewforum.php?f=30&sid=fe2e76af99811ff354b0a50daebebc22
-
Oh wow, this is going to make things so much easier.
For a while now I've been asking myself how I'm going to draw all the foreground people/enemies/items etc. in 4-color grayscale with transparency for this Link's Awakening thing. Quigibo's new routine would have worked wonders, if only LA was a 3-color grayscale game.
I decided I'd start with the basics, just getting Link displayed. I was starting the process of converting all his sprites to 8x8, and a bit through the first sprite I noticed it was kind of funny that there were no dark gray pixels in this sprite. And then the next sprite lacked dark gray too. And the next. And the next.
I said to myself, "Wait a second. Why is the area around Link in these sprites dark gray?" *Thinks for a moment...* HUZZAH!! EVERY SINGLE FOREGROUND SPRITE IN LINK'S AWAKENING USES DARK GRAY NOT AS A COLOR BUT AS TRANSPARENCY! It's amazing I never even noticed that during the hours I must have played it. I was thinking all sorts of crazy thoughts like a third foreground transparency buffer and weird stuff, but now this will be so much simpler. :) Well, at least if I can complete the momentous task of converting all the foreground sprites, which are much more specific and detailed than background sprites, to 8x8 from 16x16. I may want to add back dark gray as a color into the palette just so the sprites convert decently, but I'll try using the 3-color palette first. If any good spriters want to help me out a bit, I'd be eternally grateful.
-
Runer, are you trying to compete with Spencer or are you submitting that for the contest?
Who is Spencer? ???
/me facepalms
Well sonny, He's somewhat of a legend round' these here parts! ;D He's got an original Zelda title that he's been working on since.... Oh I'm not even sure, but it's been a while. It's black and white 16X16 graphics, alot of them custom made. I highly recommend taking a look at it. It's gonna be a mongsta when it's finished.
http://www.revsoft.org/phpBB2/viewforum.php?f=30&sid=fe2e76af99811ff354b0a50daebebc22
You gotta understand that not every single member in the community know about every site that exists, though, not to mention Revsoft is almost dead and was down for one month recently, so a lot of people probably did not bother checking as much, plus some people may not take the Spencer Zelda project for granted, considering updates are not very frequent.
Btw this is awesome Runer112, I hope you finish this :)
-
Oh wow, this is going to make things so much easier.
For a while now I've been asking myself how I'm going to draw all the foreground people/enemies/items etc. in 4-color grayscale with transparency for this Link's Awakening thing. Quigibo's new routine would have worked wonders, if only LA was a 3-color grayscale game.
I decided I'd start with the basics, just getting Link displayed. I was starting the process of converting all his sprites to 8x8, and a bit through the first sprite I noticed it was kind of funny that there were no dark gray pixels in this sprite. And then the next sprite lacked dark gray too. And the next. And the next.
I said to myself, "Wait a second. Why is the area around Link in these sprites dark gray?" *Thinks for a moment...* HUZZAH!! EVERY SINGLE FOREGROUND SPRITE IN LINK'S AWAKENING USES DARK GRAY NOT AS A COLOR BUT AS TRANSPARENCY! It's amazing I never even noticed that during the hours I must have played it. I was thinking all sorts of crazy thoughts like a third foreground transparency buffer and weird stuff, but now this will be so much simpler. :) Well, at least if I can complete the momentous task of converting all the foreground sprites, which are much more specific and detailed than background sprites, to 8x8 from 16x16. I may want to add back dark gray as a color into the palette just so the sprites convert decently, but I'll try using the 3-color palette first. If any good spriters want to help me out a bit, I'd be eternally grateful.
Yeah, all sprites on the Gameboy and Gameboy Color are three colors and transparency.
-
I always wondered why Link was 3 level grayscale on the GB. Now I know why. :P
-
...I may want to add back dark gray as a color into the palette just so the sprites convert decently, but I'll try using the 3-color palette first. If any good spriters want to help me out a bit, I'd be eternally grateful.
Goliath Online.
Go ahead, TACCOM.
-
http://www.kousougames.com/sprites.php?show=LA%20Graphics%20Dump (http://www.kousougames.com/sprites.php?show=LA%20Graphics%20Dump)
I found this a while ago and bookmarked it, because I knew this would be extremely helpful for all matters graphics. In there is every single piece of graphical data from Link's Awakening. I'm probably not going to take the same graphics data storage approach as the original game did, because that's a complete mess, but all the graphics are there. The second and third images contain all the sprites of Link. @EVERYONE: Feel free to do as few or as many as you want. I managed all the overground map tiles myself, but those could (for the most part) be easily scaled down and still look decent. For me at least, people/creatures are always very difficult to scale down while retaining quality. I tried working on Link for like half an hour and then gave up. :-\
I'll be making sure to give proper credit in any public versions I release to the person who completed that graphics dump and anyone who wants to help me out.
This is a pretty fun project, with any luck I might be able to go all the way with it. Perhaps I should start a topic designated for it?
-
Do you plan on keeping Link in 3 grayscale using the dark gray as a transparency or do you have something else in mind?
-
You can always try these: http://ourl.ca/35290 A lot of good sprites in there.
-
Whoa, those look pretty nice. He's even got a couple enemies done as well.
-
Do you plan on keeping Link in 3 grayscale using the dark gray as a transparency or do you have something else in mind?
Oh, didn't notice this post. Obviously things would be easier on the programming side and quicker on the performance side, although it would be harder to convert all the foreground sprites to 8x8 with only 1 shade of gray. Can you try a few sprites in both 3 and 4? I figure if I'm going to decide whether or not 3 colors is enough, I should let someone good try a few and see how the come out.
-
I did not read through most of the discussion, but Runer, are you actually planning to ditch the entire hard work you put on the 4 level grayscale tiles and converting to 3 level maps? Or am I misunderstanding? Although 3 level may look nice too, it would suck to have to restart from scratch :(
Otherwise, do you just mean the sprites that requires masking?
-
I did not read through most of the discussion, but Runer, are you actually planning to ditch the entire hard work you put on the 4 level grayscale tiles and converting to 3 level maps? Or am I misunderstanding? Although 3 level may look nice too, it would suck to have to restart from scratch :(
Otherwise, do you just mean the sprites that requires masking?
The background tiles in the game are all 4-level grayscale, as they are the bottom layer and thus don't need transparency. However, all the foregronud sprites, such as items, people, creatures, etc. are 3-level grayscale in the game. The question is, should I/others who may help me with sprites use only 3-level grayscale for easier masking? Or 4-level transparency for (an undetermined amount of) better visual quality? Tomorrow I might try testing the game with about 16 random sprites on the screen, which would cover most situations. If it still runs decently fast with 4-level grayscale foreground sprites, then that will probably be the way to go. Otherwise, 3-level grayscale sprites.
-
Here's a simple picture editor I made. Pictures are stored in Str1, Str2, and Str3.
-
Just wondering... why store pictures in strings and not pictutres?
-
The pictures are stored in the external variables so that you can do Rcl Str1 or whatever.
-
I assume this is meant for pics used in Axe programs, right? Are they in hex format? I am not too sure about the use of this program. Could you provide an example?
-
it's an 8x8 sprite editor. you can save and load up to 3 monochrome sprites, it seems.
-
It is similar to the HEXPIC program that is in the Axe zip file.
-
Aaaah cool :D
-
Got bored so i made something similar to astbelt. The box in the corner tells you if you have use of your ability. if theres a X then you don'i if there is a check then you do have use. You can also press mode to invert the screen without a significant speed decrease.
I would like a sprite to replace the spike to make it seem more "in space"
-
Do you mean like the old arcade game Asteroids or more like side scrolling? I'll probably give this a try tomorrow
-
Do you mean like the old arcade game Asteroids or more like side scrolling? I'll probably give this a try tomorrow
No i mean like the program attached to this post
-
Aaah ok I never tried that one, I'll give it a try too I guess. I wonder if that guy posted on old forums back in the days...
-
Can somebody help me optimize this? I'm not familiar with Axe optimization tricks.
Also, how do you save to files? I'm trying to implement high scores.
EDIT: Thanks, Mr. Omnimaga. It works better now... You still can't skirt the sides, though, due to the way the program detects collision.
-
I do not have much time right now but I noticed something in your game: You die about 2 pixels before your car touches the border. You might want to fix that in the next version.
Nice to see you still around by the way :)
-
if you want to save your high score to an external variable simply use this:
:.A
:"vHighScre"->Str1 //that v is the little v that can be accessed via 2nd 8, i believe. the name following it can be whatever as long as it's only =<8 characters long
:GetCalc(Str1)->θEnd
:!If θ
:Unarchive Str1
:Getcalc(Str1)->θEnd
:!If θ
:GetCalc(Str1,2)->θEnd
program code here...
:If [score var>{θ}r
:[score variable]->{θ}rEnd
:Archive Str1
this will check to see if the appvar HighScre exists in archive or RAM and return a pointer for reading and writing to it and then stores your high score and archives the var at the end of the prog.
-
What am I doing wrong here?
-
i don't have any software that can read .8xp files.... so if you post the source code in a code box (using [code] *code here* [/code]) like below, i'd be glad to help.
.AXE
[010203->GDB1
For(A,0,2
Disp {GDB1+A}>Dec,i
End
-
Lbl F
ClrHome
"Score:"→Str1
"High Score: "→Str2
"vHIGHSCR"→Str0
GetCalc(Str0)→θ
!If θ
UnArchive Str0
GetCalc(Str0)→θ
End
!If θ
GetCalc(Str0,2)→θ
End
If S>{θ}^r
S→{θ}^r
End
Archive Str0
Disp Str1,i,S>Dec,i,i,Str2,i,{θ}^r>Dec
^r being the "read" marker and >Dec being the signing symbol
Thanks for the help.
-
well, for one you're trying to access the data stored in your appvar after already having archived it.
stick that Archive Str0 command after the disp stuff
there's probably something else, but i trust nemo to deal with it as i have an essay to write. good luck!
-
Lbl F
ClrHome
"Score:"→Str1
"High Score: "→Str2
"vHIGHSCR"→Str0
GetCalc(Str0)→θ
!If θ .if there's no appvar, create one
GetCalc(Str0,2)→θ
Copy([0000],θ,2) .copy 2 bytes of 0 to the data.
Else
UnArchive Str0 .otherwise, unarchive the appvar
End
If S>{θ}^r
S→{θ}^r
End
Disp Str1,S>Dec,i,i,Str2,{θ}^r>Dec
Archive Str0
-
Umm... Now, it's clearing the high score every other playthrough.
-
Don't forget, GetCalc() returns 0 if the appvar is archived.
-
Don't forget, GetCalc() returns 0 if the appvar is archived.
really? go figure. i've never really used appvars, just skimmed the commands list to figure out how they work. i assume ikemike can make the necessary change then.
-
Oh—a question; why are we using {theta} as the file if Str0 is being pointed to?
-
Theta is used in the code above to store the location of the AppVar in RAM. In other words, Theta is used as a pointer that points to where the Data is. :)
Good luck ikemike. ;D
-
How you guys like? Its still under development I'm planning to add a boss fight. And the name PShooter is from the original version made with TI-Basic using text (it was really really slow lol). But its attached. I have a bunch of optimization to go still. The score still isn't displayed. And losing all your lives does not end the game yet (so just press clear).
Please tell me what i can do to improve it.
-
I think it's very nice (especially the sprite design) but it started to become somewhat dull after a while. May I recommend gradually increasing the difficulty, by either creating more enemies after some time, or perhaps by changing the type of enemy bullet? Also, once you add support for scores, maybe you should try adding an on-screen counter of how many enemies you've killed.
Also, I'm wasn't sure how to go pass the title screen/you've lost the game screen. It would have been nice if pressing [2ND] would have let me move on.
-
Yeah I was planning that. The problem with more enemies is variables, or in Axe is there a way to have more than the what... 29 or so variables? Like A-Z and Theta?
And maybe after a certain amount of time the enemies shoot faster? Like as in more often?
And finally the screen... I'm not quite sure what the problem with that is. I'm thinking of removing it after I add a counter.
-
Yeah I was planning that. The problem with more enemies is variables, or in Axe is there a way to have more than the what... 29 or so variables? Like A-Z and Theta?
And maybe after a certain amount of time the enemies shoot faster? Like as in more often?
And finally the screen... I'm not quite sure what the problem with that is. I'm thinking of removing it after I add a counter.
*psst* Want to know a secret?
I can tell you how to get about 710 more variables - for free!
If you want to do this:
10->A
10->B
Where A and B are the coordinates of an enemy, you could do this instead:
10->{L1}
10->{L1+1}
(The L1 is the list number one, and don't forget the curly braces).
You can safely store numbers up to about 714 (so doing 42->{L1+710} is perfectly safe).
Also, if all the enemies act exactly the same, you could do this:
.Storing enemy location
For(A,0,15) //I want 16 enemies
rand^95->{A*2+L1} //X-coordinate
rand^30->{A*2+1+L1} //Y-coordinate
End
.Displaying enemies
For(Z,0,15)
Pt-On({A*2+L1},{A*2+1+L1},Pic1)
End
These are called pointers. If you search the Axe forum, you could probably get a better explanation of them, but this is the quick implementation guide ;)
-
Thank you so much for that... Pointer lol.
edit: And with what you showed me... Collision checking? That would be quite hard like this, or no?
-
No problem! Pointers are your friends - with them, you can do so many magical things.
btw, here's more info on what pointers actually are:
1] In all computing devices, there is only a set amount of memory. In order to use the memory, they're all treated as if they're arranged in a line.
2] The very first byte is called byte number 0, the second byte is called byte number 1, etc.
3] This byte number is the address - the address tells you exactly which byte you're talking about.
4] Each byte can hold a number. Think of houses - they have addresses, and they hold stuff inside.
5] So, by doing 10->X, you're telling Axe to store 10 to a certain byte in memory (Because a lot of these bytes hold vital information, variables are given so you don't have to remember a bunch of numbers whenever you want to store something). If I do something like 11->{1337}, I am storing the number 11 to byte number 1337 (you should never do this, though. Storing numbers to random places in RAM is the quickest way to a RAM clear).
6] If we examine {L1+5}, the L1 part is a numerical address to a place in RAM you can freely muck about in without any danger. Think of it like pi - it's a number which is hardish to remember, so the compile just substitutes it for you when compiling.
7] The stuff inside the braces tell you which byte you're thinking of, and adding the braces tell you to store to that particular byte.
8] Don't add braces around variables, though.
-
Yeah. I remember reading about pointers in C++, but never really had the chance to use them. And fyi I edited my previous post here.
-
Collision checking? Do you mean making sure enemies never intersect?
If we keep the amount of enemies fairly low (under a hundred, probably), then you could just take a brute force method - randomly generate two numbers for X and Y coordinates, check those numbers against every other enemy's coordinates, then if the absolute difference is 7 or less, then either attempt select another random slot, or add/subtract the appropriate amount of numbers to get the enemies not to intersect.
Edit: You probably meant bullets - in that case, just use the same checks you did with variables, only because all of your data is in what is effectively a list, do the checks in a for loop.
-
Also, what Michael_Lee has shown you is accessing bytes in ram using pointers ex: {L1+5}. However, bytes only allow you values between 0-255 (or -128 to 127 if you sign extend them with "sign{"). That's fine if this is just a "Screen X" and "Screen Y" since the numbers will never get that big anyway. But if you need numbers that go higher than that, you have to use words which are 2 byte numbers. This is how the regular Axe variables work. That gives you values between 0-65535 which is much larger. All you have to do to use them is add an r to the end of the closing bracket ex: {L1+5}r That would use both bytes {L1+5} and {L1+6} to hold the 2 byte number.
-
Collision checking? Do you mean making sure enemies never intersect?
If we keep the amount of enemies fairly low (under a hundred, probably), then you could just take a brute force method - randomly generate two numbers for X and Y coordinates, check those numbers against every other enemy's coordinates, then if the absolute difference is 7 or less, then either attempt select another random slot, or add/subtract the appropriate amount of numbers to get the enemies not to intersect.
Edit: You probably meant bullets - in that case, just use the same checks you did with variables, only because all of your data is in what is effectively a list, do the checks in a for loop.
So since my current check is If ((A-4<=X)and(A+4>=X))and(B=Y)
i can just replace the variables I use for the enemy, with the loop, correct?
-
Yep, I think. (I didn't read the rest of this)
-
Ahh :crazy:! I used the code for the Pt-On() and it displays one of those like messed up sprite things when you do something wrong lol. I had to modify the variables a tad, and made sure that i fixed all of them properly but still it happens! :banghead:
And I'm about to create a topic for this, so I'll link that in an edit so we don't spam up this topic too much.
-
Here's what I worked on for the past two days. It's a 16 by 16 smoothscrolling movement engine. Let me know what you think! ;D
I also wrote a little Pic to Hex program. Put the top left corner of the sprite in the top left corner of the graphscreen. Then set 0 (for 8*8 ) or 1 (for 16*16 ) to T on the first line of the program and run it. I used it to give me the 16*16 hex codes that I used in the movement engine. :)
@ztrumpet , How did you get the sprites to be 16x16? When I store a value into hex I only know how to do 8x8... but I can
pt-On(x,y,A)
pt-On(x+8,y,B)
pt-On(x,y+8,C)
pt-On(x+8,y+8,D)
Which essentially uses 4 sprites just to make one which feels like a waste... Is there a way to put this into one sprite?
-
You can use the Bitmap function, but I think it's even slower because the routine is written by Texas Instruments and is not as optimized.
Also welcome here :) , sadly ztrumpet isn't around anymore so if you need more details from an Axe expert you might have to wait for someone else's answer.
-
Woah, necro! (sort of)
Welcome to the forums, tincopper2.
I'm not ztrumpet, but I can tell you that if you want to use 16x16 sprites in pure Axe, you'll have to use 4 8x8 sprites...that's the only way to do it without an Axiom or assembly coding. (or, as dj mentioned, you can use the bitmap command but that sucks if you want to get any kind of reasonable speed)
There are probably quite a few 16x16 sprite routines floating around in assembly, you could probably find one relatively easily (although if you want clipping that's a different story...)
-
Woah, necro! (sort of)
Welcome to the forums, tincopper2.
I'm not ztrumpet, but I can tell you that if you want to use 16x16 sprites in pure Axe, you'll have to use 4 8x8 sprites...that's the only way to do it without an Axiom or assembly coding. (or, as dj mentioned, you can use the bitmap command but that sucks if you want to get any kind of reasonable speed)
There are probably quite a few 16x16 sprite routines floating around in assembly, you could probably find one relatively easily (although if you want clipping that's a different story...)
Holy mackeral! Fast reply! Btw, thanks.
-
You can use the Bitmap function, but I think it's even slower because the routine is written by Texas Instruments and is not as optimized.
Actually Axe got a new bitmap routine written for it that is much more functional and super fast :D I know if it is better than using 4 sprite calls, but it is nice and speedy if you have even larger moving images ^^
-
Oh nice :D
Note that the bitmap Y offset might be kinda weird (at least in my experience it's about 3 px off )
Edit: Never mind, that *shouldn't* be a problem
-
I'm working on a roguelike game in Axe. Here's the current code (its really just an @ sign moving around at this point):
.MAZEGAME
#ExprOn
DiagnosticOff
[3C409EA2A29E423C]->Pic1
ClrHome
0->X->Y
Repeat getKey(15)
If getKey(4)?Y>0
Y--
ElseIf getKey(1)?Y<56
Y++
ElseIf getKey(2)?X>0
X--
ElseIf getKey(3)?X<88
X++
End
Lbl DP
ClrDraw
Pt-On(X,Y,Pic1)
DispGraph
End
Return
How would I add walls/floor tiles? Like:
################
#..............#
#..............#
#..............#
#..............#
#..............#
#..............#
#..............#
#..............#
#..............#
################
Any help please? Thanks!
-
You'll want to do a tilemap. The tiles themselves are sprites.
For the sprites you'll want a sprite editor. There's a ton of those (https://www.google.com/search?q=sprite+editor+site:www.omnimaga.org) around here, take your pick :P
Tilemaps are kind of complicated if you're new to programming, but you can have a look around the tutorials (http://www.omnimaga.org/index.php?action=articles;cat=12) and feel free to ask for help :)
-
Thanks, Darl181!
Could I make a matrix and then somehow make certain sprites (Pic2 would be wall tiles, Pic3 would be floor tiles) print to the screen according to the matrix?
-
You wouldn't be making a matrix per se, the data structures from Basic don't exist in Axe. You can however kind of mimic one by having a bunch of data and treating it as a two-dimensional array like this (http://www.omnimaga.org/index.php?action=articles;sa=view;article=46), just use your own numbers/sprites/etc.
-
I have this (made it with Pixelscape):
(https://dl.dropbox.com/u/109591486/GIF.gif)
Now, do I export it as an Axe program, an appvar, or picture (for calc)?
How would I use it?
-
It depends. Do you want to have external levels, with different maps etc? Or do you want to have it hard-coded in to the program?
Appvars are easily made, deleted etc and are good for external levels, but you'll have to get the pointer yourself with GetCalc() and manage it (which honestly isn't very much :P)
If you want to have it as something built into the game itself you can make the program, then recall the source of the exported program into your own source (2nd > Rcl > find the unarchived program in the menu).
-
I was thinking about making about 5-10 hard-coded maps, and then randomly call them each time the player goes down stairs.
Is that possible?
-
that's definitely possible =)
you'll have to export them as axe source programs, edit the programs so that the data pointers (gdb<whatever>) aren't all the same, and then include a call to them (pgrmBLAH) somewhere in your main source program.
-
Current code:
.MAZE
#ExprOff
[2424FF2424FF2424]üPic000
[0000000000001818]üPic001
[0000000000000000]üPic002
[0000000000000000]üPic003
[000000000000000000000000]üGDB0
[000101010101010101010100]
[000101010101010101010100]
[000101010101010101010100]
[000101010101010101010100]
[000101010101010101010100]
[000101010101010101010100]
[000000000000000000000000]
DiagnosticOff
[3C409EA2A29E423C]->Pic100
0->X->Y
Repeat getKey(15)^^r
If getKey(4)?Y>0
Y--
ElseIf getKey(1)?Y<7
Y++
ElseIf getKey(2)?X>0
X--
ElseIf getKey(3)?X<11
X++
End
Lbl DP
ClrDraw
For(B,0,7)
For(A,0,11)
Pt-Off(A*8,B*8,{B*12+A+GDB0}*8+Pic000)
End
End
Pt-Off(X,Y,Pic1)
DispGraph
End
Return