CodeWalrus

Development => Calculators => Calculator News, Coding, Help & Talk => Topic started by: JWinslow23 on September 11, 2016, 10:13:25 PM

Title: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on September 11, 2016, 10:13:25 PM
This Is The Only Level now has its own port to the TI-84+CE!

(http://i.imgur.com/6cGjTQa.gif)

Beat the level. There's only one.

Download here (http://www.ticalc.org/archives/files/fileinfo/468/46841.html) on ticalc.org!

[spoiler=Original post]I've decided to take up C for the CE (thank you, Mateo :) ). My first game will be This Is The Only Level. You know, like this one (http://www.ticalc.org/archives/files/fileinfo/466/46675.html).

I've gotten done with the tilemapper. Here's a gif of the current progress:

(http://i.imgur.com/AZMStYK.gif)

Download is attached.

There are a couple of questions I want answered, though, so the development process can go as quickly as possible.

1. What's "sprite clipping" and should I use it?
2. For some odd reason, the gfx_TransparentSprite() routine leaves the tile sprites normal when drawn slightly off-screen, but the player sprite entirely disappears when he is off-screen even one pixel. Why is that, and how do I fix it?
3. The "random" colors for the background and spikes look like different shades of blue for some reason. Am I doing it wrong, or is there bias in the random numbers?
4. Are there any more conventions and things that can make my programming life easier?[/spoiler]
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 11, 2016, 10:33:31 PM
Just in case :)
Quote from: MateoConLechugaNice work! Looking pretty spiffy; I'd be happy to give coding suggestions on how to speed things up.

Quote from: JWinslow231. What's "sprite clipping" and should I use it?
2. For some odd reason, the gfx_TransparentSprite() routine leaves the tile sprites normal when drawn slightly off-screen, but the player sprite entirely disappears when he is off-screen even one pixel. Why is that, and how do I fix it?
3. The "random" colors for the background and spikes look like different shades of blue for some reason. Am I doing it wrong, or is there bias in the random numbers?
4. Are there any more conventions and things that can make my programming life easier?
1. Sprite clipping makes sure the sprite is drawn properly if parts of it are drawn offscreen or partially offscreen. Sprite functions have a _NoClip version which are a lot faster if the sprites you intend to use won't be offscreen ever.
2. It's probably because you are sending incorrect types (signed vs unsigned) values to the function as arguments. Take another look; the function works as intended :)
3. You basically have to design the palette yourself and the random colors that should be selected. You can set up the palette with random rgb values by looping and doing something like gfx_palette = rgbTo1555( r, g, b );
4. I don't believe there are any platformer games yet; but anything you learn or discover along the way would be neat :)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 12, 2016, 02:52:37 AM
Glad to see a color version @JWinslow23 :D . I am definitively looking forward for it. How fast does it run so far?
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 03:38:01 AM
Quote from: DJ Omnimaga on September 12, 2016, 02:52:37 AM
Glad to see a color version @JWinslow23 :D . I am definitively looking forward for it. How fast does it run so far?
Exactly as fast as it does in the screenshot. I'm literally clearing the screen and re-drawing the tilemap every frame, because I can't see any solution so far for erasing the elephant. Without this redrawing, however, it runs at way over playable speed, so if I find some way to only redraw the parts I need, it'll be fine.

By the way, can anyone help me with that? The code is up there. I have ideas, but they have all either not worked or caused flickering.

EDIT: Current code here. Minus a proper "random color" system, all changes are internal, so my job is easier. I did the same thing in the TITOL 84+ program, so I'm thinking it could help here.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 12, 2016, 05:38:05 AM
Weird, when I checked the topic earlier at work and just an hour or so ago the screenshot was not animated at all. It is now. Hence why I was asking the speed. As for erasing the elephant, if flickering is the issue, couldn't you use 8-bits mode, draw the map twice on two sides of the screen and flip between each side while erasing the elephant on the invisible side? That's what most people do.
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 06:24:10 AM
Quote from: DJ Omnimaga on September 12, 2016, 05:38:05 AM
Weird, when I checked the topic earlier at work and just an hour or so ago the screenshot was not animated at all. It is now. Hence why I was asking the speed. As for erasing the elephant, if flickering is the issue, couldn't you use 8-bits mode, draw the map twice on two sides of the screen and flip between each side while erasing the elephant on the invisible side? That's what most people do.
That's what's happening, with a buffer the same size as the full screen. The trouble is erasing the elephant in the first place without redrawing everything. I don't know how to erase him.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 12, 2016, 06:31:13 AM
Are you in 8 or 16 bits mode?
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 12, 2016, 07:25:20 AM
So I'm really sorry, but I got a little carried away with looking at your code... but anyhow, the basic idea is to save the background behind the transparent sprite, and then when you move the sprite, restore what was behind it previously. Rather than using gfx_SwapDraw(), you can use gfx_Blit( gfx_buffer ); in order to copy the back buffer to the screen. Here's the result that I got from it:

(https://usercontent.irccloud-cdn.com/file/m9CRZWOE/elephant.gif)

Also, I just made the double buffering thing work; didn't change too much else except for moving globals to local functions and such. If you do plan to use globals, try to keep them contained inside of a C structure :)

Edited source code is below.
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 08:37:36 AM
Thank you so much, I would never have figured that out myself. :)

Another question: How do I activate using the OS fonts (graphscreen and homescreen) and drawing them onto the screen? I tried gfx_SetMonospaceFont(0), but it's not working.
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 12, 2016, 08:41:57 AM
Using the following functions:

gfx_SetTextFGColor();
gfx_SetTextBGColor();
gfx_SetTextFGColor();
gfx_PrintStringXY();
gfx_SetTextScale();
gfx_PrintString();
gfx_PrintInt();
gfx_PrintUInt();
gfx_SetTextXY();

Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 08:46:49 AM
Quote from: MateoConLechuga on September 12, 2016, 08:41:57 AM
Using the following functions:

gfx_SetTextFGColor();
gfx_SetTextBGColor();
gfx_SetTextFGColor();
gfx_PrintStringXY();
gfx_SetTextScale();
gfx_PrintString();
gfx_PrintInt();
gfx_PrintUInt();
gfx_SetTextXY();

I think you misunderstand. I was just using PrintStringXY, but it prints the C monospace font. I want the OS homescreen and graphscreen fonts. I'm trying the OS functions, too, but they're not working. Forget my stupidity.
Title: Re: This Is The Only Level +CE
Post by: Adriweb on September 12, 2016, 05:13:03 PM
Quote from: MateoConLechuga on September 11, 2016, 10:33:31 PM4. I don't believe there are any platformer games yet; but anything you learn or discover along the way would be neat :)
Wut

Androides (https://tiplanet.org/forum/archives_voir.php?id=335066) , Crystann (https://tiplanet.org/forum/archives_voir.php?id=353827) , Billybox (https://tiplanet.org/forum/archives_voir.php?id=434499)

(https://i.imgur.com/yFTIiWb.png) (https://tiplanet.org/forum/archives_voir.php?id=335066) (https://tiplanet.org/modules/archives/captures/1456925921crystann2.gif) (https://tiplanet.org/forum/archives_voir.php?id=353827) (https://tiplanet.org/modules/archives/captures/1455568206nT1oX4k.png) (https://tiplanet.org/forum/archives_voir.php?id=434499)

All open-source btw.

Android has "gravity", as you can see the character falling, for instance, and not tile-by-tile (contrary to the two others, where everything is by tile)
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 06:34:52 PM
I've implemented collision functions that work well enough for me.

(http://i.imgur.com/mZOW01F.gif)

Interaction with objects will come next. I suppose I'll work on dying, then pushing the button. And at some point, the guy's got to turn around when he walks left.

Download attached.
Title: Re: This Is The Only Level +CE
Post by: kotu on September 12, 2016, 06:39:21 PM
is he a little elephant?
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 12, 2016, 06:43:42 PM
Quote from: kotu on September 12, 2016, 06:39:21 PM
is he a little elephant?
Yes, he is. You can play the original I'm basing this off of here (http://armorgames.com/play/4309/this-is-the-only-level).

I'll also try to see if I can get the creator's blessing for doing a full version of my color remake. I probably won't need it, but I'll tell him anyways.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 12, 2016, 11:44:28 PM
Glad to see progress JWinslow23. Also I like that color scheme better. :)
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 12, 2016, 11:47:57 PM
Quote from: DJ Omnimaga on September 12, 2016, 11:44:28 PM
Glad to see progress JWinslow23. Also I like that color scheme better. :)
I believe the color scheme is randomly generated each time :)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 13, 2016, 08:04:24 AM
Oh, I thought it was fixed. I guess I got too used at the grayscale version :P
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 13, 2016, 11:50:47 AM
Quote from: DJ Omnimaga on September 13, 2016, 08:04:24 AM
Oh, I thought it was fixed. I guess I got too used at the grayscale version :P
It's kinda weird to me to make a port of a game and have people play that more than the original. :P
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 13, 2016, 05:01:14 PM
Lol that's because I am still quite into calc games. :P

Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 13, 2016, 11:59:03 PM
I'm having a small problem with jumping. When the elephant hits the ground, his y-position (a float) needs to be a multiple of 11 plus a constant offset. I know how to check for when he hits the ground, but how, in code, would I make sure his y-position is a multiple of 11 plus a constant offset?

The y-position is a double with name player_y, and the constant offset is a defined integer with name TILEMAP_Y_OFFSET.
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 14, 2016, 12:30:17 AM
Use the modulus operator (%)
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 14, 2016, 12:35:47 AM
Not working. Apparently you can't do a modulus operator to a double.

EDIT: Also, the Y-position being a double is causing problems elsewhere. I think I need help with datatypes.

The Y-velocity needs to be a double, but I'm not sure about the Y-position.

EDIT AGAIN: Code is attached.


I am freaking stupid.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 14, 2016, 05:33:07 AM
How is the speed so far?
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 14, 2016, 05:44:22 AM
Quote from: DJ Omnimaga on September 14, 2016, 05:33:07 AM
How is the speed so far?
Very playable. The screenshot is slow for some reason, I blame Cemu.

(http://i.imgur.com/ULuNSsX.gif)

Also, new version!

It adds jumping, gravity, a little bounce mechanic, and death! It also adds a placeholder for where a timer will be, if I can figure out how to time to the 100th of a second.

Download attached.
Title: Re: This Is The Only Level +CE
Post by: Yuki on September 14, 2016, 06:04:41 AM
Ooooh, I like this.
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 14, 2016, 06:46:06 AM
Here's an optimized version of hit_block: (I also changed the inputs to uint8_t)

bool hit_block( uint8_t hit_x, uint8_t hit_y, uint8_t block_hit ) {
uint8_t x_off1 = (hit_x - TILEMAP_X_OFFSET) / TILE_WIDTH;
uint8_t x_off2 = (hit_x + TILE_WIDTH  - TILEMAP_X_OFFSET - 1) / TILE_WIDTH;
uint8_t y_off1 = (hit_y - TILEMAP_Y_OFFSET) / TILE_HEIGHT;
uint8_t y_off2 = (hit_y + TILE_HEIGHT - TILEMAP_Y_OFFSET - 1) / TILE_HEIGHT;

return (collision( x_off1, y_off1 ) == block_hit) ||
(collision( x_off1, y_off2 ) == block_hit) ||
(collision( x_off2, y_off1 ) == block_hit) ||
(collision( x_off2, y_off2 ) == block_hit) ;
}


Notice that in code; if you have loops and stuff, it repeats that code every single time. Better to just store the computations and then use them I guess.
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 14, 2016, 11:50:41 AM
Quote from: MateoConLechuga on September 14, 2016, 06:46:06 AM
Here's an optimized version of hit_block: (I also changed the inputs to uint8_t)

bool hit_block( uint8_t hit_x, uint8_t hit_y, uint8_t block_hit ) {
uint8_t x_off1 = (hit_x - TILEMAP_X_OFFSET) / TILE_WIDTH;
uint8_t x_off2 = (hit_x + TILE_WIDTH  - TILEMAP_X_OFFSET - 1) / TILE_WIDTH;
uint8_t y_off1 = (hit_y - TILEMAP_Y_OFFSET) / TILE_HEIGHT;
uint8_t y_off2 = (hit_y + TILE_HEIGHT - TILEMAP_Y_OFFSET - 1) / TILE_HEIGHT;

return (collision( x_off1, y_off1 ) == block_hit) ||
(collision( x_off1, y_off2 ) == block_hit) ||
(collision( x_off2, y_off1 ) == block_hit) ||
(collision( x_off2, y_off2 ) == block_hit) ;
}


Notice that in code; if you have loops and stuff, it repeats that code every single time. Better to just store the computations and then use them I guess.
Do you think that the inputs ought to be uint8_t's? Those are the literal coordinates of the guy on-screen, which doesn't take those.
Title: Re: This Is The Only Level +CE
Post by: MateoConLechuga on September 14, 2016, 01:40:06 PM
Haha, oops, yeah. Well, the y value can be, but the x value should be a uint24_t :P The rest is fine.
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 14, 2016, 06:41:19 PM
Quote from: MateoConLechuga on September 14, 2016, 01:40:06 PM
Haha, oops, yeah. Well, the y value can be, but the x value should be a uint24_t :P The rest is fine.
Alright, thanks!
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 15, 2016, 05:13:30 AM
You should add the latest download version to the first post when you post a new one. Also I just tried this now and it's very smooth so far :)
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 15, 2016, 05:20:22 AM
Quote from: DJ Omnimaga on September 15, 2016, 05:13:30 AM
You should add the latest download version to the first post when you post a new one. Also I just tried this now and it's very smooth so far :)
Once the button and door function almost work as expected. ;)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 15, 2016, 05:44:44 AM
Yeah I noticed that doesn't work yet. I sure noticed the spikes did, though, since I hit them a few times :P

:walrii: easter egg?
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 15, 2016, 05:54:19 AM
Quote from: DJ Omnimaga on September 15, 2016, 05:44:44 AM
Yeah I noticed that doesn't work yet. I sure noticed the spikes did, though, since I hit them a few times :P

:walrii: easter egg?
Gimme an 11x11 xLibC color walrii, and you got it. ;)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 15, 2016, 05:56:24 AM
Would a 8x8 one work? :P
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 15, 2016, 05:58:02 AM
Quote from: DJ Omnimaga on September 15, 2016, 05:56:24 AM
Would a 8x8 one work? :P
Not as well. Then you'd say the hitboxes are too strict :P
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 15, 2016, 05:59:19 AM
Ah I see. I guess I could adapt my 8x8 one to fit 11x8, though. I mean, in Wal-Rush! CE, it took multiple forms including heavily stretched ones. :P
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 16, 2016, 04:27:32 PM
See first post for download,

(http://i.imgur.com/GFMtrAV.gif)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 16, 2016, 04:30:13 PM
Cool, I'll check it out Sunday hopefully. I am surprise CEmu gives you speed issues with screenshots, though.

The game looks very nice so far and I liked what I saw so far when I tried the other version the other day.
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on September 21, 2016, 04:25:11 AM
Check the original post.

(http://i.imgur.com/CKTYMH6.gif)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 21, 2016, 06:00:47 AM
That looks very great JWinslow23! I also like the transitions. This is definitively being polished very well. Good job :)

EDIT: I also added this topic to the downloads section at https://codewalr.us/index.php?board=17.0
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on September 21, 2016, 06:36:40 AM
Trust me, it is totally not polished from the inside, but thank you!

Will work on comments, and the first stages, soon.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 21, 2016, 03:59:31 PM
Yeah but so far at least it does the job, that's for sure, and the game is quite cool so far.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on September 26, 2016, 05:40:55 AM
I think I may need help with math.

[spoiler=Stage 6 spoilers!]In Stage 6, the player will perpetually bounce, with a vertical velocity such that the player ends up at the top of the level at the height of the jump.[/spoiler]

Basically, I need some sort of way to get a velocity for a jump to reach some position, given a starting y-position, some gravity added to the position every frame, and the y-position achieved at the apex of the jump. But not a value...no, I want a formula.

Help?
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on September 26, 2016, 06:45:26 AM
You should ask questions in a separate, appropriately-titled topic.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: jacobly on September 26, 2016, 06:54:12 AM
Just use the formula final_velocity2 = initial_velocity2 + 2*acceleration*(final_position - initial_position), so you have initial_velocity = sqrt(final_velocity2 - 2*acceleration*(final_position - initial_position)), or in your case, final_velocity = 0, so initial_velocity = sqrt(2*gravity*jump_height).
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on September 26, 2016, 07:43:01 AM
Quote from: jacobly on September 26, 2016, 06:54:12 AM
Just use the formula final_velocity2 = initial_velocity2 + 2*acceleration*(final_position - initial_position), so you have initial_velocity = sqrt(final_velocity2 - 2*acceleration*(final_position - initial_position)), or in your case, final_velocity = 0, so initial_velocity = sqrt(2*gravity*jump_height).
Thank you so much! I knew I was off by a factor of 2. Which reminds me... (http://tauday.com)

Should release when I'm back from vacation, on the 27th.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on September 26, 2016, 11:50:46 PM
Download here (https://codewalr.us/index.php?action=dlattach;topic=1588.0;attach=1131). No screenie because my computer is crap; can someone else record it up to and including Stage 12?

Perhaps an overhaul of the left-right movement system is needed. To me, it feels a little slow.
Title: Re: This Is The Only Level +CE
Post by: critor on October 04, 2016, 06:11:03 PM
Thanks for the colorful update ! ;)

Here is the level 1 stages 1-12 playthrough :
(http://i.imgur.com/cNheirw.gif)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on October 04, 2016, 07:42:36 PM
I really need to download this as soon as possible to try it. :) Looks awesome, as always :)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on October 04, 2016, 07:51:45 PM
No more work on the game for right now, because my computer's battery can no longer hold or even take a charge. Will rectify as soon as possible, but until then, play these stages!
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: Dudeman313 on October 14, 2016, 12:32:50 AM
Oh! You did decide to work on a CE version! That's awesome. I love it, but I don't have a calc anymore. Maybe next year, when I skip my sophomore year and start 11th grade and take Algebra II.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on October 22, 2016, 04:54:10 AM
Quote from: Dudeman313 on October 14, 2016, 12:32:50 AM
Oh! You did decide to work on a CE version! That's awesome. I love it, but I don't have a calc anymore. Maybe next year, when I skip my sophomore year and start 11th grade and take Algebra II.
Nice, hopefully this gets sorted out. In the meantime, emulate it. The game is almost halfway done anyways, with 12 stages out of 30.

Also, if you're wondering where this project went, it is still on indefinite hold. I've been looking all over for a good replacement computer. Hopefully I can find one. Be assured, though, that once I do, I'll get a jump on finishing as soon as possible!
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on October 22, 2016, 04:58:28 AM
Ah that explains why you were gone. I hope your new computer don't take as long to arrive as it took for @SiphonicSugar . I remember when I had no internet access in 2007 and near the end my interests were starting to shift as I found new hobbies (which is what I fear that happened with Siphonic) D:
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 06, 2016, 08:56:18 PM
Bump.

I've decided to start this project up again! I have a new computer, which is better than what I had. As promised, I'm seeing this through to the end now.

17 stages (technically only 16, but 17 uses default options) are implemented. Download here (https://codewalr.us/index.php?action=dlattach;topic=1588.0;attach=1171)!
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 06, 2016, 09:33:45 PM
erm..
is this an announcement you'll create the porgram now?
Or is this the announcement "I did it"? ???
(I'm not sure, I cant run the files as I dont have a CE)
In both cases: yaaay  :thumbsup:
glad to hear // nice ^^
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 06, 2016, 10:29:06 PM
Quote from: p2 on December 06, 2016, 09:33:45 PM
erm..
is this an announcement you'll create the porgram now?
Or is this the announcement "I did it"? ???
(I'm not sure, I cant run the files as I dont have a CE)
In both cases: yaaay  :thumbsup:
glad to hear // nice ^^
I had created some of the program, but stopped because my computer crashed. I am resuming that process now that I have a computer again, and I've already implemented 5 more stages, as well as savegames and some bugfixes.

I updated the download link, too; check the first post for a download. :)

Oh, and go check out CEmu for a CE emulator. It's the first and only, so be sure to check it out!
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 11, 2016, 11:29:56 AM
Bump.

New version! Now with Collapse!

No screenie because CEmu will not cooperate no matter how many times I throw things at it.

Do color references have to be from a palette? I want to have my green be #define-d in my code, not depend on a picture I don't use.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p4nix on December 11, 2016, 05:35:17 PM
Sad that you have no eye-candy. Is there a way to turn the current tiles into more colorful sprites, so the graphics might look even better? If you have all those colors why dont use them :P
Otherwise, I really like the concept of your game although I can't play it due to the lack of the appropiate calculator!
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 11, 2016, 05:52:09 PM
Awesome that is updated.  As for CEmu you should post in the CEmu thread and ask for help. Make sure you got the latest version and latest.
Title: Re: This Is The Only Level +CE
Post by: Unicorn on December 11, 2016, 06:46:20 PM
What DJ said, or make sure you are compiling with the most up-to-date toolchain, as well as putting the newest version of the libraries in CEmu. Oh yeah, and make sure CEmu is up-to-date.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 12, 2016, 12:01:43 AM
The toolchain is completely up to date, as is CEmu. The thing is, recording screenshots is problematic, and it always has been. Would I do something with the key bindings?

I'm soon gonna be resorting to a screen-to-gif recorder recording CEmu directly.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: MateoConLechuga on December 12, 2016, 12:08:56 AM
I believe I told you this before; but you can change the frameskip rate of CEmu. That's what your issue is :P
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 12, 2016, 10:40:31 AM
cant wait for new pics.
Also I'm curious how you did the menu ^^
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 12, 2016, 01:33:39 PM
Quote from: MateoConLechuga on December 12, 2016, 12:08:56 AM
I believe I told you this before; but you can change the frameskip rate of CEmu. That's what your issue is :P
Agh, I'm not sure you're understanding my issue.

I looked into it, and it seems like the arrow keys are not controlling the keypad after I select any option at all; rather, they switch between the options.
For example, if I set the scale to 100%, and then try to press left and right, the left and right buttons on the keypad don't register, but the scale changes.
Same with key bindings, refresh rates, and basically any option you can control with the arrow keys.

Changing the frameskip rate, of course, did nothing, because it is always set to something else anyways.

Quote from: p2 on December 12, 2016, 10:40:31 AM
cant wait for new pics.
Also I'm curious how you did the menu ^^

Not yet. The menu is next, be patient ;)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: MateoConLechuga on December 12, 2016, 04:10:50 PM
You just click on the screen. Because yes, you are changing an option. Set the frameskip to 1; click the screen, and that's it.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 12, 2016, 04:30:16 PM
Click the screen. Oh, I'm stupid. Thank you.

Screenie coming up, then!
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 12, 2016, 04:35:21 PM
this level of tech support reminds me of the "press any button" problems you get sometime :trollface:
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 12, 2016, 04:38:15 PM
(http://i.imgur.com/HC4YcZ0.gif)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 12, 2016, 04:42:05 PM
wow, that'S really an interesting level :D  :thumbsup:
can the elephant still stand on the button or will it fall through it once the floor below is gone?
(probably make the button disappear as soon as parts of the floor below it are gone?) ^^

Edit: Also shouldnt the timer pause during the text screens? ;)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 12, 2016, 04:50:44 PM
Nope, the button is pinned to that spot in the air. You never really stand on the button, you just stand on the ground beneath the button.

And no, I don't plan to stop the timer during the ending screen. It's harder anyways.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 13, 2016, 01:51:05 AM
Quote from: MateoConLechuga on December 12, 2016, 04:10:50 PM
You just click on the screen. Because yes, you are changing an option. Set the frameskip to 1; click the screen, and that's it.
I didn't understand his issue completely either it seems. I thought he meant that even after clicking the screen the arrow keys didn't respond, because I had this happen with old versions of CEmu.

The strangest part in my case, though, is that keypresses would be missed regardless of the screen capture software I used. Even Camstudio caused CEmu to not register all my keypresses. Now I understand that in his case, he just forgot to click the screen, which causes arrows to control the GIF capture settings instead. :P

Also JWinslow23 nice levels. I am curious about what happens if you fall through the floor at the very bottom of the screen...
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 13, 2016, 03:49:26 AM
Thanks! Yeah, it's my fault for not using it correctly :P .

Quote from: DJ Omnimaga on December 13, 2016, 01:51:05 AMI am curious about what happens if you fall through the floor at the very bottom of the screen...
You die.

What, do you think I wouldn't implement some bounds-checking by this point? If I'm aiming to get this entered in the next Monthly Program Awards here, I'd better not have game-breaking glitches...just game-breaking Easter eggs. ;)

As for a menu, this time I might not opt for a simplistic one like the 84+ game. I'm actually planning to have a whole stage-like layout for the menus. It'll make sense once I get it done. I'll probably mock up a screenie soon so you know what exactly I'm talking about.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 13, 2016, 04:21:14 AM
Well, we never know. :P Even some Sam Heald/JoeW calc games left out some semi-important checks :trollface: (and still won POTM/POTY)

In my case, though, sometimes in games I ended up implementing funny stuff instead of error checks (such as death), or at least that's what I would do in the future instead of fixing bugs. If for example the Supersonic Ball bug where you can go outside the map had happened often, I would probably just implement death with a funny error message saying you just broke the game :P

Also a menu stage would be cool, as long as it's beatable <_< (as in, level 1 is not impossible to reach)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 13, 2016, 04:42:07 AM
If I make it, it would definitely be completable. It would just have 4 buttons, and an easily reachable exit.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 13, 2016, 04:46:40 AM
Good. I remember MFQT on the 83+ where the start platform was very high, or maybe it was a different game and not on calc.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 19, 2016, 06:46:43 PM
This is the Only Level CE has now been released! Download here (https://www.cemetech.net/programs/index.php?mode=file&path=/84pce/asm/games/TITOLCE.zip), or check the original post.
Title: Re: This Is The Only Level +CE
Post by: critor on December 19, 2016, 08:13:51 PM
Great ! :D

How many levels this time ? :)
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on December 19, 2016, 08:15:44 PM
Quote from: critor on December 19, 2016, 08:13:51 PM
Great ! :D

How many levels this time ? :)
One. There is one level. :P

In all seriousness, this is the finished game, with 30 stages.

As well, it got accepted on ticalc.org (http://www.ticalc.org/archives/files/fileinfo/468/46841.html), and this version actually contains a small update.
Title: Re: This Is The Only Level +CE
Post by: critor on December 19, 2016, 08:20:29 PM
Perfect - so it's planned for a future ticalc.org review, and then for the POTY 2017. ;)

By the way, just to inform you - I just got a reset.
I was using the latest C libraries updated yesterday.

I was at the "Take a break" level, I was - I think - holding several arrow keys...
Then suddenly, the elephant and timer froze... and then the reset happened by itself some seconds later.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 19, 2016, 08:24:10 PM
Hm...I'm not sure what could have caused that. I actually have a version of the libraries from earlier today, maybe that could be it?

Update your libraries, and if you can reproduce it, then show me as soon as possible.
Title: Re: This Is The Only Level +CE
Post by: critor on December 19, 2016, 09:06:56 PM
I can't see a library release for today, or it's just a time zone difference  :
https://github.com/CE-Programming/libraries/releases/tag/v6.5

This time I've used the different program file from ticalc.

I got a similar in-game reset at the "Rabbit power jump" stage.
I was just quickly and alternatively pressing the left and right keys.


Edit : I managed to reproduce the problem on stage 1.
Same method.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 19, 2016, 10:59:09 PM
Huh. That's odd. I haven't been able to reproduce it on emulator or actual hardware. I'm not sure even where the code even might fail due to an out-of-date library, or even the latest.

If this is happening with anyone else, not this just happening with critor, please notify me. Until notified otherwise, I'm classifying this as an isolated incident.
Title: Re: This Is The Only Level +CE
Post by: critor on December 19, 2016, 11:26:10 PM
For the 1st freeze+reset, we could have supposed my calculator was not stable for some reason.

But as I was able to reproduce it 3 times in a row since, and as I have downloaded the C libraries today, I fear it's not an isolated problem.

Try to play with 2 fingers and to 'spam' the arrow keys.
With multiple key press, alternative and simultaneous.

Each time it did crash, I was pressing at least 2 keys.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 20, 2016, 12:05:42 AM
That is completely strange. I am still not reproducing your problem.

Can anyone else try to reproduce this? I am completely unsure where the problem here is. I might chalk this up to a faulty OS or something.

...actually, is your OS on the latest version, too?

EDIT: @MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
Title: Re: This Is The Only Level +CE
Post by: Unicorn on December 20, 2016, 12:23:37 AM
I can't reproduce? Using OS 5.2 and libs downloaded 3 hours ago.

(https://usercontent.irccloud-cdn.com/file/VbbhDIVy/bugs.gif)
Title: Re: This Is The Only Level +CE
Post by: critor on December 20, 2016, 12:26:26 AM
I have the latest 5.2.1 OS.
I highly doubt the calculator is faulty, as it's the one on which I test all CE games.

Here's how to trigger the problem :
http://www.youtube.com/watch?v=kHO-5Yay5Xg

^ This time the crash occurred almost immediately.
But some times, I have to keep on spamming the arrow keys for dozens of seconds - it's random.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 20, 2016, 09:35:59 AM
erm...
you simply mustn't press the butons so fast.
It's no wonder this happens, you confused the pook little elephant.   :(
Title: Re: This Is The Only Level +CE
Post by: critor on December 20, 2016, 09:47:16 AM
I don't press the buttons so fast while playing, of course - it was just an easy way to reproduce the problem. :)

But while playing, depending upon the stage you still press several keys together from time to time - so the crash still happens.
Playing the game normally, it crashed for me on stages 15 and 28.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 20, 2016, 09:50:12 AM
at least we know it's triggered by key presses and not just random crashes - that would make it a lot harder for Unicorn to find the bug >.<
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 20, 2016, 11:53:05 AM
Well, I'm pretty sure the problem is that I'm reading from the keyboard too much, but I'm not sure how to correct this enough to make it unable to crash like this. I'm hoping Mateo can figure something out, so I can update as soon as possible with a fix.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 20, 2016, 11:58:45 AM
if it's events triggered by the key listener, maybe insert a 10ms pause? (only guessing here, I dont know your code nor the language >.<)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 20, 2016, 12:07:19 PM
I'm sure the drawbacks of that would outweigh the benefits.

I need a Christmas miracle for this :P .
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: MateoConLechuga on December 20, 2016, 04:29:14 PM
I reworked your code and did a few optimizations and fixed some bugs. I no longer can make it crash; can anyone else?

Download: https://usercontent.irccloud-cdn.com/file/rxrou2wd/TITOLCE.zip
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 20, 2016, 05:06:59 PM
Works for me. The current download links should be updated within a day.
Title: Re: This Is The Only Level +CE
Post by: critor on December 20, 2016, 05:39:49 PM
Quote from: MateoConLechuga on December 20, 2016, 04:29:14 PM
I reworked your code and did a few optimizations and fixed some bugs. I no longer can make it crash; can anyone else?

Download: https://usercontent.irccloud-cdn.com/file/rxrou2wd/TITOLCE.zip

Thank you Mateo :)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: MateoConLechuga on December 20, 2016, 06:26:16 PM
Quote from: JWinslow23 on December 20, 2016, 12:05:42 AM
@MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
Well, idk really because TI makes it orders of magnitude more difficult than it should be. However, might be able to just use these defines for now while I work on making it a nice little structure or something. Note that years are weird; you cannot set them directly. However, these may work fine if you are just reading the values -- I haven't tested enough, but it seems right.

#define os_Years  (*(uint24_t*)0xD177CF)
#define os_Months (*(uint24_t*)0xD177DB)
#define os_Days   (*(uint24_t*)0xD177D8)


You can just use rtc_Hours, rtc_Minutes, rtc_Seconds for the other things.
I'm actually not sure how TI treats days. May be better to just use rtc_Days.
Title: Re: This Is The Only Level +CE
Post by: critor on December 20, 2016, 07:01:31 PM
Just made a TAS of TITOLCE with CEmu, in 5:25.37.

Enjoy :
https://www.youtube.com/watch?v=pAfvmHVjo3s
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 20, 2016, 08:42:05 PM
great choice of music, its really perfect for this game xD ;D
But I think it would look better if in the "keep hitting it" level, the door would open up like 2px every time you hit it ^^ :)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 20, 2016, 10:47:19 PM
@p2 that might not be a bad idea! It wasn't in the original game, but that would probably look better (and give you more of a clue how to beat the stage). However, I'm not sure if it'll look weird that, say, 4/5 of the door is open but you can't go in.
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 20, 2016, 11:01:08 PM
maybe you could make it like slowing the elephant down very much when the door isnt completely open? :)

closed door = 0 speed
...?
open door = max speed
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: MateoConLechuga on December 21, 2016, 05:48:34 AM
Quote from: JWinslow23 on December 20, 2016, 12:05:42 AM
@MateoConLechuga , in CE C, how do you get the current year, month, day, hour, minute, and second on the CE clock in the MODE menu? The demo isn't making it clear.
I cleaned up the toolchain and added API functions to easily set/get the date and time. See boot_GetDate for example in tice.h :)

https://github.com/CE-Programming/toolchain/releases/latest
Title: Re: This Is The Only Level +CE
Post by: critor on December 21, 2016, 05:41:49 PM
But, but... Elephants never forget, do they ? :P
(https://tiplanet.org/forum/gallery/image.php?mode=thumbnail&album_id=5&image_id=7575) (https://tiplanet.org/forum/gallery/image_page.php?image_id=7575)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 21, 2016, 05:55:12 PM
Updated with bugfixes and Easter eggs.

(http://i.imgur.com/mzMrmt1.gif)

File should update itself by the end of the day, December 21.
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 21, 2016, 10:46:25 PM
I can't wait to try it. Also nice light effect :D

EDIT: I don't know if ticalc has the latest version @JWinslow23 but the easter egg you mentioned to me on WalrusIRC earlier does nothing. I pressed the key on the menu at the title screen or in game, on every menu option, and nothing special happened. :(
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 21, 2016, 10:55:03 PM
is this a replacement//update for the formerly completely black level I saw in the video? really nice!! :) but maybe you also want to make the thing blocking the door visible? :)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 21, 2016, 11:05:43 PM
How do you beat lv 15 by the way? Online walkthroughs for the original game says to click the tutorial link in the game at the bottom of the screen, but there's no tutorial in the calc version ???
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 21, 2016, 11:08:00 PM
in the video (https://codewalr.us/1588/49615) it looks lie he's restarting the game... ???
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 21, 2016, 11:09:34 PM
Oh I see now. I was exiting the level with CLEAR but without quitting the entire program. I was worried this would reset my save x.x

I also stopped moving in the stage for 1 minute both off the switch and on, to no avail. Anyway thanks :3=
Title: Re: This Is The Only Level +CE
Post by: JWinslow23 on December 21, 2016, 11:12:39 PM
Quote from: DJ Omnimaga on December 21, 2016, 10:46:25 PM
I can't wait to try it. Also nice light effect :D

EDIT: I don't know if ticalc has the latest version @JWinslow23 but the easter egg you mentioned to me on WalrusIRC earlier does nothing. I pressed the key on the menu at the title screen or in game, on every menu option, and nothing special happened. :(
Must not be the latest version then. I did update, you should probably wait a day.
Quote from: DJ Omnimaga on December 21, 2016, 11:09:34 PM
Oh I see now. I was exiting the level with CLEAR but without quitting the entire program. I was worried this would reset my save x.x

I also stopped moving in the stage for 1 minute both off the switch and on, to no avail. Anyway thanks :3=
Yeah, why do you think I save an appvar called TITOLCE? It wouldn't be not to use it!
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 22, 2016, 06:32:46 AM
Well, about TITOLCE appvar, when I reached the secret after beating the game, the level description was cryptic and when I ran out of ideas I just deleted the appvar in case something special happened (eg self-modifying code), only to find out it didn't do anything :P (other than resetting my game to level 1 of course, but we never know lol)

Also I like the :walrii:

(https://img.codewalr.us/walriititol.png)
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 22, 2016, 12:19:48 PM
yesss right you need a special walrus costume ^.^  :thumbsup:
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: JWinslow23 on December 22, 2016, 12:31:23 PM
Thanks! I worked hard to get a walrii to fit in an 11x11 square (he may be cute, but he's chubby 9_9 ).
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on December 22, 2016, 06:42:08 PM
I like it personally :D
Title: Re: [TI-84+CE] This Is The Only Level +CE
Post by: p2 on December 22, 2016, 06:55:18 PM
iirc we once already had a mini walrus ^^ but Im not sure if it was 11x11px xD anyways it looks cute ^^ ond of cause it looks a bit chubby, what did you expect from 11x11pic pixelart? ;)
Title: Re: This Is The Only Level +CE
Post by: Dream of Omnimaga on January 02, 2017, 03:22:15 AM
It was 8x8 actually, but JWinslow23 had a 8x9 one in the Atari 2600 version of Wal-Rush! and I had another 8x8 one but Jwin's looked better :P