|
Contains Acetone fucked around with this message at 17:44 on Jun 24, 2020 |
# ? Feb 17, 2013 21:04 |
|
|
# ? May 18, 2024 03:54 |
|
Shalinor posted:... it just got uploaded for review What's up, waiting-for-review buddy!
|
# ? Feb 18, 2013 01:22 |
|
j4on posted:What's up, waiting-for-review buddy! ... I'm hoping it'll go into review status tomorrow. I really, really want this to be live in NZ for at least a day or two before Wednesday night. Anyways, that is an awesome porcupine.
|
# ? Feb 18, 2013 01:29 |
|
Congratulations to you two! (And good luck!) Apparently the timeframe between "In Review" and "Ready for Sale" can be as little as three hours. It's the "Waiting for Review" that'll get ya. :V Nibelheim fucked around with this message at 16:45 on Feb 18, 2013 |
# ? Feb 18, 2013 05:22 |
|
I've redesigned the front page for the productivity application I've been working on, called Elephant. Fully responsive now from mobile to desktop. Also put together a new video demonstration for it all. http://responsive.is/elephantneverforgets.com.au http://youtu.be/NLT0TlCm5SU
|
# ? Feb 18, 2013 23:14 |
|
Nibelheim posted:Apparently the timeframe between "In Review" and "Ready for Sale" can be as little as three hours.
|
# ? Feb 19, 2013 02:39 |
|
lord funk posted:...and as much as three days. Well, we just aced the review and now in "processing." Hurrah, everybody dance!
|
# ? Feb 19, 2013 08:15 |
|
j4on posted:Well, we just aced the review and now in "processing." Hurrah, everybody dance! I'm dancing to chip kitty dubstep, myself. https://www.youtube.com/watch?v=GQlrH16WeJI
|
# ? Feb 19, 2013 18:50 |
Shalinor posted:I entered "In Review" just an hour ago, and I'm betting I'll clear it soon too. Woo! Oh, it's Flicky. I love Flicky. Good luck on the App Store, I may give it a shot.
|
|
# ? Feb 20, 2013 05:32 |
|
I wasn't satisfied with the meditation timers I found for Android, so I wrote my own. I call it Meditation Assistant Free. It has very basic support for sharing sessions with the community. I'm adding features as I learn Java to help motivate my users to meditate at least once a day.
|
# ? Feb 20, 2013 10:10 |
|
tj9991 posted:I wasn't satisfied with the meditation timers I found for Android, so I wrote my own. I call it Meditation Assistant Free. It has very basic support for sharing sessions with the community. I'm adding features as I learn Java to help motivate my users to meditate at least once a day. Hey meditation Timer making buddy. I released one for iOS a few months ago (http://zazenapp.chmoddesign.com/) as another of my "Apps I want but couldn't find so I made it myself" series.
|
# ? Feb 20, 2013 18:19 |
|
Someone in IRC mentioned building snake as a good exercise to learn a new language- I'm pretty familiar with JavaScript but I want to learn more Object Oriented style. Also, I've never worked with Canvas before so- http://thomasphorton.com/snake.html I've got a bunch of little features I'd like to add like localstorage/db for high scores, but I primarily want to learn more about cleaning up the code and making it more efficient. There has got to be a better way for me to detect collisions, but I'm storing my snake segments as an array of arrays [[x1, y1], [x2, y2]...] and I can't find a good way to detect if something's already there. Right now on every game tick I check each each snake segment to see if the snake head exists in the same spot- that's definitely not the most efficient way. Overall I think it was fun to slam this out in 2 hours and it'll be a good learning experience going back and refactoring. I want to use a library like QUnit to learn about unit testing, so this could be the time to do it. edit: no mobile yet, but it would be cool to do some stuff with touch- just probably really hard to play.
|
# ? Feb 20, 2013 21:45 |
|
Nice jobbiochemist posted:There has got to be a better way for me to detect collisions, but I'm storing my snake segments as an array of arrays [[x1, y1], [x2, y2]...] and I can't find a good way to detect if something's already there. Right now on every game tick I check each each snake segment to see if the snake head exists in the same spot- that's definitely not the most efficient way. Given the number of elements you're working with this method is absolutely fine for what you're doing here. There's no need to introduce more complexity unless it's actually causing a performance issue. The only thing I would do different is maybe use objects for the positions, ie [{x: x1, y: y1},{x: x2, y: y2}...]. That way your code is more readable because you're accessing segment.x and segment.y instead of segment[0] and segment[1].
|
# ? Feb 20, 2013 22:19 |
|
HappyHippo posted:Nice job Thanks! The main reason I went with an array of arrays is so I can use unshift and pop to manipulate the segments- I unshift the head into the body, calculate a new head, and pop the last segment off on each redraw. Objects might be good for the apples though- it would let me store some data on them like color and point value. Thanks for the idea!
|
# ? Feb 20, 2013 23:01 |
|
biochemist posted:Thanks! The main reason I went with an array of arrays is so I can use unshift and pop to manipulate the segments- I unshift the head into the body, calculate a new head, and pop the last segment off on each redraw. You can still do your unshifting/popping with an array of objects though, can't you?
|
# ? Feb 20, 2013 23:20 |
|
HappyHippo posted:You can still do your unshifting/popping with an array of objects though, can't you? I was re-thinking what I said on my walk home- you're absolutely right.
|
# ? Feb 21, 2013 00:11 |
|
wrote out my name in github commits
|
# ? Feb 21, 2013 00:19 |
|
"Sorry guys, can't push that fix out this week! I need to spell my name!"
|
# ? Feb 21, 2013 03:00 |
|
Pardot posted:
Wow, that's the funniest thing I've seen in a while. Did you really spend a year on that.
|
# ? Feb 21, 2013 04:26 |
|
Nah, he's just a time traveler
|
# ? Feb 21, 2013 04:34 |
|
GeneralZod posted:Like the Qt toolkit? Like browsers? Then how would you like Qt running in a browser?! All Javascript and HTML5 - no nacl needed! GeneralZod posted:Some more updates on this here and here, plus a big bunch of demos and screenshots here. Next up: KDE + Kate: There's probably close to a million lines of C++ code there converted to Javascript - including a copy of JavascriptCore GeneralZod fucked around with this message at 11:39 on Feb 21, 2013 |
# ? Feb 21, 2013 11:36 |
|
biochemist posted:
Why check every segment, all you need to do is check the location the head is moving into - is it empty or not. POW instant collision check.
|
# ? Feb 21, 2013 12:50 |
|
biochemist posted:Someone in IRC mentioned building snake as a good exercise to learn a new language- I'm pretty familiar with JavaScript but I want to learn more Object Oriented style. Also, I've never worked with Canvas before so- Not that this is vital to the game itself, but you may want to be aware that the webfont you're using doesn't render well in Windows.
|
# ? Feb 21, 2013 14:23 |
|
j4on posted:What's up, waiting-for-review buddy! I just saw this on one of the design blogs I read, and thought it looked familiar.... congrats!!! http://www.swiss-miss.com/2013/02/petting-zoo.html
|
# ? Feb 21, 2013 17:03 |
|
Just finished up my "infinite" terrain algorithm in my 2D side scrolling game. I use a Minecraft style approach where I generate regions surrounding the player. When the player moves into a new region it removes old regions and adds new ones. The draw also checks to make sure it's not drawing any tiles that are off the screen. All in all it's fairly efficient and runs extremely smoothly while using very little memory. The regions are stored in a Dictionary with the upper left corner position as the key so I can quickly add and remove new regions as needed. https://www.youtube.com/watch?v=xvPocVSYwn8 Sorry for the headache inducing tiles. Obviously it will look nothing like this when finished, but my goals was to stress the game by having a tile in every available spot. It's also hard to tell because the current tile causes somewhat of an optical illusion but I'm basically moving all around in different directions throughout the video. I'm not sure yet how far it will let me go before it breaks, but I imagine whenever the float values containing the position become so large that the computer can no longer process them correctly. The next step is to actually generate a world that's more realistic. Not exactly sure how I'm going to accomplish it yet. Thinking I might generate the world before hand and save it to a file and then just pull in regions from the file as I need them, but I'm not sure how the performance will be by constantly pulling info from a file. Also, I'm really liking Monogame so far. When I tried a similar algorithm in Unity I just couldn't figure out a way to make it work efficiently while this solution took me one night to put together and I couldn't be happier with the results.
|
# ? Feb 22, 2013 04:22 |
|
Generated some hills for my algorithm. They're a little boring right now though: https://www.youtube.com/watch?v=CeY5wAfxvyw
|
# ? Feb 24, 2013 02:31 |
|
Contains Acetone fucked around with this message at 17:44 on Jun 24, 2020 |
# ? Feb 24, 2013 06:41 |
|
Contains Acetone posted:Generates the following GLSL: stupid question probably, but what is the #version directive? I don't think I've seen that before.
|
# ? Feb 24, 2013 08:44 |
|
Deus Rex posted:stupid question probably, but what is the #version directive? I don't think I've seen that before. http://www.opengl.org/wiki/Core_Language_%28GLSL%29#Version
|
# ? Feb 24, 2013 10:52 |
|
Not really a screenshot yet, but I'm overhauling an old project of mine that dumps game maps to generate pretty interactive HTML5 Canvases rather than browser-crushing tables of thousands of static images. I'm also porting it to a new language, so right now it doesn't even generate HTML, just plain text. Still, I'm pretty happy with the results so far. The levels are recognizeable even in ASCII art. (If you don't recognize it, that's System Shock 1)
|
# ? Feb 25, 2013 17:41 |
|
Took a little time away from generating maps to creating a few tiles that were a little less boring that white blocks with black border: Still need to work on the underground tile a little bit because it looks a little weird when repeating. I want to also make the grass a little more random. Also restructured the way I was storing my tiles. Originally my tile was a class that stored a byte consisting of the tile type. Storing about 3.5 million tiles made the executable take roughly 700k memory which I thought was acceptable. Simply changing it to a struct brought it down to under 150k! I wasn't aware that classes required that much more overhead. I also scrapped the idea of allowing negative positions referenced by a Vector2 dictionary in favor of using a multi-dimensional array that starts at 0,0 to help increase the overall speed of swapping the different tile regions. I'm really not sure what I'm going to do with this yet. I'm not really trying to just make a Terraria clone, but some of the ideas in the game are interesting to me. I'd like to do something with a little more exploration and less "mining" of tiles. Either way, just working on the various algorithms I'm using to create the world has been a great learning experience.
|
# ? Feb 27, 2013 05:53 |
|
My map generator is looking a lot nicer now: Next step is to make it possible to filter objects by type, and mouse over them for more information. At some point I need to add support for slopes, too - some of those ledges shouldn't be displayed at all (since slopes mean that they're actually a smooth ramp, not a staircase), and there's some ledges and walls that aren't being displayed and should be because they're implied by the presence of sloped tiles.
|
# ? Feb 27, 2013 15:33 |
|
Time for a status update on stuff. The VHDL NES is coming along, though my work has kept me busy and progress is dragging along. My current plan is to push for my work on the project to be a graduate-level independent study course over the summer. I'm also looking at targeting the XSA-3S1000 platform for the testing on actual hardware, since it has the VGA port built in and enough I/O pins for the cartridge connector. I'll have to rig up an external op-amp circuit for the audio output, but that shouldn't be too tough. I would have liked a built-in DAC, but what are you going to do. It seems silly to buy the big add-on board that provides an audio DAC when I could throw one together for $15. As for more active work, my embedded systems design class has a course project using an ARM-based BeagleBoard-xM single board computer. The project is left up to each team of students as to what they would like to do with it. Most students are making things like network routers, stepper motor controllers, and traffic light controllers. Of course, me being me, I chose to make a Super Nintendo. If you have that much multimedia capability in your embedded platform, why not make the most out of it? I'm the only one in the class working by myself, rather than being in a team, so that allows me to work on my project during all of that unused idle time in my day that falls between midnight and 3 AM. The current timing of the S-video NTSC signal is a bit off, leading to a shifted picture, so I need to figure out how to address that. Let me tell you... there are few things more tedious than calculating timing information for video signals. Software adjustments to expand it to fullscreen are costly in terms of performance, but I might be able to get away with a simple rendering offset: render a centered 640x480 subbuffer within the 720x482 native framebuffer with "filler panels" on the sides. I can get enough frames per second to actually play a game with the render offset, so that's a plus. For my testing setup, I'm pushing the S-video's NTSC signal through a VGA converter box so that I can use my desktop monitor as the display. I have a Linux 3.7.8 kernel with some experimental drivers running the system, and I'm still hacking on the kernel audio codec driver to get the audio working properly. Input is via a Tomee USB SNES controller. I could have gone with an actual SNES controller plugged into a special USB adapter, but you experience some noteworthy input lag using that method. The USB driver and software configuration for the controller also needs some work. Hopefully, that part will be far less hacking on kernel drivers and more user-space work instead. Once the major subsystems are all working, I'll put together a controller-driven GUI to turn the system into a formal "embedded appliance". I'll also rework the partitions to make as much of the filesystem mounted as read-only as possible, allowing you to turn the power on and off quickly without requiring an filesystem check. Reducing boot time, adding a boot splash screen, etc. also need to be addressed. hendersa fucked around with this message at 17:35 on Feb 27, 2013 |
# ? Feb 27, 2013 17:24 |
|
Man that is already really awesome stuff.
|
# ? Feb 27, 2013 20:01 |
|
Christ almighty.
|
# ? Feb 27, 2013 20:34 |
|
Wow nice, that's a lot of work! Are you also writing your own emulator for the SNES or using something off the shelf?
|
# ? Feb 27, 2013 22:08 |
|
Keebler posted:Wow nice, that's a lot of work! Are you also writing your own emulator for the SNES or using something off the shelf? There are off-the-shelp hardware implementations of the SNES available?
|
# ? Feb 27, 2013 22:45 |
|
Keebler posted:Wow nice, that's a lot of work! Are you also writing your own emulator for the SNES or using something off the shelf? The emulator is SNES9X (v1.5.3). In particular, it is the SNES9X-SDL port. It has fallback C-based emulation cores, and while the fallback cores are slower than their x86 assembly counterparts, there aren't assembly cores for ARM available. Besides, I have enough CPU horsepower to perform the emulation at at least 30 FPS, which is the refresh rate of NTSC. It's actually emulating at 60 FPS, but if the FPS drops because of computing-intensive activity, you never even notice because it doesn't get below the 30 FPS threshold of the video signal. I chose the SDL port because the base SNES9X only uses X11 as its rendering target and event capture mechanism on the Linux platform. I'm running on a raw, native resolution frame buffer target (/dev/fb0) without an X server, and SDL allows me to use the framebuffer as a video target (the "fbcon" video driver). Using SDL also allows me to use the various SDL test programs to run through each subsystem (audio, video, input) to troubleshoot kernel issues. I've found that the SDL port of SNES9X has a few quirks, but it isn't anything that I can't fix. Joystick/gamepad support was commented out for some reason, it wasn't parsing button configuration from the config file, etc. Little problems that were solved fairly quickly by running through the SDL test programs to capture data and then hard-coding it into SNES9X. Much of the needed code is out there, but the trick comes in getting it all configured and running. After a while, you get really good at finding all the bits and pieces that you need, since the real work is in designing and configuring the system, rather than writing code for every little subsystem. I've spent more time digging through kernel bug report mailing lists than I have touching code. There are a lot of wikis that contained the info that I needed, but it took some doing to resolve conflicting and outdated information. In a few cases, I just had to look at the kernel source to find out what was really going on, since I was seeing a lot of "I think it works like this..." on mailing lists, and it just wasn't true. Doctor w-rw-rw- posted:There are off-the-shelp hardware implementations of the SNES available? There are a few bits and pieces of hardware SNES implementations out there: fpgasnes snes-apu-fpga SNES SPC music player Basically, there are a lot of (usually incomplete) available hardware designs for SNES subsystems that could be cobbled together to get something working. For my project, though, I am using a commodity hardware design and am emulating the SNES functionality in software.
|
# ? Feb 27, 2013 23:05 |
|
Was responding to the wrong person, never mind Thanks for the additional information!
|
# ? Feb 27, 2013 23:14 |
|
|
# ? May 18, 2024 03:54 |
|
I was happy to finally get my last major audio bug diagnosed and taken care of. After a little bit more tuning, the audio now works like a champ with minimal CPU impact. Once I got that part up and rolling, I recorded a clip of the BeagleBoard SNES running in its current state: https://www.youtube.com/watch?v=enscdpjscz0 Still quite a bit to do, but the major subsystems are all up and running now.
|
# ? Feb 28, 2013 02:31 |