Petit Computer Wiki:Chat/Logs/17 October 2013

 [12:35]  'n' [12:35]  Why Zzyex [12:35]  Um,new note for all my friends [12:36]  To those who wont get the note [12:36]  This may be goodbye [12:36]  It's not confirmed yet though [12:36]  I'll be here for maybe tonight [12:36]  Liar [12:36]  You won't leae &gt;:( [12:37]  *leave [12:37]  '-' [12:37]  did you even read the note!? [12:37]  I'm mayb be a liar,I hope I am [12:37]  *maybe [12:37]  but,if not [12:37] <Sparkystream> this may be goodbye [12:37] <Pokeyoshi19> NOOOOO [12:38] <Pokeyoshi19> Hum, why [12:38] <Sparkystream> Did [12:38] <Sparkystream> you [12:38] <Sparkystream> read [12:38] <Sparkystream> the [12:38] <Sparkystream> note? [12:38] <Sparkystream> I dn't want to say it [12:38] <Sparkystream> I just finished crying [12:38] <Pokeyoshi19> No I didn't [12:39] <Sparkystream> Well,Just go read it [12:40] <Sparkystream> Don't laugh [12:41] <Pokeyoshi19> I'm making it [12:42] <Pokeyoshi19> Hm. [12:43] <Sparkystream> 'n' [12:43] <Pokeyoshi19> What's the matter? You still can play the 3DS [12:43] <Sparkystream> I know [12:43] <Sparkystream> but,I don't think after that,I'll be on for a while [12:45] <Pokeyoshi19>. [12:45] <Pokeyoshi19>. [12:45] <Pokeyoshi19>. [12:48] <Pokeyoshi19> Why won't you be on for a while? [12:48] <Sparkystream> Well,I'll be rather sad,and might want to be closer to my parent [12:48] <Sparkystream> so,I'll be inactive [12:49] <Pokeyoshi19> Ok [12:49] <Sparkystream> don't worry,I don't think I'll leave forever [12:51] <TwinArmageddonz> hi [12:51] <Pokeyoshi19> YAY TWIN [12:51] <Pokeyoshi19> Hai [12:51] <Pokeyoshi19> I just have something new [12:51] <TwinArmageddonz> ? [12:52] <Pokeyoshi19> Herro [12:52] <TwinArmageddonz> im gonna attempt to port a game [12:52] <Pokeyoshi19> Ok what [12:52] <TwinArmageddonz> Kakutou Ryouri Densetsu Bistro Recipe [12:53] <Pokeyoshi19> *Facepalm* [12:53] <TwinArmageddonz> ? [12:53] <Pokeyoshi19> Another derpy non-popular game, huh? [12:53] <TwinArmageddonz> yep [12:53] <TwinArmageddonz> but it [12:54] <TwinArmageddonz> is an amazing [12:54] <TwinArmageddonz> game [12:54] <TwinArmageddonz> its something i was working on with tobu a long time ago [12:54] <TwinArmageddonz> but we decided it was too complex at the time [12:54] <TwinArmageddonz> so we paused until we learned more [12:54] <TwinArmageddonz> so im working on it again [12:55] <Pokeyoshi19> My conquer game now uses GRP map generating. [12:55] <TwinArmageddonz> o: [12:55] <TwinArmageddonz> like a GRP pic? [12:55] <TwinArmageddonz> or does it use a GRP to load stuff [12:57] <Pokeyoshi19> There is 64 tiles for 1 map, and there's 1 map for each tile on the touch screen (32x24). I use a GRP screen to spawn 1 tile for each pixel. We can save it, and load it. [12:57] <TwinArmageddonz> oooh [12:58] <Sparkystream> Smile.jpeg lols :D [12:58] <Sparkystream> YES&lt;I AM PROUD OF IT [12:59] <TwinArmageddonz> ? [12:59] <Pokeyoshi19> Do this: [12:59] <Pokeyoshi19> X=32x24 [12:59] <Pokeyoshi19> Y=64xX [12:59] <Pokeyoshi19> Y is supposed to be something like 19'152. [01:00] <TwinArmageddonz> sorry sparky but im gonna fix that [01:00] <Pokeyoshi19> Now do Z=256x192. Z is the same number. [01:00] <TwinArmageddonz> thats vandalism [01:00] <Sparkystream> k [01:00] <Sparkystream> I told zzyex [01:00] <Sparkystream> in comments [01:00] <Sparkystream> if he minds [01:00] <Sparkystream> Imma fix it [01:00] <Sparkystream> so no [01:00] <Sparkystream> I will [01:01] <TwinArmageddonz> kk [01:01] <Pokeyoshi19> ? [01:01] <TwinArmageddonz> woah sparky why did you have to send the message in swapnote [01:01] <Pokeyoshi19> lol [01:02] <TwinArmageddonz> i never use swapnote [01:02] <TwinArmageddonz> now i have to quit ptc to read it [01:02] <Sparkystream> Well,start [01:02] <TwinArmageddonz> l [01:02] <Pokeyoshi19> I do use Swapnote [01:02] <Sparkystream> twin notes u on there all the time [01:02] <Pokeyoshi19> Twin, I'll tell you in PM [01:02] <TwinArmageddonz> kk [01:03] <Pokeyoshi19> Or did you go on swapnote [01:03] <Sparkystream> :/ [01:03] <TwinArmageddonz> i went to sn [01:03] <Pokeyoshi19> Ok then read it [01:03] <TwinArmageddonz> kk [01:04] <TwinArmageddonz> wtf 19 new notes [01:04] <TwinArmageddonz> wtf i just got another one [01:05] <Pokeyoshi19> xD [01:05] <Pokeyoshi19> Twin, what's your FC? [01:05] <TwinArmageddonz> idk [01:05] <TwinArmageddonz> ask sparky [01:05] <Pokeyoshi19> ._. [01:06] <TwinArmageddonz> im busy [01:06] <Sparkystream> What happened to zzyex? 'o' [01:06] <TwinArmageddonz> what do you mean [01:06] <Pokeyoshi19> Sparky, gimme Twin's FC please °w° [01:06] <Sparkystream> &lt;Zzyex&gt; just quit watching it.... i STILL HEAR IT [10:27] &lt;Zzyex&gt; everything is flashing in colors... [10:27] &lt;Zzyex&gt; 2 HOURS OF THIS [01:06] <Sparkystream> Twin [01:07] <Sparkystream> gimme ur fc plz [01:07] <TwinArmageddonz> what [01:07] <Sparkystream> &lt;Zzyex&gt; im just going to shut down my computer and not touch it. ever. again. [01:07] <TwinArmageddonz> what [01:07] <Sparkystream> what [01:07] <Sparkystream> V'-'V [01:08] <Pokeyoshi19> Gimme your FC [01:08] <TwinArmageddonz> so many notes :/ [01:08] <Pokeyoshi19> Twin [01:08] <TwinArmageddonz> wait [01:08] <TwinArmageddonz> omg another one [01:08] <Pokeyoshi19> Waiting. [01:08] <TwinArmageddonz> same [01:09] <Sparkystream> random [01:09] <Sparkystream> random, [01:09] <Sparkystream> random? [01:09] <Sparkystream> darn it [01:09] <Pokeyoshi19> Yeah, stop it. [01:09] <TwinArmageddonz> jfc sparky so much spam [01:10] <Sparkystream> stop saying stop :[ [01:10] <Sparkystream> ? [01:10] <Sparkystream> &gt;:[ [01:10] <Sparkystream> what the? [01:10] <TwinArmageddonz> sparky i countered your animals [01:10] <TwinArmageddonz> nice try [01:10] <Sparkystream> nuuuuuuu [01:10] <Sparkystream> &gt;:( [01:10] <Sparkystream> last try [01:10] <Sparkystream> :( [01:10] <Sparkystream> dang it [01:10] <TwinArmageddonz> you asked for it [01:10] <Sparkystream> how do u do the angry face [01:10] <Sparkystream> NOOOOO [01:10] <TwinArmageddonz> hi calc [01:10] <TwinArmageddonz> &gt;:( [01:10] <Sparkystream> not cp twin! [01:11] <Sparkystream> no,twin the angry emoticon [01:11] <Pokeyoshi19> STOP STOPPING DON'T STOPPING TO STOP SAYING TO NOT SAY STOP [01:11] <TwinArmageddonz> not cute animals sparky! [01:11] <Sparkystream> yus they r [01:11] <TwinArmageddonz> cute animals scare me [01:11] <Sparkystream> yay [01:11] <TwinArmageddonz> wtF 14 NEW NOTES [01:11] <TwinArmageddonz> ITS BEEN LIKE 5 MINUTES [01:12] <Sparkystream> ur gonna make botty mad 'n' [01:12] <Pokeyoshi19> |:-(( [01:12] <Sparkystream> no,yoshi DX,the emoticon [01:12] <TwinArmageddonz> omg stop sending me notes [01:12] <Sparkystream> omg,Imma go find it [01:12] <Sparkystream> Its not me! [01:13] <Sparkystream> wel...not all of it ^^ [01:13] <Pokeyoshi19> Unibrow! :3 [01:14] <Pokeyoshi19> |:-) [01:14] <Sparkystream> (angry) [01:14] <Sparkystream> no,wait not that one,one worse [01:14] <Pokeyoshi19> (drunk) [01:14] <Sparkystream> &gt;:/ [01:14] <Sparkystream> XD [01:14] <Sparkystream> (mario) [01:15] <Sparkystream> omg [01:15] <Sparkystream> finally a working emoticon [01:15] <TwinArmageddonz> XD [01:15] <Pokeyoshi19> Ow mai gawd [01:15] <Sparkystream> C&lt;(pacmen)(pacmen)(pacmen)(pacmen) [01:15] <Sparkystream> ??? [01:16] <Sparkystream> (redghost) [01:16] <Sparkystream> C&lt;(redghost)(redghost)(redghost)(redghost)(redghost) [01:16] <Sparkystream> lol wut [01:16] <Sparkystream> C&lt; (redghost) (redghost) (redghost) (redghost) [01:16] <Sparkystream> 'w' [01:16] <Sparkystream> o/ [01:16] <Sparkystream> (wave) [01:17] <Sparkystream> (staff) [01:17] <Sparkystream> why so silent? [01:18] <Pokeyoshi19> (kill) (rape) (punch) [01:18] <Pokeyoshi19> Ok nvm. [01:18] <Sparkystream> e.o [01:18] <Sparkystream> there are young children here!(eyes twin) [01:18] <TwinArmageddonz> o.o [01:18] <Sparkystream> jk XD [01:18] <TwinArmageddonz> what [01:18] <TwinArmageddonz> im not young [01:18] <TwinArmageddonz> im 64564576547 [01:18] <TwinArmageddonz> woah [01:19] <TwinArmageddonz> spark~bye? [01:19] <Sparkystream> oh yeah im 000000000000007.0000000000000000000000000000000000000000000000 [01:19] <Sparkystream> omg..... [01:19] <Sparkystream> yoshi,just tell him [01:19] <TwinArmageddonz> i have so many notes :/ [01:19] <Sparkystream> check ur newest [01:19] <TwinArmageddonz> kk [01:20] <Pokeyoshi19> GIMME YOUR FC (zombie) [01:21] <TwinArmageddonz> omg [01:21] <TwinArmageddonz> i read it [01:21] <TwinArmageddonz> yoshi ill give you my fc later [01:25] <Sparkystream> :/ [01:27] <Pokeyoshi19> Bored [01:27] <Sparkystream> m2 [01:27] <Sparkystream> IM working on a secret ptc projrect though [01:28] <Pokeyoshi19> I have many, many PTC secret games, don't worry. x) [01:28] <Sparkystream> cool [01:28] <Sparkystream> what secret games r u making? [01:30] <Pokeyoshi19> Send me a PM. [01:33] <Sparkystream> I made a pretty good learnign program [01:33] <Sparkystream> Im also working on a code database [01:35] <Sparkystream> duk [01:35] <Sparkystream> ~did you know [01:35] <Sparkystream> that boot had more chrs in mind for boot bros? [01:35] <Sparkystream> also,is the pkmn xy glitch true? [01:36] <Sparkystream> about saves in luminouse city corrupting the files, [01:36] <Sparkystream> bye [02:46] <Calc84maniac> Hey Randomous, are you on? [02:46] <PTC Wikia Bot> Yes [02:46] <PTC Wikia Bot> What's up? [02:47] <Calc84maniac> Is there a way to update the image for my page on the Category page? [02:47] <PTC Wikia Bot> Of course! Do you want to post the new image on the wiki, or do you want to just send it to me? [02:47] <Calc84maniac> It's still showing the old photo [02:47] <Calc84maniac> oh, I mean [02:48] <Calc84maniac> here: [02:48] <PTC Wikia Bot> Ohhh [02:48] <PTC Wikia Bot> Yeah, that takes a while to update (it's quite stupid) [02:48] <Calc84maniac> oh, so it'll fix itself after a while? [02:48] <PTC Wikia Bot> I think the wikia server periodically goes through and generates the thumbnails to save processing time [02:48] <PTC Wikia Bot> Yes, but it may take a while [02:49] <Calc84maniac> okay, good to know [02:49] <PTC Wikia Bot> Here's a good example: [02:50] <PTC Wikia Bot> If you sort by "Most Visited", you'll see that "The Witch and a Boy" doesn't have a picture (or at least it doesn't for me) [02:50] <PTC Wikia Bot> But then you click on it, and obviously it does lol [02:54] <PTC Wikia Bot> Oy Calc, if I become a bureaucrat, do you want to be an admin? You don't have to sit around staring at the wiki all day, but if you have time and you see a problem, you could have the power to fix it. [02:55] <Calc84maniac> Hmm, I guess I could take some responsibility :P [02:55] <PTC Wikia Bot> Lol cool. I can't do anything yet, ut when I can, you'll know. [02:58] <Calc84maniac> So, I mentioned earlier that I started another Steins;Gate 8-bit port [02:58] <Calc84maniac> it's actually on the new TI-84 Plus C Silver Edition :D [02:58] <PTC Wikia Bot> Lol oh awesome! [02:59] <PTC Wikia Bot> How's that going? That's a mixed bag of compromises and enhancements, isn't it? [02:59] <Calc84maniac> hmm, yeah [02:59] <Calc84maniac> though actually [02:59] <Calc84maniac> the main compromise is going to be the music [02:59] <PTC Wikia Bot> Lol that can't be all [02:59] <Calc84maniac> everything else looks like it's going to be improved [02:59] <Calc84maniac> I mean, just check out this draw speed: http://www.youtube.com/watch?v=FaOEMnYz_vY [03:00] <PTC Wikia Bot> Bam [03:00] <Calc84maniac> Keep in mind this is on a 15MHz 8-bit processor, too xD [03:00] <Calc84maniac> I go crazy with optimization [03:00] <PTC Wikia Bot> Well, that's what you get when go from... what is it? 200MHz interpreted to 15MHz raw lol [03:01] <Calc84maniac> heh [03:01] <Calc84maniac> oh yeah, I guess screen clearing is slower in this version [03:01] <PTC Wikia Bot> Jeez, stupid interpretation. I REALLY wish petit computer 3 would have a compiler. I mean... it's not crazy to have one, but I know they won't [03:01] <Calc84maniac> since GCLS in practically instantaneous [03:01] <Calc84maniac> is* [03:02] <PTC Wikia Bot> Yeah, some things are just nice in Petit Computer lol [03:02] <Calc84maniac> and clearing the screen on the CSE takes at least 1/8 of a second (if not considerably more) [03:02] <PTC Wikia Bot> ...I thought there was an assembly call that cleared the screen? Or am I thinking of something else? Or is that it, and it just takes a while? [03:02] <Calc84maniac> just because of the combination of the slow CPU and the large 16-bit color screen [03:03] <Calc84maniac> That's 153600 bytes to output for a full frame [03:04] <Calc84maniac> and at 14 clock cycles minimum per output, that's 2,150,400 cycles minimum [03:04] <PTC Wikia Bot> Mmmm hang on, I thought it dumped a buffer to the screen? [03:04] <Calc84maniac> at 15MHz, that means at most 7-8 frames per second [03:05] <Calc84maniac> the buffer is located in the screen controller [03:05] <Calc84maniac> the black-and-white calculators used a buffer before outputting to the LCD usually, yeah [03:05] <Calc84maniac> but the CSE doesn't even have enough RAM to hold an entire screen buffer for this :P [03:06] <PTC Wikia Bot> LOL that's true, I guess I should have thought about that. [03:06] <Calc84maniac> but for this application, it doesn't really matter because I'm just drawing polygons, lines, and text [03:06] <PTC Wikia Bot> Goodness it's only 15K. What is that, 50 cents for some fast memory? [03:06] <Calc84maniac> it has 128K total RAM [03:06] <Calc84maniac> around 20K of which is usable for storing programs, variables, etc [03:07] <PTC Wikia Bot> They could have included at least a full screen buffer as an external video ram. [03:07] <PTC Wikia Bot> It could have been on the same chip... lol [03:07] <Calc84maniac> they didn't even change the chip from the original TI-84+ in 2004 :| [03:07] <PTC Wikia Bot> Ugh, they're so... I don't even know [03:07] <Calc84maniac> they just swapped out the LCD controller and the Flash chip [03:08] <Calc84maniac> at least we have a 4MB Flash chip instead of 2MB now [03:08] <Calc84maniac> which means ~3.5MB usable for storage instead of ~1.5MB [03:08] <PTC Wikia Bot> WOOOO! Jeez, I mean they're only charging a fortune, you'd think they could put some nicer stuff in there [03:09] <PTC Wikia Bot> http://www.ti.com/lsds/ti/dsp/embedded_processor.page [03:09] <Calc84maniac> one really annoying thing is that the old ASIC (that they're still using) has a glitch in the LCD port access delay hardware [03:09] <PTC Wikia Bot> What is it? [03:09] <Calc84maniac> which means you can't set the delay below 3 cycles or LCD access is ignored [03:09] <Calc84maniac> so that's an extra 3 cycles for every single LCD access [03:10] <PTC Wikia Bot> Well, 3 cycles isn't all that bad. But that still sucks [03:10] <Calc84maniac> which is why the minimum per byte is 14 cycles instead of 11 [03:10] <Calc84maniac> well either way, I don't really care for this game [03:11] <PTC Wikia Bot> ? [03:11] <Calc84maniac> it's still a nice crisp 320x240 pixel screen [03:11] <PTC Wikia Bot> Which "game"? The metaphorical one, or a real one? [03:11] <Calc84maniac> S;G 8-bit [03:11] <Calc84maniac> I think I worded that weirdly [03:12] <Calc84maniac> I don't care about the LCD hardware limitations in the case of this game [03:12] <PTC Wikia Bot> Oh, I see where the inflection would have gone if you were speaking [03:13] <Calc84maniac> I'm actually going to try breaking some new ground in this game [03:13] <Calc84maniac> I'm working on an audio output engine :D [03:13] <PTC Wikia Bot> ? New ground for you, or in general? [03:13] <Calc84maniac> both [03:13] <Calc84maniac> well, audio output has been done before, but not so much in an actual game [03:13] <PTC Wikia Bot> Lol really? [03:13] <Calc84maniac> plus, I'm going for some fairly nice quality [03:14] <Calc84maniac> 3 square wave channels and 1 white noise, each with adjustable volume [03:14] <Calc84maniac> which is pretty crazy, considering I have to do it all on the CPU [03:15] <PTC Wikia Bot> That... sounds hard [03:15] <Calc84maniac> it's going to take the majority of the processing time, but it'll be worth it [03:16] <Calc84maniac> pretty much all the "sound hardware" is just flipping the lines on the I/O link port [03:16] <Calc84maniac> which means I technically have 1-bit samples :P [03:16] <PTC Wikia Bot> Lol that's just not right [03:17] <Calc84maniac> well, with expert timing I can sort of simulate more states [03:17] <Calc84maniac> using pulse-width modulation [03:18] <Calc84maniac> which is how I'm managing multiple channels and volume control [03:18] <PTC Wikia Bot> I don't know how you have enough processing time for all that [03:19] <Calc84maniac> heh, it is pretty tricky [03:19] <Calc84maniac> I'm basing it on interrupts so it can run in the background [03:20] <Calc84maniac> I have a couple of interrupts running at around 21KHz to read audio samples and flip the link port lines on and off with the right timing [03:20] <PTC Wikia Bot> Oh, there are interrupts? [03:20] <Calc84maniac> then an interrupt running at about 85Hz to calculate the waveforms and fill the audio buffer [03:21] <Calc84maniac> (and this also handles the timing for the game itself) [03:21] <Calc84maniac> and soon it'll handle the actual music playback as well [03:21] <Calc84maniac> right now I only have it playing back pitches defined at the start of the program [03:22] <Calc84maniac> so I'll need to come up with some sort of music format and parser [03:23] <PTC Wikia Bot> So about these interrupts [03:23] <PTC Wikia Bot> How do they work? [03:23] <Calc84maniac> I set up a custom interrupt vector (normally only the OS can use interrupts) [03:24] <Calc84maniac> then I set up timers at certain frequencies [03:24] <Calc84maniac> well, I guess one of them has a variable frequency depending on the sample currently being output [03:25] <Calc84maniac> basically my 21KHz interrupt routine schedules the other one based on the current sample [03:25] <PTC Wikia Bot> ...I'm still confused lol. Is the interrupt handled in hardware? Or are you checking some sort of structure all the time? [03:25] <Calc84maniac> it's hardware [03:25] <Calc84maniac> the whole point of interrupts is so you don't have to check anything manually [03:26] <PTC Wikia Bot> Oh OK. I was thinking "this doesn't make any sense" lol [03:26] <PTC Wikia Bot> I know what interrupts are lol [03:28] <Calc84maniac> though of course, the 85KHz interrupt routine has to re-enable interrupts while it's filling the audio buffer, otherwise the sound couldn't output from the other buffer at the same time :P [03:29] <PTC Wikia Bot> Bah, low level programming woes lol [03:29] <Calc84maniac> I decided to go with a buffer because it's much more efficient to handle each channel separately than to keep track of them all at once on a per-sample basis [03:29] <Calc84maniac> (which I have tried in the past) [03:29] <Calc84maniac> it *did* sort of work, but I didn't get the nice volume control features [03:32] <Calc84maniac> I suppose one sort of annoying thing about interrupt-based output is that some instructions take longer than others, and interrupts can only trigger between instructions [03:33] <Calc84maniac> so the output isn't always as precise as I'd like [03:34] <Calc84maniac> like, if I set all of the channel volumes to 0, I hear slight fizzing :P [03:34] <PTC Wikia Bot> Yeah, I can imagine that basing sound processing on interrupts is very... unpredictable [03:35] <Calc84maniac> at least one nice thing is that this is one of the first projects where I actually wrote my code to play well with interrupts, lol [03:35] <PTC Wikia Bot> Lol [03:35] <Calc84maniac> a lot of times I end up resorting to using stack hacks or the registers usually reserved for interrupts [03:36] <PTC Wikia Bot> Were you really that pressed for resources? [03:36] <Calc84maniac> in some of my projects, yeah [03:36] <Calc84maniac> like my gameboy emulator [03:37] <Calc84maniac> of course, in other cases I go crazy with the optimization just because I can, like for my mode7 engine :P [03:37] <Calc84maniac> got that puppy running at 30FPS [03:37] <PTC Wikia Bot> GOodness, I always forget that you're the one that made everything lol [03:37] <Calc84maniac> unfortunately, my mode7 thing isn't released :( [03:38] <Calc84maniac> I don't really make that many things, but I get really ambitious when I do, lol [03:38] <PTC Wikia Bot> Yeah, but you made all the stuff people cared about [03:39] <Calc84maniac> I'd have to disagree there [03:40] <Calc84maniac> you're not giving the rest of the community enough credit :P [03:40] <PTC Wikia Bot> Lol all right, they were good too [03:40] <Calc84maniac> pretty much all I've got is a few emulators and a Chip's Challenge clone [03:41] <Calc84maniac> oh yeah, I almost forgot, I made another improvement to the Steins;Gate 8-bit engine in this version [03:41] <PTC Wikia Bot> What's that? [03:41] <Calc84maniac> an improvement over the original game, even [03:41] <Calc84maniac> allowing more flexible commands :P [03:42] <Calc84maniac> like, here's one of the more complicated examples: [03:42] <Calc84maniac> {go |walk }d{own}{{ {the }}stair{s}} [03:42] <Calc84maniac> brackets are around optional things [03:42] <Calc84maniac> | means either one works [03:42] <PTC Wikia Bot> Oh cool! [03:43] <Calc84maniac> this means it'll accept things like [03:43] <Calc84maniac> go downstairs [03:43] <Calc84maniac> walk down the stairs [03:43] <Calc84maniac> d :P [03:43] <Calc84maniac> gotta keep those one-letter shortcuts, lol [03:44] <Calc84maniac> unfortunately, I don't think I'll be adding this functionality to the Petit Computer version [03:44] <PTC Wikia Bot> Did you implement a nearly-complete regular expression recognizer, or did you just make it specifically for the game [03:44] <Calc84maniac> specifically for the game [03:44] <Calc84maniac> all it supports is [03:45] <Calc84maniac> {} for optional, for required, | for either [03:45] <Calc84maniac> and # matches any decimal digit [03:45] <PTC Wikia Bot> It's still pretty awesome [03:45] <PTC Wikia Bot> And here I am making Village... ugh, I need to do something more impressive lol [03:46] <Calc84maniac> hey, that's pretty cool :P [03:46] <PTC Wikia Bot> It's cool as a game (I assume), but it's not technically cool [03:47] <PTC Wikia Bot> The most technical thing in the whole game is probably the round-robin entity processing, which isn't technical at all lol [03:49] <Calc84maniac> hmm, actually, I do wonder if I should consider this regex stuff for the PTC version... [03:49] <PTC Wikia Bot> Well, if it makes it easier, go for it [03:50] <PTC Wikia Bot> You know people are sometimes... not very good at this stuff lol [03:50] <Calc84maniac> heh [03:50] <Calc84maniac> I'm just worried about performance and/or the complexity of the routine [03:50] <PTC Wikia Bot> Mmm cater it to petit computer [03:50] <Calc84maniac> right now I'm just using INSTR on each command set [03:51] <PTC Wikia Bot> Petit Computer has a crap-ton of memory, right? [03:51] <PTC Wikia Bot> Relatively speaking to TI-84, I mean [03:51] <Calc84maniac> yeah [03:51] <PTC Wikia Bot> While the user is just sitting there, generate a list of all possible entries for the given screen [03:51] <PTC Wikia Bot> It's going to take them a while to read anyway [03:52] <Calc84maniac> that could get exponentially large [03:52] <PTC Wikia Bot> I mean, how many things can you possibly say in one screen? [03:53] <PTC Wikia Bot> Hmm, but then you'd have to search through it all to find what you're looking for, and you'd only be able to store the strings in 4096 chunks [03:53] <PTC Wikia Bot> Ehh, I think the processing will be fine [03:54] <Calc84maniac> I could possibly make clever use of INSTR, even [03:54] <PTC Wikia Bot> Make a state machine [03:54] <PTC Wikia Bot> Using instr [03:54] <Calc84maniac> wait what :P [03:55] <PTC Wikia Bot> Yeah, you know [03:55] <PTC Wikia Bot> Create a generic template for a state machine, then create a specific one by mapping certain states [03:56] <PTC Wikia Bot> You can jump to states based on strings you generate at each screen [03:56] <PTC Wikia Bot> You can create a list of connections for each state [03:56] <PTC Wikia Bot> When you read a particular word, you'll go to a particular state [03:56] <PTC Wikia Bot> Set particular states as accepting (you can even have multiple values of acceptance), and if the input is done, check the state you're in [03:57] <PTC Wikia Bot> It'll use a lot of memory, but the processing will be low [03:58] <PTC Wikia Bot> ...Do you know what I mean? [03:58] <PTC Wikia Bot> Or is that just stupid lol [03:58] <Calc84maniac> I think you lost me [03:58] <PTC Wikia Bot> OK, you know what a state machine is, I assume [03:59] <Calc84maniac> somewhat? [03:59] <PTC Wikia Bot> http://en.wikipedia.org/wiki/Finite-state_machine [03:59] <PTC Wikia Bot> Basically there's a starting state, and based on a particular input, you go to another state [04:00] <PTC Wikia Bot> It's probably very similar to what you do already in the TI version, but more formalized [04:01] <PTC Wikia Bot> Anyway, what you would do is basically generate a mapping of words and states. For instance, you'd keep an array of strings and the corresponding state number that string will take you to [04:02] <PTC Wikia Bot> And you keep an array like this for each state [04:02] <PTC Wikia Bot> You break the input up into words, and those will be what the state transitions will be based on [04:03] <PTC Wikia Bot> Hmmm, let me see if I can't draw it [04:03] <PTC Wikia Bot> Oh, better yet, they have a table lol [04:03] <PTC Wikia Bot> On that page I sent you, there's a section on "State transition tables", that's what I mean [04:05] <PTC Wikia Bot> Do you have these rules defined for each page? These {} | rules? [04:08] <Calc84maniac> yes [04:08] <PTC Wikia Bot> Lol I'm sorry! I'm just being vague and unhelpful [04:08] <Calc84maniac> who knows though, actually using that format might work out fine performance-wise [04:08] <Calc84maniac> it only has to check when you enter something in, after all [04:09] <Calc84maniac> I guess the main difference would be going character-by-character over the rules [04:10] <PTC Wikia Bot> I'm sorry, I was thinking of the "Theory of Computation" way... which may just be more complicated than a straight-forward approach [04:11] <PTC Wikia Bot> Basically you convert a regular expression into a finite-state machine by creating a table, then you traverse the table to determine if the input is good or not (and there can be multiple values of goodness) [04:13] <PTC Wikia Bot> Really, I'm sorry! [04:14] <Calc84maniac> heh, no problem [04:15] <PTC Wikia Bot> I think I'll make that though. I want to see how hard it would be to make a regular expression system in Petit Computer [04:15] <Calc84maniac> and I'll give my character-by-character method a go [04:16] <Calc84maniac> one nice thing is that I'll be able to use a "stack" of strings :P [04:16] <PTC Wikia Bot> Lol well, I won't be making it for a while; I have too much other work to do [04:18] <PTC Wikia Bot> Can you explain the rules of your tthing again? [04:19] <Calc84maniac> okay, so [04:19] <Calc84maniac> parentheses around an expression means that the expression inside must match [04:20] <Calc84maniac> the entire expression has implicit parentheses around it [04:20] <Calc84maniac> curly braces {} around an expression means that it can optionally match [04:21] <Calc84maniac> and expressions separated by | mean that if any of the expressions match, then the whole expression (within parentheses or curly braces) matches [04:21] <PTC Wikia Bot> Why can't anything outside {} be explicitly matched? [04:22] <PTC Wikia Bot> That way you can remove the. Or does that not work? [04:22] <Calc84maniac> I'll give an example of parentheses [04:22] <Calc84maniac> (ride|board){{ the} train} [04:22] <Calc84maniac> the possible matches for this are [04:23] <Calc84maniac> ride, board, ride train, board train, ride the train, board the train [04:23] <PTC Wikia Bot> Hmm, but why can't it be ride|board{{the} train} [04:23] <PTC Wikia Bot> Oh, I see examples where this wouldn't work. [04:24] <Calc84maniac> that wouldn't accept ride train or ride the train [04:24] <Calc84maniac> | is low priority [04:24] <Calc84maniac> or rather [04:24] <PTC Wikia Bot> Well, I mean it's your language. It doesn't HAVE to be low priority lol [04:24] <Calc84maniac> it completely separates the expressions on each side [04:24] <PTC Wikia Bot> But yeah, I see what you mean [04:26] <Calc84maniac> basically how my parser works is [04:26] <Calc84maniac> if you hit a "|", it jumps to the end of the parenthetical with a successful match [04:26] <Calc84maniac> (assuming it matched) [04:26] <PTC Wikia Bot> Right [04:27] <Calc84maniac> otherwise it continues [04:27] <PTC Wikia Bot> Well, it doesn't sound like too much processing [04:27] <Calc84maniac> and if it hits a }, it just shrugs it off and keeps going :P [04:28] <PTC Wikia Bot> Yeah, my state machine idea is just overkill lol. That's more for full regular expressions [04:30] <Calc84maniac> I guess I do have a sort of state machine in that I go between two different states (match and not match) [04:30] <Calc84maniac> and state is kept track of by which code path I'm in [04:30] <Calc84maniac> or actually, I guess I have 3 states [04:31] <PTC Wikia Bot> ? [04:31] <Calc84maniac> matched, not matched, and testing