Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: simplethinker on November 20, 2008, 10:50:08 pm

Title: Chip's Challenge
Post by: simplethinker on November 20, 2008, 10:50:08 pm
Since I've never actually released a program despite being active in the calculator community for almost 4 years :-\ I've decided that I should probably do something.  Chip's Challenge (http://takegame.com/arcade/htm/chipschallenge.htm) is an old tile-mapped puzzle game which follows Chip's quest to get out of some crazy lady's labyrinth.

It'll be a port for the 83+ series in grayscale using xLIB.  The project is in its very early stages but I've already run into a slight problem  :o, so I might as well announce the project anyways.  I don't have much experience with xLIB so please bear with me.

I'm having trouble getting the main sprite to resemble anything when the background tile isn't blank.  I've looked through some tutorials and the closest thing I've found directly addressing this problem is (amazingly) here (http://tibasicdev.wikidot.com/68k:sprites).
This is a screenshot.  Notice what happens when he enters the water and ice.
(http://i219.photobucket.com/albums/cc143/drumbboi/screenie.gif)
(The sprites I'm using right now aren't in grayscale and are just temporary so I can work on to other things.)
How would I mask the sprite so it looks decent when he's in water/on ice?

Right now I'm focusing on modifying the scrolling engine from my map editor to work with xLIB tile-maps and I'll post anything once I make some real progress on this. ;D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 21, 2008, 10:14:15 am
This is nice, I am curious how it will turn out with grayscale :)

To mask sprite underwater it might pose a problem. Usually I just draw it anyway but then it might still be visible a bit. You could always have a different sprite be drawn when he's underwater but it might slow things down. How many levels of gray are you planning to use?

Also the screenshot looks a bit distorted, Idk if it's the forums, but you might have specified a specific size and the forums resized it this way x.x
Title: Re: Chip's Challenge
Post by: simplethinker on November 21, 2008, 10:52:27 am
This is nice, I am curious how it will turn out with grayscale :)
Thanks ;D I really haven't done anything in grayscale so it'll be a while before there's any significant progress towards looking like the real game.

Quote
To mask sprite underwater it might pose a problem. Usually I just draw it anyway but then it might still be visible a bit. You could always have a different sprite be drawn when he's underwater but it might slow things down. How many levels of gray are you planning to use?
I'm planning on just 3 level gray (white, gray, black), but if it's not too slow I might try 4 lvl.  I attached a picture showing Chip on different tiles from the original game.  There's water, fire, ice and force floors (force him to slide).  I can make a different sprite for when he's in water, but for the others it looks like overlaying him on the tile would be best.

Quote
Also the screenshot looks a bit distorted, Idk if it's the forums, but you might have specified a specific size and the forums resized it this way x.x
The screenshot I took was too small so I scaled it to look bigger.

[edit]  I'm thinking about using Celtic III for its string tile-mapper.
[another edit]  Darn, it doesn't look like Celtic III is complete enough :(
Title: Re: Chip's Challenge
Post by: metagross111 on November 21, 2008, 08:34:22 pm
it looks pretty good right now.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 21, 2008, 11:45:27 pm
i love these tiles, and I would recommend against using Celtic until the entire game is finished because developpement was halted for an undetermined amount of time and it still has some issues. I myself got display glitches with Super Mario Smash Dance, Metroid II: Evolution/Expansion, Bowling and Project Omega Race Ngine
Title: Re: Chip's Challenge
Post by: calc84maniac on November 22, 2008, 01:19:27 am
I was going to make Chip's Challenge in 8-level grayscale (in ASM of course) for the last Cemetech contest, but all the progress I made on that was the actual grayscale engine. :P Good luck on yours, though!
Title: Re: Chip's Challenge
Post by: simplethinker on November 22, 2008, 12:36:49 pm
Thanks ;D

i love these tiles, and I would recommend against using Celtic until the entire game is finished because developpement was halted for an undetermined amount of time and it still has some issues. I myself got display glitches with Super Mario Smash Dance, Metroid II: Evolution/Expansion, Bowling and Project Omega Race Ngine
Yeah, after I posted that I went to the progress post on UTI.  I downloaded the latest version and it was a bit buggy.
Title: Re: Chip's Challenge
Post by: Speler on November 23, 2008, 10:13:47 am
I love this game :D.
Title: Re: Chip's Challenge
Post by: simplethinker on November 23, 2008, 01:30:13 pm
Would anyone be interested in creating the sprites/tiles for this?  My attempts so far have been a bit frightening :o  The sprites should be 8x8.  I'm planning on 3 layer grayscale, but if it looks like grayscale isn't necessary for a reasonable amount of detail I might consider just black and white.
I've attached a chart with the black & white sprites from the original game, but since they're 32x32 anything resembling them in 8x8 would be fine.  For the buttons (5th row from the top) the reasons for the "+", "T" and little arrow are to distinguish between what would be colors, so any other way to distinguish them would work.
Any help would be appreciated ;D

[edit] Okay, I've got doors+keys, picking up chips, and the winning conditions done so far.  Next up are the movable blocks, water, and fire.  Once I figure out what to do for the timer I'll organize the HUD.  Here's the first level (still black & white sprites):
(http://i219.photobucket.com/albums/cc143/drumbboi/chipScreenie1.gif)
[another edit] Wow, the movable blocks were way easier than I thought.  Got that done...
Title: Re: Chip's Challenge
Post by: TIfanx1999 on November 24, 2008, 12:49:10 am
Perhaps you should just stick with black and white, it looks fine that way, and grayscale will slow it down. :) I'll see if i can fiddle with some of the sprites.
Title: Re: Chip's Challenge
Post by: metagross111 on November 24, 2008, 07:28:09 am
ill have a go at those sprites as well.
Title: Re: Chip's Challenge
Post by: tifreak on November 25, 2008, 10:16:59 am
I noticed you said in the pokemon battle thread that the data for each level is 9kb. Is that correct? How are you storing the data? If it is just matrices, you could utilize Celtic2 to simply keep the data in Archive, and read the information right from there. Might be something to help you out. :)
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 25, 2008, 01:19:42 pm
the maps must be friggin huge if it's 9 KB O.O. DO you mean 9 KB for the programs where the matrice is stored with or 9 KB when in matrix form?
Title: Re: Chip's Challenge
Post by: simplethinker on November 25, 2008, 01:58:43 pm
Whoops, I meant 9kb for the matrices.  I forgot that the size of the command storing it's less than the size of the matrix (I was freaking out when I first looked at the size of a matrix :o).  This will make things a bit easier (I might even be able to fit 2 lvl's worth of data into one program), thanks for catching that!
The maps are at most 32x32 (at least up so far as I've played).  The file size for using one program per level's data: with a 6 byte name (prgmZLVLFF), a 32x32 matrix with at most 2 digits per element, initial chip count 3 digits, and starting location 5 bytes for a total of 3136 bytes.  I won't know how the enemy data will impact this until I figure out how I'll be managing that part  (some behavior is level-specific and some is generic).  It looks like I could cut another 1kb out if I store the map as a string and then convert it into a matrix at initialization, but that would significantly increase level initialization time.
I'll probably be using Celtic II for reading level data.
Title: Re: Chip's Challenge
Post by: metagross111 on November 25, 2008, 02:37:47 pm
so, what does celtic2 do?
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 25, 2008, 02:48:01 pm
It pretty much mostly do the ability  of grabbing commands from a program and copying them into a string, which, afterward, you can copy into an APPVAR or a program. This means you could basically have an entire RPG in maybe two files since all subroutines would be into one program. It's a bit challenging to use though.
Title: Re: Chip's Challenge
Post by: metagross111 on November 25, 2008, 02:58:16 pm
can it grab commands from an archived prog?
Title: Re: Chip's Challenge
Post by: tifreak on November 25, 2008, 07:23:32 pm
Yes, Celtic2 will read directly from an archived program or app. :) That is why now all the pokemon sprite data (something like 16kb) is now in just one program, with not one single If command in it.
Title: Re: Chip's Challenge
Post by: simplethinker on November 25, 2008, 07:38:31 pm
Celtic2 reads a single line from a program, right?  So if the data for each matrix is ~3kb, I could fit 7-8 per program.  Using Celtic2 it would give me a 3kb string, converting to a matrix (using expr) 9kb in size, so at most I would have 12kb in use at one time (well, I would delete the string after I use it), leaving me with 12kb RAM for the engine.  Wow, I just might not be as RAM-cramped as I thought!
Title: Re: Chip's Challenge
Post by: metagross111 on November 25, 2008, 07:44:46 pm
interesting...
Title: Re: Chip's Challenge
Post by: simplethinker on November 25, 2008, 08:19:31 pm
It's an incredibly powerful tool for managing large amounts of data, but it takes practice figuring out how to use it most efficiently.
Title: Re: Chip's Challenge
Post by: metagross111 on November 25, 2008, 09:00:26 pm
yes, it sounds somewhat complicated
Title: Re: Chip's Challenge
Post by: simplethinker on November 25, 2008, 09:10:56 pm
It's not really complicated, but it can be misused (as in making an overly-complicated SMC routine using Celtic that was slower than using function vars...).  It only has (up to) 4 arguments.
theta:  Function # you want to use (0-6)
Str0: The name of the program/appVar you want to read/write.
Str9: The Text you want to write.  As output it's either the line you wanted to read or the error code.
Ans: The line # you want to read/write/insert.
That's it, no crazy 20-argument commands or 16kb app ;D (not to bash things like xLIB and Omnicalc)
Title: Re: Chip's Challenge
Post by: Madskillz on November 25, 2008, 10:53:24 pm
hey looks great cant wait to see how everything turns out. Did you get the masked sprite thing to work?
Title: Re: Chip's Challenge
Post by: simplethinker on November 25, 2008, 11:04:53 pm
Thanks :)
Actually, I haven't touched the chip-on-other-tiles part yet.  I'm working on the engine right now and I'm hoping this little break from staring at the screen pixel-by-pixel will give my subconscious a chance to fix the problem ::) (actually, my brain does work that way)
Title: Re: Chip's Challenge
Post by: metagross111 on November 26, 2008, 09:28:34 am
chip, i worked on those sprites and im afraid they were really ugly for 8*8.

i guess i dont have the talent for anything that small.
Title: Re: Chip's Challenge
Post by: simplethinker on November 26, 2008, 12:07:25 pm
chip, i worked on those sprites and im afraid they were really ugly for 8*8.

i guess i dont have the talent for anything that small.
Same here.  I think my standards are too high for the sprites I'm making.
Title: Re: Chip's Challenge
Post by: deeph on November 26, 2008, 04:54:53 pm
Hi,

I've just made those tiles but I don't know if they are good enough :

(http://www.mirari.fr/Na7I) (http://www.mirari.fr/Q8cc)

I think some of them could be redraw.
Title: Re: Chip's Challenge
Post by: metagross111 on November 26, 2008, 05:10:10 pm
hey! nice, deeph!
Title: Re: Chip's Challenge
Post by: simplethinker on November 26, 2008, 05:20:32 pm
These are great! Thank you ;D
Title: Re: Chip's Challenge
Post by: simplethinker on November 28, 2008, 10:13:38 pm
Update time!  I'm done with programming all the items as well as the water, ice, force, and fire tiles.

Next up is the behavior of movable blocks on ice/force/fire and then implementing switches (with lots and lots of optimization spaced throughout).  After that are the enemies and the timer, followed by redesigning the HUD (to make it look pretty with the timer), lots and lots more optimization, transferring 150 levels to the calculator, more optimization, get guinea pigs for testing, fixing the many major flaws that will undoubtedly be found, optimize......

@ deeph: Thanks for the sprites and tiles.  The fire tile, suction boots, flippers, fire boots need a bit of tweaking (I'm sorry if I sound rude, I'm really bad at phrasing things correctly with only text.  I appreciate your work ;D)

@ anyone who's written a massive BASIC game before:  For the algorithm used to determine the player's next spot when there's a lot of tile-induced movement (like sliding on ice, tiles that push you in a certain direction) along with user input, does ~250 bytes seem big?  (This doesn't include the action once it decides where you will be moving)

Here's a screenie of level 3
Title: Re: Chip's Challenge
Post by: metagross111 on November 28, 2008, 10:27:53 pm
nice job so far! it looks great! i do offer myself up as your humble guinea pig. also, no. im doing pokemon, and 250 bytes is enough for half an attack effect. if you can fit a mechanic so necessary in that much space, then go for it. optimize as you can, if you wish.
Title: Re: Chip's Challenge
Post by: simplethinker on November 28, 2008, 10:36:58 pm
nice job so far! it looks great! i do offer myself up as your humble guinea pig. also, no. im doing pokemon, and 250 bytes is enough for half an attack effect. if you can fit a mechanic so necessary in that much space, then go for it. optimize as you can, if you wish.

Thanks :)

I'm not quite at the guinea pig state yet since, in order to help me organize/figure out where to stick stuff, there are a few snippets so poorly coded that I would be embarrassed to show my face anywhere associated with programming for months if they were to get out :-[

250 bytes is short compared to some of my other algorithms, but 250 for the sole purpose of determining left/right/up/down seems excessive :o (though I should probably take into account the fact I've never written a movement routine with so much going on).
Title: Re: Chip's Challenge
Post by: metagross111 on November 28, 2008, 10:43:43 pm
can i see that particular code? or is that against your moral fibre?
Title: Re: Chip's Challenge
Post by: {AP} on November 28, 2008, 10:55:03 pm
I've mastered movement routines.
For example, mine for Nyaar is a little under 100 bytes.
Of course, this is JUST for moving and determining if you can move to that spot.

With the map and sprite rendering plus the scrolling it's 185 bytes exactly.

So, what I'm saying is... let me see the code and I'll be able to help you.

(EDIT: Added bonus... have you seen the speed of it? =D)

P.S. Sorry if I sound like I'm bragging. >_<
I actually just want to help.

(EDIT2: Now that I think of it... I wouldn't know how to implement moving enemies into this system. Well, I have an idea... but I don't feel like testing it out.)
Title: Re: Chip's Challenge
Post by: simplethinker on November 28, 2008, 11:36:00 pm
Since there is tile-induced movement with varying dominance over user input I calculate the direction/change in position and leave determining if the new spot can be moved to to another subprogram, currently 283 bytes and I'm estimating another 200 bytes after I implement switches.

N=tile currently on
D=direction (-1=left, 1=right, -.01=up, .01=down)
L3(6)=ice skates yes/no
L3(7)=suction boots yes/no
K=key press (using xLIB's getKey)

N between 21 and 25 are ice tiles, so '2<abs(N-23' is true when it's not an ice tile.
If you land on a regular ice tile (N=21) you continue in the direction you stepped on it.  The others are curved and redirect you depending on how you come at it.  My name for them is "ice NW/NE/SW/SE" depending on the corner it's in.  For ice NW: if your direction is 'up' it changes it to 'right', if your direction is 'left' it changes to 'down',  and so on for NE/SW/SE.

N between 17 and 20 are force tiles.  They push you in a certain direction, but you have limited control over Chip (you can move off to the side, but not directly against how their pushing you).  20=right, 19=left, 18=down, 17=up

Here's the code for determining 'D'.  I have the 'If:Then:End' statement to increase speed even though they're adding about 10 bytes (I did speed tests to confirm they help).  It's only 164 bytes now, but I'm estimating another 90-100 bytes for when I add in the semi-bordered floors and switch tiles.
Code: [Select]
:If L3(6) or 2<abs(N-23:Then
:(K=3)-(K=2)+E-2((K=1)-(K=4→D
:If not(L3(7
:D+(N=20)-(N=19)+E-2((N=18)-(N=17→D
:Else:ND
:D+1.01((Ans=-.22 or Ans=-22)-(Ans=.25 or Ans=25))+.99((Ans=-24 or Ans=.24)-(Ans=23 or Ans=-.23→D
:End
(E-2 is the little E to the -2 power, ie .01)

Enjoy ;D
Title: Re: Chip's Challenge
Post by: {AP} on November 29, 2008, 12:11:19 am
Since you do need direction... from what I can see, you're doing fine.
I had forgotten about the tiles you can only enter from one direction and the teleport tiles.

You did it better than I would have.
Direction is nothing I ever needed to (or wanted to) bother with.
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 12:40:04 am
P.S. Sorry if I sound like I'm bragging. >_<
I actually just want to help.
Nyaar is an accomplishment that deserves to be bragged about! ;D

Quote
(EDIT2: Now that I think of it... I wouldn't know how to implement moving enemies into this system. Well, I have an idea... but I don't feel like testing it out.)
Why did you have to remind me the enemies are moving.  I've had such a good day so far :(.  It's gonna be a freakin' pain, and there are at least 5 levels I might have to leave out because the massive number of enemies to keep track of would probably make the calculator shoot sparks and explode :o :boom: (that's another smiley we're missing, the exploding one)

Quote
Direction is nothing I ever needed to (or wanted to) bother with.
Once you get the hang of it it's pretty simple (although getting the hang of it is the hard part).  I had to try about 4 different ways to group the tests to get that last little 76 byte gem (it starts 'D=1.01...').  There is a tiny little bug, which could potentially give someone a small advantage, that would require a complete rewrite of the code in the program that determines if the tile can be moved onto as well as cause a major speed loss, so I already have my first nearly useless easter egg.

[edit] @{AP}: What is your avatar?  Is that a whale flying in and landing on/squishing a little puppy?
Title: Re: Chip's Challenge
Post by: Silver Shadow on November 29, 2008, 01:49:52 am
[edit] @{AP}: What is your avatar?  Is that a whale flying in and landing on/squishing a little puppy?
Actually, I think it's a sea lion that jumps from behind the rocks. Correct me if I'm wrong...
Title: Re: Chip's Challenge
Post by: {AP} on November 29, 2008, 02:24:04 am
It's supposed to be a seal.
Though, yes... it's doing what it looks like it's doing.

Explanation:
http://www.newgrounds.com/portal/view/435047
Title: Re: Chip's Challenge
Post by: deeph on November 29, 2008, 03:51:09 am
simplethinker > Yeah, those tiles looks really bad in 8x8, I think yours are better.

edit : Don't you think it'll be better if you don't xor the player's sprite ?
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 29, 2008, 03:57:26 am
wow looks nice so far, tiles looks pretty sweet, keep up the good work!
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 12:06:08 pm
Thanks ;D

simplethinker > Yeah, those tiles looks really bad in 8x8, I think yours are better.

edit : Don't you think it'll be better if you don't xor the player's sprite ?
I'm using mostly your tiles, but level three doesn't have any switches, gravel or enemies so it doesn't show them.  For the boots and fire tile I'm just using 'Fi', 'fi', 'fo', 'w' as place holders.  Yours are way better than what I had :) and you're still gonna be close to the top of the credits if/when I get this game done.

Right now I'm just using 'or' since 'xor' looks worse.  Eventually I'll be using different sprites depending on the tile it's on, but right now I'm using one sprite.
Title: Re: Chip's Challenge
Post by: deeph on November 29, 2008, 01:00:43 pm
Maybe with a mask it can be better (just xor it before put the sprite) :

(http://www.mirari.fr/5t7u)

Or I think xor a white square before xor the sprite will have the same effect.
Title: Re: Chip's Challenge
Post by: {AP} on November 29, 2008, 01:09:09 pm
No... you 'and' the mask and then you 'or' the sprite.
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 01:20:55 pm
I'm going to have to spill over onto a second picture anyways so I'll probably have different sprites depending on the tile Chip is on.  All that should change is that instead of the sprite's location in the picture being constant it'll be dependent upon the variable N, which is already in use in my program.

Thanks for showing me how to mask sprites though ;D
Title: Re: Chip's Challenge
Post by: {AP} on November 29, 2008, 01:42:46 pm
Who knows, might be helpful for creatures or your next project. =P
Title: Re: Chip's Challenge
Post by: deeph on November 29, 2008, 01:46:55 pm
Sorry, I was sure that masks only works with xor :P
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 01:50:41 pm
No problem ;D  And yes, I'm sure there will be a need for masks somewhere in this game.
Title: Re: Chip's Challenge
Post by: {AP} on November 29, 2008, 02:21:34 pm
(http://img513.imageshack.us/img513/1954/maskingmd6.gif)
Top: XORing the mask and sprite
Middle: AND the mask and OR the sprite
Bottom: OR the sprite on the tile (what simplethinker is doing now)

It's funny that the bottom 2 are the same. Not the case for all creatures and bg tiles though.
Title: Re: Chip's Challenge
Post by: bfr on November 29, 2008, 03:14:03 pm
That screenshot (on the other page) looks pretty nice.

Chip's Challenge was actually one of my favorite games years ago (I think it came on a Windows 95 computer I used to have)
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 03:24:58 pm
That screenshot (on the other page) looks pretty nice.

Chip's Challenge was actually one of my favorite games years ago (I think it came on a Windows 95 computer I used to have)
Thanks ;D

It came on a computer I had (might have been win95) and was the first computer game I ever played.  I accidentally deleted it (never tell a 6 year old playing in DOS is fun) but I finally came across it a few weeks ago.  I figured that my difficulty with it was the fact I was 6, but even now (12 years later) some levels take a few dozen tries :o
Title: Re: Chip's Challenge
Post by: metagross111 on November 29, 2008, 05:40:57 pm
it came on windows? i thought it was an original game.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 29, 2008, 06:51:41 pm
Oh it's from a Microsoft software? I'M never gonna play this calc game, then.

J/k I don't mind lol I use Windows and in some rare occasions IE too. Nice job so far
Title: Re: Chip's Challenge
Post by: simplethinker on November 29, 2008, 07:03:16 pm
Oh it's from a Microsoft software? I'M never gonna play this calc game, then.

J/k I don't mind lol I use Windows and in some rare occasions IE too. Nice job so far
It's from before Microsoft's monopoly gave it the potential for world domination. j/k
What's wrong with using IE?  I need to know my anti-virus software is working and what better place to get viruses than IE?

Wikipedia says it was originally designed by Chuck Sommerville.  It was included in Microsoft's (again, before the whole "evil international corporation bent on world domination" thing) "Microsoft Entertainment Pack" and "Best of Microsoft Entertainment Pack".  I'm pretty sure it came preloaded on my old computer.  This is just a guess, but maybe it's sort of like PuzzlePack being preloaded on TI calculators even though Detached Solutions is the company who wrote it.

Wikipedia also says it was ported to gameboy too...
Title: Re: Chip's Challenge
Post by: JonimusPrime on November 30, 2008, 08:47:18 pm
I have a copy of the "Microsoft Entertainment Pack" 1-4 along with Bob's House and a few other M$ goodies. I keep them all on my flash drive in case I'm feeling nostalgic.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on November 30, 2008, 09:01:53 pm
I don't use IE much because that's pretty much from the only browser where I got full of viruses. On Opera I only got any from downloading files, not the sole action of visiting sites. Even with the antivirus it's still a challenge to not get viruses on IE when you want to visit any kind of website including NSFW stuff. I still use it whenever a website is only operational in IE, though, like most companies websites.

One game that was cool on Windows back then is Hover. It was included with Windows install if I remember but now it's no longer the case. It still works fine though if you can find it through google.
Title: Re: Chip's Challenge
Post by: simplethinker on December 01, 2008, 08:19:37 am
Well, I have some bad news :( (a lesson on the dangers of announcing projects too early).  Remember when I said a few posts back that there are a few levels I would have to leave out because of the insane number of enemies?  That number has now grown to over 1/2 (I'm playing the computer version and I'm at level 90 now) and I expect when I get to higher levels it will eventually reach 2/3.  The problem isn't really the number of enemies that start, but the "clone machines" make the number of enemies highly variable since they provide an unlimited number of enemies.  I was thinking I could handle 10-15 enemies at once, but looking at many of the levels it wouldn't be a stretch to assume 100+ at once is easily reached :o :o

This leaves me with three options:
1) Keep going and trying to be as close to the original as possible even though ~2/3 of the levels would be gone.
2) Keep going but don't try and model the levels after the original and create my own with little to no enemies (poorly designed levels too probably).
3) Scrap the project.  I could potentially use the engine I have so far for another puzzle-type game though.

Title: Re: Chip's Challenge
Post by: deeph on December 01, 2008, 12:52:16 pm
Don't stop it, I think in all case you'll not have enough memory to put all the originals levels. Just choose those which can be easily made.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 01, 2008, 02:27:12 pm
I don't think you should stop. Since it's just a calculator it doesn't have to be exactly like the original, you can simply include less levels and less enemies at once to keep the game at decent speed. I won't mind playing the game if it has less stuff than the original, almost all calc games are like this and it will still be fun to play anyway
Title: Re: Chip's Challenge
Post by: simplethinker on December 01, 2008, 03:23:39 pm
Yeah, I wasn't thinking too seriously about dropping it altogether.  I got the first dozen or so levels so freakin' close to the original and then as I was working on the higher levels I realized I wouldn't be as accurate as the first ones, it kinda bummed me out :( (well, bummed me out a lot).

Thanks for the encouragement ;D
Title: Re: Chip's Challenge
Post by: metagross111 on December 01, 2008, 05:19:02 pm
so...wait...its already programmed to the point that you can play it?
Title: Re: Chip's Challenge
Post by: simplethinker on December 01, 2008, 07:18:08 pm
The first few levels.  I don't have the enemies implemented yet (well, working decently yet).  I've posted screenies showing playing through levels 1 and 3.
Title: Re: Chip's Challenge
Post by: metagross111 on December 01, 2008, 08:48:58 pm
cool
Title: Re: Chip's Challenge
Post by: simplethinker on December 02, 2008, 10:40:12 pm
Good news this time!  I fixed another really annoying (and another cause for being seriously bummed-out) problem.  The green switches toggle special walls on and off.  I was having trouble figuring out how I would do this.  I was thinking I would have to iterate over all of them, meaning I would have to keep track of them (meaning a whole lot more memory usage) and they usually come in groups of 20-30, thus really slow (cue jeopardy music...), then it hit me.  Why change the state of the tile when you can change the tile itself?  I just use another pic filled with the same tiles except the toggle walls are switched.  Whenever the button is pressed I can put that pic into Pic1 (the pic I use for sprites) and just set a variable so I know they're switched (and the I can undo it too :)).  All of the walls appear switched, and since I'll be keeping track of the change there won't be a problem with movement routines!

This problem has been worrying me almost as much as the enemies were, so my morale is back up ;D ;D
(If you can't tell I'm reeeeeally happy about this :D)

[edit] ;D ;D  That makes 6 happy faces out of 5 ;D (now 7/5...)
Title: Re: Chip's Challenge
Post by: metagross111 on December 02, 2008, 11:15:02 pm
:):):):)/5

4 happy faces out of five. you're happy. lol
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 02, 2008, 11:20:00 pm
Nice :)
Title: Re: Chip's Challenge
Post by: simplethinker on December 05, 2008, 09:45:55 pm
Okay, I'm almost finished with implementing movable blocks, but the rest needs to wait until I'm done reordering my sprite pics.  I've attached a screenie (a portion of level 87 in the original game) showing the toggle walls, what happens when you move blocks on/off of the switches and toggled walls (the blocks on them, that is).  The rest of the switches should easily follow from this and soon I might be able to add enemies into the main engine :)
Right now I have to go back and redo some of the parts of the main engine since I finally realized that BASIC isn't an OOP language (it took me long enough... :D).
Title: Re: Chip's Challenge
Post by: metagross111 on December 05, 2008, 09:56:45 pm
OOP language?
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 05, 2008, 10:05:16 pm
this looks greater and greater, keep up the good work!
Title: Re: Chip's Challenge
Post by: simplethinker on December 05, 2008, 10:24:53 pm
Thanks ;D

OOP language?
Object oriented programming. (http://en.wikipedia.org/wiki/Object-oriented_programming)

I removed the grid in the background (it may have been in the original, but with 8x8 sprites its a bit hard on the eyes :o).  Some tiles still need tweaking (like the normal tiles right next to water, hard to see), but I think it looks better (thanks to metagross111 for pointing that out to me).

[edit]I just realized I messed up the "Chips" display, but I'm too lazy to record another screenie.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 06, 2008, 02:27:01 am
i like it better this way, but I think you should have something to separate the HUD from the rest like a bar or have it so the text is white on black
Title: Re: Chip's Challenge
Post by: simplethinker on December 06, 2008, 08:59:12 am
i like it better this way, but I think you should have something to separate the HUD from the rest like a bar or have it so the text is white on black
I forgot about that part :) (another missing smiley: slap head)

White on black might look good.... Too bad I have an 8 hour math competition today ;D ;D ;D (it'll be soooo much fun!!!).  I might even get in the top 100 (which is a score of ~14%).

Hopefully my brain won't be hemorrhaging too much to prevent any progress tomorrow :o
Title: Re: Chip's Challenge
Post by: metagross111 on December 06, 2008, 09:22:03 am
heh. it does look better ^_^

also, did i just see Mr. Anders----, I mean, Chip, push a box into the water to make a path?

interesting puzzle mechanic. i thought it was underused in peggle.
Title: Re: Chip's Challenge
Post by: simplethinker on December 06, 2008, 06:49:58 pm
When blocks are moved into water they turn to dirt, which turns to floor when you walk on it.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 06, 2008, 07:47:58 pm
Nice :)
Title: Re: Chip's Challenge
Post by: kalan_vod on December 09, 2008, 04:18:43 pm
Well I wanted to stop in to say hi, and I am happy someone it working on chips!
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 09, 2008, 04:29:07 pm
Heya nice to see you around still. :) Yeah I'm happy to see someone doing it again. I saw a lot of Chips projects before but Idk if any were finished. This xLIB one is almost asm-like. I wish I got a 84SE to play it to full potential
Title: Re: Chip's Challenge
Post by: simplethinker on December 09, 2008, 06:43:29 pm
Heya nice to see you around still. :) Yeah I'm happy to see someone doing it again. I saw a lot of Chips projects before but Idk if any were finished. This xLIB one is almost asm-like. I wish I got a 84SE to play it to full potential

Thanks guys ;D

There have been other Chip's Challenge projects?  Before I started serious work on this game I looked around and couldn't find anything else.

The computer that has Wabbit/PTI is currently in use by my sister, so I'll post my progress/update when it's free.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 09, 2008, 08:20:50 pm
Well i still remember one from Jedd on United-TI and on MaxCoderz I think but that was about 5 years ago. Besides that it was mostly new projects but I think they were never finished or they were always passed over to someone else.
Title: Re: Chip's Challenge
Post by: kalan_vod on December 09, 2008, 11:30:37 pm
After Jedd it was me, and then he came back and saw what I had done and left since I was making progress. I am wondering how you are going to do enemies, as that is what made me stop working on mine >.>..

On my site (http://kalanrock.us/projects/chips.html)

And the updated SS from Febuary 2007:
(http://group.revsoft.org/aaaa.gif)

and

(http://group.revsoft.org/aaa.gif)
Title: Re: Chip's Challenge
Post by: simplethinker on December 10, 2008, 08:47:04 pm
Wow, it looks great!  Is this asm or BASIC?

As for enemies, I'm still working on that.  The flying star-things, rockets and balls should be fairly simple (but still not in large numbers, since that might make the calculator explode :o).  The star-things and rockets move in a straight line until they hit an object, then they turn right/left.  The bouncy balls move in a straight line but turn around when they hit something.  I'm planning on having a list with the locations and another with the directions of movement.  I'll add them together, but when the new location isn't walkable I'll alter the direction list component.  Then I'll just loop over and display them.  Since the calculations are done in one chunk I don't think having many should slow it down a lot, just the displaying part.

These are just the thoughts going through my head right now, so it could turn out to be something completely different.  And if it turns out that enemies slow it down too much I might just not have any, since there are a lot of levels without them and others could be modified to still be a challenge without enemies.
Title: Re: Chip's Challenge
Post by: kalan_vod on December 10, 2008, 08:50:38 pm
Yeah I had thought of making it pure puzzels and also with a few easy enemies..It is in basic + xLib, and the load time before was the levels being decompressed.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 10, 2008, 08:53:43 pm
this is awesome Kalan :)
Title: Re: Chip's Challenge
Post by: simplethinker on December 10, 2008, 09:06:55 pm
That's awesome
It looks like you were pretty close to completion.  And you have great sprites too :).

How did you store the data?  Was it in a string and you decompressed it, lists, matrices etc. ?
What did you do for the toggle (green) walls/switches?  Right now I just have it switch between pictures (Pic3 for off, Pic4 for on).

I'm also interested in how you did the ice and force tiles.  I'm stuck with this mess (http://ourl.ca/2892/56353) (well, I've modified it a bit but it's still the same general idea).
Title: Re: Chip's Challenge
Post by: kalan_vod on December 10, 2008, 09:29:58 pm
Hehe, it looks like my tracks were followed pretty closely XD..I use a main engine program/levels/actions.
Title: Re: Chip's Challenge
Post by: simplethinker on December 10, 2008, 09:39:15 pm
Hehe, it looks like my tracks were followed pretty closely XD..I use a main engine program/levels/actions.
When I said "this mess" I was talking about the little code snippet at the bottom of the page, not how my programs are organized (not sure if you thought I meant routine or not).
At least this means I'm not messing up too much :)

Oh, and right now my programs are:
CHIP, ZBLOCK, ZD, ZITEM, ZLOSE, ZMOVE, ZWIN, then ZLV...  Eventually CHIP & ZD will be recombined, ZMOVE & ZBLOCK combined ZLOSE & ZWIN will be combined, so overall there will be the engine, movement processing and winning/losing/level hopping, plus the levels.
Title: Re: Chip's Challenge
Post by: TIfanx1999 on December 11, 2008, 12:17:44 am
This is really coming along nicely. I also have to say wow, Kalan it looks like you had a fairly nice version of this in the works at one time. Me thinks Kalan should work on a new X-lib game. ^_^
Title: Re: Chip's Challenge
Post by: metagross111 on December 12, 2008, 02:38:41 pm
mayhaps kalan or someone can draw up similar sprites for a pokemons game? in all seriousness of course.
Title: Re: Chip's Challenge
Post by: simplethinker on December 13, 2008, 03:32:53 pm
More good news:
1) I'm finally done implementing all of the different tile effects.
2) The routine for determining the player's new direction has been reduced by 90 bytes (using a look-up table)
3) Sprites are done.  (Adding one extra row of pixels into deeph's boot sprites made a huge difference)

To-do list:
1) Implement the timer
2) Modify the HUD, which will be white-on-black to help distinguish the map from HUD (thanks to DJ Omnimaga for the suggestion :))
3) Mask the player's sprite instead of just ORing it over the tile.
4) Add in tanks (the only enemies I'm sure I can handle), then possibly other enemies.
5) Optimize the hell out of everything.
6) Port more levels.
7) Repeat (5) & (6) a few dozen times with bug-fixing and adding features I've forgotten about scattered throughout.
8 ) Repeat (7), etc...

I've attached a screenshot of level 3 with the new sprites.  I also posted screenies of levels 6 and 7 in the other thread.

[edit]I forgot to add a few things in:
-Level hopping/switching
-Keep score
-Do more than just display "You Win/Lose"
-Figure out the algorithm for when you can skip a level after losing a bunch more times.
-Implement passwords.
Title: Re: Chip's Challenge
Post by: calc84maniac on December 13, 2008, 04:53:59 pm
I seriously have no idea why I gave up before starting on my 8-level GS Chip's Challenge... ;D Ah well, probably better for my other projects this way... assuming I work on them... which I don't... and long run-on sentences are fun... yeah.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 13, 2008, 04:59:12 pm
great stuff Simplethinker :)

@calc84 well i was getting worried about the future of F-Zero and Mario from time to time as progress slowed down and when you left for about 2 weeks not so long ago so I would be worried if you started a 3rd project lol x.x

you should finish F-Zero/Mario at least first :P
Title: Re: Chip's Challenge
Post by: dinhotheone on December 28, 2008, 06:35:25 pm
classic game, i remember i couldnt beat a level with like thousands of chips and tons of those dudes that chase after you.

i got a question though,

are the levels going to be the same as in the pc game?
ifso how big wil this be? i remember there were like hundreds of very large levels.
Title: Re: Chip's Challenge
Post by: simplethinker on December 28, 2008, 07:12:15 pm
I'm trying to get as many of the original levels (there are 150) as possible.  The enemies pose the biggest problem if I want decent speed.  Of the first 90 levels, there are only 30 I know can be done and another 23 that might be possible.

As for size, the engine is currently 1496 bytes, and I'm estimating no more than 1000 on top of that.  Except for the early levels, each level is 32x32 tiles wide, so the matrix will take up 9kb of RAM during gameplay.  Each level's data is currently occupying it's own program, which is ~3.5kb, but depending on how I implement the enemies (if I ever do) it could add more, though I'm not sure how much.  If the proportion of levels I can do is about the same for higher levels, the game will be around 180kb with 50 levels.

Right now, I'm taking a small break to learn Asm and write some supplementary programs to either speed-up or simplify/stream-line level loading and a little display.  They're essentially xLIB and Celtic 2/3 with some tweaking and should hopefully cut the program size down.  One of the Asm programs is for copying one pic to another without altering the Graph Screen, which will save me 2301 bytes of RAM while running (the way I have the wall-toggle switches working involves some extra pics that are redundant).  Another will store a string into a matrix (every 2 tokens will be the hex value of the tile's number for the xLIB tilemapper) with the added feature that an extra copy of the matrix won't be in Ans (since I would need over 18kb of free RAM otherwise).  The fact that it's converted from a string means each level's map data will be no more than 2048 bytes.  I'm also contemplating writing something similar (but more specific to my game) to Celtic2's readline function to stream-line level loading.

Learning Asm (and my current play-through of FF III spurred by a random discussion on IRC) is the reason why there have been few updates the last week or so two weeks (it's been longer than I thought :o), so in case anyone's wondering: I'm still working on this ;D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 28, 2008, 07:41:33 pm
I was a bit worried about lack of progress but I thought it was christmas. Are you planning to rewrite this in ASM or stick to BASIC? I think you should do the latter and maybe once it's done if you want you can make an enhanced version in ASM with more enemies
Title: Re: Chip's Challenge
Post by: simplethinker on December 28, 2008, 07:49:50 pm
I was a bit worried about lack of progress but I thought it was christmas. Are you planning to rewrite this in ASM or stick to BASIC? I think you should do the latter and maybe once it's done if you want you can make an enhanced version in ASM with more enemies
I'll be sticking with BASIC.  What I am writing in Asm are just slight modifications of functions I was using with xLIB/Celtic 2 (or what I would be using if Celtic III were finished hint hint).  After I finish, I might rewrite it in Asm as practice, and adding enemies in sounds like a great idea!  But, I'll stick to one thing at a time as my Asm skills are still severely lacking and I don't multitask well :D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on December 28, 2008, 08:07:15 pm
true, and with 7.5 years watching the TI community grow I never seen any project starting as BASIC then being converted to ASM halfway through completion be finished. Most people saw too big and thought if they could do such projects in BASIC that immediately after moving to ASM they would be able to do it. That, or the lot of time spent on learning ASM after stopping the BASIC version of their project made them get bored of the project and they eventually did something else
Title: Re: Chip's Challenge
Post by: dinhotheone on January 11, 2009, 12:07:33 am
so being that this is a port, how are you gona store all those levels from the computer game. i plaed this game alot. and i just remember getting discouraged because the levels were like really hard but they just kept coming. idk thats just what i thought of when i read about this game. anyway i think is  a great idea, this game seems perfect for the calc. good luck
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 11, 2009, 12:33:17 am
I think he's not really porting every single levels, since they may not even fit one one calc (apparently there are a whole lot), so it's probably be a stripped down version with only the best levels for now, unless he decides to make it SE only
Title: Re: Chip's Challenge
Post by: kalan_vod on January 11, 2009, 01:14:43 pm
There is 149 levels in the original level pack, and there are lots of different level packs..
Title: Re: Chip's Challenge
Post by: simplethinker on January 12, 2009, 03:38:06 pm
so being that this is a port, how are you gona store all those levels from the computer game. i plaed this game alot. and i just remember getting discouraged because the levels were like really hard but they just kept coming. idk thats just what i thought of when i read about this game. anyway i think is  a great idea, this game seems perfect for the calc. good luck

From my post above:
Quote
I'm trying to get as many of the original levels (there are 150) as possible.  The enemies pose the biggest problem if I want decent speed.  Of the first 90 levels, there are only 30 I know can be done and another 23 that might be possible.

Currently (this might change in the near future) each level will be in its own program.  The data it contains will be the map data, starting location, number of chips, time limit, some extra information needed for teleports and trap switches, and, if I implement monsters, the data for monsters.

For the actual map data, I'm writing an Asm utility (this is the reason for the hold up on progress, but it's almost done) to help with the size of data in the programs and also reduce the amount of free RAM needed, since something like "[[1,2][3,4]]→[A]" will also store a copy of the matrix in Ans, thus doubling the amount of free RAM needed.  The data will be a string of the elements (plus size) in hexadecimal, and the program will convert and store this directly into a matrix.  (an example would be "0203FFF0010200AA" becomes [[255,240,1][2,0,176]])


This project isn't dead, and as soon as I finish that Asm program (I'm almost done) I'll resume working on the main project ;D (if for some reason I'm not back to work by next week, please feel free to hit me, kick me, send PMs to remind me, etc...)
Title: Re: Chip's Challenge
Post by: Madskillz on January 12, 2009, 08:56:48 pm
sounds great, We'll be sure to keep you updating us!
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 13, 2009, 01:48:44 am
Oooh I see you are learning ASM. Halo 83+ coming soon then? (>^.^)>

jk doN't give up and keep up the good work :)
Title: Re: Chip's Challenge
Post by: simplethinker on January 13, 2009, 11:06:55 am
Oooh I see you are learning ASM. Halo 83+ coming soon then? (>^.^)>

jk doN't give up and keep up the good work :)
Yep :), then nope :D.  Around winter break has been my yearly failed attempt at learning Asm, but for some reason this year I failed at failing and it finally clicked in my brain ;D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 13, 2009, 03:50:02 pm
That's good, I wish I would have done the same, but I think it's a combination of factors such as not liking the ASM code structure, having been used to TI-BASIC style for a long while and having serious troubles changing or getting used to new stuff
Title: Re: Chip's Challenge
Post by: dinhotheone on January 14, 2009, 02:43:55 pm
dangit, i cant believe i missed that post where you answer my question on the same page, before i ask it...
i guess i've lost all my forum prowess since old omni closed down...

anyway dont feel that you need to put up constant progress to impress us, burning yourself out helps no one


Title: Re: Chip's Challenge
Post by: simplethinker on January 14, 2009, 03:56:04 pm
anyway dont feel that you need to put up constant progress to impress us, burning yourself out helps no one

and long breaks lead to permanent breaks :(

I've found as long as I pace myself, I don't get burned-out till the very end, in which case it's only a short period of time of not enjoying it :D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 14, 2009, 06:37:29 pm
Yeah long breaks often make the person lose interest, especially when it's a really long break. But users have to focus on school and real life first. Real life is the second most important thing after Runescape and WoW
Title: Re: Chip's Challenge
Post by: noahbaby94 on January 14, 2009, 06:42:41 pm
Yeah long breaks often make the person lose interest, especially when it's a really long break. But users have to focus on school and real life first. Real life is the second most important thing after Runescape and WoW
Don't forget calculators!!!
Title: Re: Chip's Challenge
Post by: Madskillz on January 14, 2009, 10:22:02 pm
I agree breaks are good and much needed but too long and you could be in trouble. Don't rush this project though, this looks like it is coming along really nice!
Title: Re: Chip's Challenge
Post by: JonimusPrime on January 14, 2009, 10:43:23 pm
I just recently got a new phone and guess what was one of the first games I put on it, you guessed it chips challenge, the one thing its missing is the ability to start at levels other than 1, I hope you port doesn't have that same flaw.
Title: Re: Chip's Challenge
Post by: simplethinker on January 15, 2009, 12:43:55 am
I just recently got a new phone and guess what was one of the first games I put on it, you guessed it chips challenge, the one thing its missing is the ability to start at levels other than 1, I hope you port doesn't have that same flaw.
Chip's Challenge on a cellular phone?! What's next, a phone that you're supposed to talk into? :D

Right now level selection is done by storing the level number in Ans before running the program, so even this early in the project that problem isn't there :)
Title: Re: Chip's Challenge
Post by: Madskillz on January 15, 2009, 11:13:43 am
That's great I hate having to go through all the levels in a puzzler to "unlock" them before you can play them. At least for this game anyhow that wouldn't be necessary!

I just recently got a new phone and guess what was one of the first games I put on it, you guessed it chips challenge, the one thing its missing is the ability to start at levels other than 1, I hope you port doesn't have that same flaw.
Wait you use a phone for something other than calling and occasionally maybe just maybe sending a text message. That's like saying you use a calculator to play games, that's just crazy talk! ;)
Title: Re: Chip's Challenge
Post by: JonimusPrime on January 17, 2009, 10:56:33 pm
I just recently got a new phone and guess what was one of the first games I put on it, you guessed it chips challenge, the one thing its missing is the ability to start at levels other than 1, I hope you port doesn't have that same flaw.
Wait you use a phone for something other than calling and occasionally maybe just maybe sending a text message. That's like saying you use a calculator to play games, that's just crazy talk! ;)
No you see I use my Phone to run a calculator emulator to play games on :P
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 17, 2009, 11:00:48 pm
At least he isn't using his calculator to hack a computer. I think most calc videos on youtube are fake "hack a computer using a TI-84+" :P
Title: Re: Chip's Challenge
Post by: JonimusPrime on January 19, 2009, 12:14:03 am
At least he isn't using his calculator to hack a computer. I think most calc videos on youtube are fake "hack a computer using a TI-84+" :P
BrandonW almost had a working one, though he never figured out why the comp refused to boot from an 84 pretending to be a floppy drive, if he solved that he could do it.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 19, 2009, 02:14:13 pm
Oh wow, then we are all doomed. BrandonW will take over the entire TI community with the power of the TI-84+. Now I forsee the day the Nspire will be hacked successfully -.-
Title: Re: Chip's Challenge
Post by: TIfanx1999 on January 19, 2009, 10:57:27 pm
Quote
This project isn't dead, and as soon as I finish that Asm program (I'm almost done) I'll resume working on the main project  (if for some reason I'm not back to work by next week, please feel free to hit me, kick me, send PMs to remind me, etc...)
I'll send the Shamwow guy after you... lol. =P
Title: Re: Chip's Challenge
Post by: noahbaby94 on January 20, 2009, 09:15:37 am
Quote
This project isn't dead, and as soon as I finish that Asm program (I'm almost done) I'll resume working on the main project  (if for some reason I'm not back to work by next week, please feel free to hit me, kick me, send PMs to remind me, etc...)
I'll send the Shamwow guy after you... lol. =P
I'll add a spider monkey
Title: Re: Chip's Challenge
Post by: simplethinker on January 20, 2009, 10:50:43 am
Sort-of update time!

I've temporarily given up on the string->matrix thing since I can't get the speed right (I'll try again later), but I'm done with the other Asm program.  I'm attaching it in case it might come in handy for someone else.  Also in that file are a couple other programs for working with pictures that resulted from a bug found in CUSTOMPICS at the time I was writing the one for this game, and another one that just might come in handy.

COPYPIC copies one pic from another without affecting the graphscreen.  CPIC is basically CUSTOMPICS.  The other two are a cheat to allow you to transfer the hacked pics (10-255) to another calculator.  I've included a small readme with more info on them.

--------------------------

Now for Chip's Challenge.  There isn't anything new, but I do have an updated to-do list:
- Timer
- HUD
- Do a better job with the player's sprite display
- Figure out how to get movable blocks to be affected by ice/force tiles without slowing the game way down
- Score-keeping
- Save info
- Pack the game into a larger program (Not sure what to call it, but it's so the user doesn't have to
   directly input which level before running and can select new game/load game etc...)
- Title screen
- Passwords
- More levels
- Level hopping/switching
- Figure out the formula for when you can skip a level after dying a bunch of times
- Intermittently optimize the hell out of it

[edit 1/21/09] -Level editor (I finally remembered to stick this in!)
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 20, 2009, 02:58:01 pm
wow nice, interesting programs that could become handy because hacked pics are one thing that is hard to transfer from calcs to calcs and i always hated how there were no way to duplicate a pic without displaying it first.

I will add it to the download section when I get some time. Keep up the good work on your projects and Chips :)
Title: Re: Chip's Challenge
Post by: TIfanx1999 on January 20, 2009, 03:46:44 pm
Great job on the utilities simplethinker, that's some pretty cool stuff. Keep up the good work!
Title: Re: Chip's Challenge
Post by: simplethinker on January 20, 2009, 04:53:03 pm
Thanks guys :)  I wrote COPYPIC to help cut down the number of pics needed for CC (saved 1534 bytes of RAM ;D) and the other two just splintered off as random thoughts.

I have this idea in my head for SETPICS/EXPICS so that you can enter a list of numbers instead of one (so you only need one call), and that will also create the extraction program for you, but I'll get to that later.

...and i always hated how there were no way to duplicate a pic without displaying it first.
That always bothered me too.  The funny thing is that Pic->Pic is just as simple as Pic->Graphscreen :D
Title: Re: Chip's Challenge
Post by: Madskillz on January 20, 2009, 11:14:04 pm
Wow that's great anytime you can cut down on some bytes is a good thing. Keep it up! So I take it CC is a basic hybrid? I tend to just skim over things, so my bad if it is stated earlier!
Title: Re: Chip's Challenge
Post by: cjgone on January 20, 2009, 11:23:29 pm
When are you releasing this project thingie?
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 21, 2009, 12:33:49 am
Providing it is before the old Omnimaga board is back up :D (assuming you mean CC)


Oh wait, imagine if Invisionfree decided to resume restoration without telling anyone and they awnsered my request, Simplethinker would be in a very huge rush now XD
Title: Re: Chip's Challenge
Post by: simplethinker on January 21, 2009, 08:53:42 am
Wow that's great anytime you can cut down on some bytes is a good thing. Keep it up! So I take it CC is a basic hybrid? I tend to just skim over things, so my bad if it is stated earlier!
I think I posted somewhere in this thread what I'm using, but there were a lot of "maybe"s and "possibly"s, so I'll summarize.  It's a BASIC/Asm hybrid.  I'm using xLIB for graphics (sprites + tilemapping) and I'm also using its 'execute archived program' for loading the level data (each level is it's own program that sets the map, starting location, number of chips, time, and other miscellaneous information).  COPYPIC (from my previous post) is being used to eliminate the need for two sets of sprite pics (for the toggle walls).  I'm currently working on a utility to make loading level maps less RAM intensive (see one of my posts on the previous page).  Everything else is in BASIC.

When are you releasing this project thingie?
Honestly, I have no idea :o  I've never worked on a project this large before, so I have absolutely no grasp on the potential timeline.

Also, I think most of the horribly embarrassing code has been replaced, so I'm thinking of releasing a small demo.  That would probably be a bit more telling than just screenies, and on top of that I could get some feedback/suggestions/complaints.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 21, 2009, 02:27:23 pm
Couldn't you use the "execute archived program" feature directly from xLIB? It has one (XTEMP000, XTEMP001, etc)
Title: Re: Chip's Challenge
Post by: simplethinker on January 21, 2009, 03:01:11 pm
Couldn't you use the "execute archived program" feature directly from xLIB? It has one (XTEMP000, XTEMP001, etc)
I'm using xLIB's real(10 function to execute the level-loading programs.  The "utility to make loading level maps less RAM intensive" is needed because for the larger maps (up to 32x32) the matrix is over 9kb, so just doing "(some matrix)→[A]" would cause the Ans variable to take up another 9kb of RAM, even if it's only for a second.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 21, 2009, 03:46:49 pm
ooh ok I thought you meant map loading programs. Are you planning to release this or was it made by someone else? I think I would find this useful because I was always limited in term of map size back in the days due to limited RAM because it would store the map into Ans
Title: Re: Chip's Challenge
Post by: simplethinker on January 21, 2009, 06:03:52 pm
I was working on it but it's still too slow, and it's been taking up a lot of time trying to speed it up.  I'll get back to it later, but for now I'm moving on to other parts of CC.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 21, 2009, 07:18:17 pm
aah ok, how much time did it took to load maps?
Title: Re: Chip's Challenge
Post by: simplethinker on January 21, 2009, 07:31:31 pm
aah ok, how much time did it took to load maps?
Using the method in this post (http://ourl.ca/2627/56577) (purely BASIC) there's a 2-3 second pause but there are even more commas and brackets than the usual [[][]] format for matrices.

With the current version of the String->Matrix program I am (was/will be) working on there's a noticeable delay for a 5x5 matrix, which means for larger matrices it will be even longer (I was too lazy to convert a whole 32x32 map to the string format though so I haven't actually tested a full map).  If I get it working, each 32x32 map will be exactly 2052 tokens compared to the minimum of 3106 with the other (non-Asm) method, which will greatly reduce the size of the game and the number of programs needed ;D
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 21, 2009, 07:56:11 pm
Aah I see :)
Title: Re: Chip's Challenge
Post by: simplethinker on January 23, 2009, 09:42:23 pm
YYYYIIIIIIIIIIPPPPPPPPPPEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I'm done with that String->Matrix program.  After waking up at 1am this morning with an idea of exactly how to do it efficiently, I wrote it up and, unluckily, wound up with the same "anything less than 10 makes it explode" problem as the original (see my posts on UTI here (http://www.unitedti.org/index.php?showtopic=8497&hl=)).  Now, after it turned out to be the largest brain-fart of my life (that I can recall), I have a String->Matrix program that can create a 32x32 (1024 element) matrix in a little longer than a split second.

I've attached the program and instructions.

[edit]I'm starting to wonder if I should submit these (those Pic programs too) to ticalc, since I haven't seen anything like them there.

[another edit] I stuck these in the archives here, since digging through this topic might get a bit annoying.
Title: Re: Chip's Challenge
Post by: TIfanx1999 on January 23, 2009, 11:46:08 pm
Hey, that's pretty awesome. Rock on dude! =)
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 24, 2009, 03:36:11 am
ooh nice,and thanks it saves me some works XD
Title: Re: Chip's Challenge
Post by: kalan_vod on January 24, 2009, 02:30:01 pm
That is really cool, just wish it supported decimals..
Title: Re: Chip's Challenge
Post by: simplethinker on January 24, 2009, 02:34:49 pm
That is really cool, just wish it supported decimals..
I still want to keep some of my sanity! :D and I don't think the tilemapper for xLIB likes decimals.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 24, 2009, 03:48:53 pm
it does, actually they can be useful for collision detection and fake walls/secret paths. However in ASM they would prbly slow down your str->mat converter since floating points are much slower
Title: Re: Chip's Challenge
Post by: kalan_vod on January 24, 2009, 03:59:13 pm
What kevin said, it makes coding an engine very easy. You can just walk on anything that does not have a decimal and then if it is a .1 decimal then if can't be walked on, and lastly if it is >.1 it goes into a events program (that's how I do it).
Title: Re: Chip's Challenge
Post by: simplethinker on January 24, 2009, 04:17:27 pm
...

...

...
Wow... Why doesn't it say non-integers can be used in the readme?  More than half of the tiles I'm using have constant walkable/un-walkable status, and I put in an additional 20 tiles that are copies of others except for whether the player can go there or not.


As for adding in sort-of decimal input to my String->Matrix program, instead of it being two tokens (like "FF" or "01"), I could make it three tokens, with the third being the tenths digit (i.e. a decimal number between 0-9.  Making it the 16ths digit would be kinda messy).  For example, "AA3" would be converted to 170.3.  I don't think it would be too difficult, but it would make the input string 50% larger.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 24, 2009, 04:22:41 pm
oh it was an xlib limitation caused by the routine stripping decimals, prbly because he wasn't using floating points for this for speed reasons (I think he was using 1 byte unsigned integers but correct me if I am wrong). However per request he left this bug present so people could use this for better collision detection methods. I'm unsure if Celtic III supports that,though
Title: Re: Chip's Challenge
Post by: kalan_vod on January 25, 2009, 02:19:46 am
Yes, the xLIB guru was going to have this detail but was not added...yet
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on January 25, 2009, 03:26:36 am
yeah xlib guru developpement stopped then it merged with TI-BASIC Developper about a year ago, I think some stuff were modified but it's still far from being finished. Still no grayscale tutorial either :P
Title: Re: Chip's Challenge
Post by: simplethinker on February 23, 2009, 06:53:43 pm
New updates!

I overhauled the collision-detection/movement which cut about 200 bytes off the size of the programs and led to a nice little speed boost.  Unfortunately, the upgrade also destroyed any uniformity in the time one frame takes, so there would be no consistent measure of time.  This means that there can't be a full version on a calculator that doesn't have an internal clock, i.e. the 83+.  I'm still considering releasing an 83+ version, but it wouldn't have any time, which means the scores wouldn't be consistent with the original version, and I'll have to create an entirely new formula for "pitty skipping" (if you lose/spend a lot of time on a level you're given the option of skipping it).

I've also implemented the help tiles as well as started the GUI.  When I tried running the main engine from another program there was a large speed drop so I have to rethink how I'll be doing the level-hopping and passwords, but hopefully those will be done in the next couple days.

[edit] You can see the updates in action here (http://ourl.ca/2914/59165)
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on February 23, 2009, 07:47:16 pm
Yes for updates! I liked the screenies you showed on IRC, especially the grayscale effect
Title: Re: Chip's Challenge
Post by: simplethinker on February 26, 2009, 05:16:24 pm
This is a question for Iambian, but since there isn't a CelticIII topic, the question doesn't really deserve a whole new topic, and it has to do with the engine for Chip's Challenge, I'll just stick it here.

For xLIB's tilemap function do you plan on allowing decimal/fractional entries in the matrix like in xLIB?  I'm assuming that you're not since the xLIB compatibility is pretty much done, but I just want to be sure before I start converting my engine to the string tilemapper if I don't need to.
Title: Re: Chip's Challenge
Post by: kalan_vod on February 26, 2009, 06:38:47 pm
Does it not already support it? Also UTI has a whole forum for Celtic.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on March 03, 2009, 01:13:15 pm
I hope it supports it in the future if it doesn't alerady, since he said he would try to make Celtic emulate xLIB as close as possible even the glitches xLIB had
Title: Re: Chip's Challenge
Post by: Iambian on March 12, 2009, 12:47:36 am
...
For xLIB's tilemap function do you plan on allowing decimal/fractional entries in the matrix like in xLIB?  I'm assuming that you're not since the xLIB compatibility is pretty much done, but I just want to be sure before I start converting my engine to the string tilemapper if I don't need to.

I thought that the allowing of decimal input already existed. The only hole in the routine known to me is it not being able to process anything abs(x)<1.

If you find any other bugs relating to its ability to convert, post it on my bug reports topic on UTI. Be sure to include details.
Title: Re: Chip's Challenge
Post by: simplethinker on April 24, 2009, 04:18:03 pm
I'm finally done with exams, and I have a two week break before the spring term starts (there's a course on Differential Geometry I couldn't resist :)).  If I can get motivated, there should be a ton of progress.  Some stuff I have completely planned out:
- Invert the HUD
- Adjust display for when the player is near walls (instead of adding 3 blanks on every side display the sprite not in the center of the screen)
- New idea for movement: Have all commands for tiles in one program, and depending on the tile (which will just be an integer) copy the needed code to a subprogram and run the subprogram.  No need for If:Then or Goto/Lbl; just transfer the three or so lines at 3N-2 to a program and run it (might work well, might not; worth a try).
- Four more levels (they each contain some situations for tile arrangement that need special attending to)
Title: Re: Chip's Challenge
Post by: trevmeister66 on April 24, 2009, 04:49:51 pm
I like the idea of copying tile code to a sub program and just running it. That seems like it would work out very well, and should speed up things AND cut down on size. If that does work, i might have use that idea for my project.
Title: Re: Chip's Challenge
Post by: simplethinker on April 24, 2009, 05:00:11 pm
If that does work, i might have use that idea for my project.
You have no idea how much that comment moved Chip's Challenge closer to the top of my "stuff to do when I'm bored" list (i.e. all my priorities).  Thanks ;D
Title: Re: Chip's Challenge
Post by: trevmeister66 on April 25, 2009, 02:01:38 pm
Heh glad I can help :)
Title: Re: Chip's Challenge
Post by: simplethinker on April 27, 2009, 06:27:25 pm
The initial testing of the new movement routine has gone very well.  There's been a pretty good speed increase, and the execution time for tiles is somewhat more uniform.  I believe the reason for these improvements is twofold: (1) There aren't as many If:Then blocks so there's less code to sift through, and (2) Many tiles have very similar actions/effects (like items, or doors, etc...) so certain things were being calculated as a function of tile number, but now, with the new system, everything is hard-coded.

I tried Celtic III's det(23 and det(24 commands and, except for a couple little bugs, there was an even larger speed increase.  det(24 doesn't strip the newline so very quickly my program got filled with tons of newlines hint hint :)

These improvements have come at a cost of nearly doubling the size of movement code; what once took 583 bytes now takes 1115 bytes.  By rearranging certain commands common to all tiles (like the return value stating whether walkable or not) I should be able to cut out 2*48=96 bytes, but it's still much larger than what it was (but the program can be in the archive so it's not taking a chunk out of RAM).

[edit] Oh, and I've also finished with inverting the HUD and the modification to sprite display.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on April 27, 2009, 06:53:20 pm
glad speed increased :), btw is it still planned for 84+ only or will it also be for 83+ when finished?
Title: Re: Chip's Challenge
Post by: simplethinker on April 27, 2009, 07:04:41 pm
glad speed increased :), btw is it still planned for 84+ only or will it also be for 83+ when finished?
The speed on an 83+ shouldn't be as horrendous as it used to be.  Because of that newline bug I haven't had many consistent tests with Indexfile/LookupIndex, but it's supposed to be a lot more consistent with access time so this does open the door to (possibly) fairly uniform frame rate, and thus a clock :)
Title: Re: Chip's Challenge
Post by: kalan_vod on April 28, 2009, 01:44:31 pm
Glad to see progress, you are doing some very notable things and I sullute you!
Title: Re: Chip's Challenge
Post by: simplethinker on April 28, 2009, 02:12:41 pm
Glad to see progress, you are doing some very notable things and I sullute you!
Thanks ;D  I've decided to abuse Celtic III to its fullest.
Title: Re: Chip's Challenge
Post by: cooliojazz on July 08, 2009, 02:13:42 pm
Umm... I tried the demo.  Bad things happened.
Title: Re: Chip's Challenge
Post by: simplethinker on July 08, 2009, 02:38:15 pm
Umm... I tried the demo.  Bad things happened.
Could you be a bit more specific please?
Title: Re: Chip's Challenge
Post by: cooliojazz on July 08, 2009, 02:41:58 pm
Well,first, it said ERR:Invalid and I said Goto.  It went to one of the subprogram executions.  I said Okay, that's weird because the program was there on the list and all.  I tried it again a couple of times, then got pissed and tried to delete it from my calculator and when it did it ended up clearing the ram too.  Bad things.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 08, 2009, 02:48:40 pm
do u have one of these calculators with BOOT code 1.02 on it? (press MODE->ALPHA->S to know, then press ON/CLEAR to exit without clearing RAM) I know some ASM programs has trouble on them, such as RealSound and TI-Boy SE
Title: Re: Chip's Challenge
Post by: simplethinker on July 08, 2009, 03:04:54 pm
Well,first, it said ERR:Invalid and I said Goto.  It went to one of the subprogram executions.  I said Okay, that's weird because the program was there on the list and all.  I tried it again a couple of times, then got pissed and tried to delete it from my calculator and when it did it ended up clearing the ram too.  Bad things.
I'm sorry to hear that.  Which program did it take you to?  (Nobody has mentioned anything like this yet so I'm clueless  :-[)
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 08, 2009, 03:06:22 pm
He might need to specify:

Calculator model
TI-OS
Boot code
Computer OS
Linking software used
step by step sending process
Title: Re: Chip's Challenge
Post by: cooliojazz on July 08, 2009, 03:40:28 pm
DJ:
TI 84+ BE
1.02
Win XP
Can't remember; right about when I switched from TIConnect to TILP about a week ago
Sent it, ungrouped it per instructions ran what it said to

simplethinker:
Kind've scared to resend it with all the trouble I had; I deleted everything then.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 08, 2009, 03:56:03 pm
Maybe Celtic has compatibility problems with TI-84+ with boot code 1.02 then. These new calcs are posing a serious problem in further calc developpement
Title: Re: Chip's Challenge
Post by: simplethinker on July 08, 2009, 03:56:15 pm
simplethinker:
Kind've scared to resend it with all the trouble I had; I deleted everything then.
Were any pictures archived?  Just recently I found out archiving pics 3-6 made my calculator clear RAM (actually, is prgmCOPYPIC in the demo?  I've forgotten when I started using it).
Title: Re: Chip's Challenge
Post by: cooliojazz on July 08, 2009, 04:49:06 pm
It was deleting that program that cleared the ram
Title: Re: Chip's Challenge
Post by: calc84maniac on July 08, 2009, 09:49:55 pm
It certainly isn't the boot code that's causing the TI-Boy problems because I also have 1.02
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 08, 2009, 10:02:15 pm
really? Then I'm unsure why this happens...
Title: Re: Chip's Challenge
Post by: simplethinker on July 20, 2009, 11:50:25 am
The Basic version of Chip's Challenge will be on hold for a while so I can devote my efforts to the assembly version (http://ourl.ca/3544).  Rest assured that I will finish this as I've already put so much time and effort into it.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 22, 2009, 07:45:10 pm
I do hope you finish both. In my past 8 years in the TI community, when someone switched to another language halfway into project developpement, he simply vanished a few months later. Idk if it's some sort of curse or anything like that, but I never seen such project completed. I hope you change this
Title: Re: Chip's Challenge
Post by: simplethinker on July 22, 2009, 08:45:11 pm
I do hope you finish both. In my past 8 years in the TI community, when someone switched to another language halfway into project developpement, he simply vanished a few months later. Idk if it's some sort of curse or anything like that, but I never seen such project completed. I hope you change this
I will ;).  That's why I waited until I was sure the asm version was within my capabilities.
Title: Re: Chip's Challenge
Post by: DJ Omnimaga on July 23, 2009, 02:44:05 am
yeah I know. At least you are good at ASM. A lot of the people who did that before weren't that good. Well, they were good, but they were going from a huge BASIC project to a huge ASM one and their skills were still not enough I think to take on such large project.