Panzorfork

Members
  • Content count

    36
  • Joined

  • Last visited

Everything posted by Panzorfork

  1. [Dev Log] Rewind

    I should note that the game is now up on itch.io at http://panzorfork.itch.io/rewind
  2. Winter Wizard Jam Team Building Thread

    I'm making a game for WWJ based on the quote, "Did you ever wish you could rewind time?" I'm making a game for WWJ based on the quote, "Did you ever wish you could rewind time?" Where was, I? Oh yeah, I'm making a game for WWJ based on the quote, "Did you ever wish you could rewind time?" I'm working in Unity with C#, and have experience programming in Java [spring, springMVC, spring boot], C#, Javascript [current browser / node, ES6, coffeescript, typescript], Lua, Python, SQL [mysql, t-sql, postgres], and some languages that I don't like to mention because people make funny faces (Scala, Lisp, C++, C, D). I have been writing games sporadically for a while now, and have been working on websites, tools and programs professionally for about as long. We would love some help doing level design, preferably from someone who has opinions about whether or not they would like to be able to rewind time. Elektrikwizard is making the music, and I am confident about the engineering aspects, but any help would be appreciated. The game is a puzzle-platformer with time travel mechanics and has initial influences from Braid (mechanically, not thematically) and Unfair Traps. If anyone is interested, please PM me, and let me know if you ever wished you could rewind time -- also, let me know what you're interested in helping with.
  3. Playables of 2014

    I also put a lot of work into the website for Arcturus Proving Grounds, and a slightly playable easter egg: http://www.apggame.com/ Lower the main content by pulling the pink ribbon in the upper right hand corner, or press down. You can change the pictures by pressing left and right, but you can also type in "fun" or "ghost" to make fun ghosts appear. This resulted in a small library for getting the pixel position for fonts in a web browser and a pseudo-playable demo page: http://john-holland.github.io/lettergetter/
  4. Playables of 2014

    Calm Simulator This is a demo I made a few months ago to brush up on Unity. It simulates calm. Enjoy.
  5. Not-Game Doodles

    Thanks! Unity's reverb zone and AudioSource make for some really calming sound effects.
  6. Not-Game Doodles

    I've chosen a more whimsical name for my not game doodle per the rule, and included instructions: http://panzorfork.itch.io/calm-simulator The bug you encountered may have been was user error. As such, I hope the instructions on the new page will resolve it. That's mega cool!
  7. Not-Game Doodles

    I've updated the cube demo. It should now be much more calming. http://panzorfork.itch.io/giggling Hint: Walk into the cube to feel calm!
  8. Not-Game Doodles

    Oh that's right - it is totally unnerving. It turns out all it takes is a little reverb on a giggling audio clip.
  9. Not-Game Doodles

    I'm just digging into unity, but here's two not games for you: https://drive.google.com/file/d/0B4L_LeDaVHWHSjBjRjN3ek5UU1AyZ3Q1ek50a3kxUjB5TDFr/edit?usp=sharing This is just a cube that giggles... walk up to it. I promise it's not creepy. I made this to play around with the reverb zone in unity, along with making a very simple controller and monkeying around with some shaders. https://www.dropbox.com/s/ok3bzexa6gwtmx4/builds.7z This is a thing that I made to play around with inter-component communication, and playing audio clips. I was interested in how music should be played in a unity game, and also wanted to mess with terrain, triggers, particle effects, wind, trees, grass and skyboxes. There are four areas: palms, floating smokey rocks, a grove of trees (that are apparently magical) and some houses. Each of these areas contains a trigger which will influence the music that plays. The music is quantized (past tense of the quantization process?) to 117 beats per minute and will only play new clips at the 24th beat. The music is also all .wav format, so the demo is WAAAAAAY bigger than it needs to be. For reference, this is what the idea is pulled from: http://www.inbflat.net/ A note: The music can be very loud, and play abruptly, as it's pure randomness besides the quantization process / where you stand influencing what plays. Maybe turn down your speakers, and then take a stroll around. Enjoy - or not, they're not games.
  10. Hey all, Just before going to bed on Friday night, I had a stupid idea for a script that would take the various tags on a page and animate them to render a string. That night at 4AM I woke up with a bit of insomnia (probably induced by drinking a 36 ounce bottle of Moxie in the hours leading up to bed and being over excited at recently getting a new job, idk though). Before finally getting back to sleep at 6AM, I ended up writing a pretty stupid script. Behold: breckon.js To run, navigate to idlethumbs.net in either Chrome or Firefox and open the developer console (in Chrome F12, then click "Console", in Firefox Control-Shift-K), then copy and paste the entire breckon.js script into the console and press enter. A technical breakdown of my lazy javascript for people who are slightly weary of running random javascript (or just interested): Line numbers at represented by [number], ie: [53]. Please note also that this script was written at 4AM and not really improved or fixed very much (beyond getting it to work), so there may be some extraneous / misnamed variables etc. loadScript is a function I wrote a while back to load up javascript [3], it's pretty bad, but it works. You'll notice the breckon function contains an IIFE (Immediately Invoked Function Expression) [50], then the jQuery ready function shorthand [51]. I added the IIFE around the ready function for pages that may not be compatible with jQuery (not that this script is very nice to page, but hey). I create a large canvas [70], set the body background color to gray [74] (so you can more clearly see what's going on), grab the window [78] (actually the document, w/e), setup the message [82], check to see if the "otherMessage" parameter has been set [84] (in the wrapping IIFE) and set the text size [88]. Fill the canvas with white [90], set the fill style to black and set the font style / font [95], measure the text width [98], use a hack to get the approximate text height [99], and render the text on the canvas [105]. I get the amount I'll need to scale the text compared to the document width [107], grab the pixel data [109] then start a double for loop to loop through each of the pixels in the canvas [113]. I get the offset for each pixel by multiplying the y value by the imageWidth (since it's a one dimensional array), then add the x value to get the proper x/y index [115] (which gets multiplied by 4 because pixel information is held in sets of 4 (red, green, blue, alpha all 0-225 values)). I then check to see if each color is equal to 0, meaning black [120]. If the pixel is black, I check to see if the firstPoint has been found yet [121] and store it if it hasn't, then I push the current pixel location into the points array relative to the firstPoint [128] (such that the value of the first pixel will be 0, 0). I select a good deal of tags [149] (I really just should have used $("*"), but w/e) and store them for later use. I create the empty elems array for later use [150]. I check to see if the currentPointIndex is greater than the points.length [157] and set the index back to 0 if it is; this creates the looped rendering of the message. I check if there are no more tags in the elems array and call selected.toArray() to fill it back up [163] (this was pretty lazy and a waste of memory, yay!). I pop the last tag off the elems array and throw it into jQuery to get the selector representation [167], get the current point to use [169] and increment the currentPointIndex [170]. I then call .offset() on the selector to get the top and left values for the tag relative to the top / left of the document [172], such that when I detach [175] and re-add [177] them with absolute positioning, they'll (mostly) look like they are being animated from where they were previously sitting. I then set their CSS such that they can be animated [180], look to be where they were previously [182], are only 10px wide / tall [184], should be above everything else [186] and won't have any overflow [187]. After the tags are moved roughly to where they previously were, I call .animate() on the selected tag and tell it to move to the scaled point that represents a black pixel of the message [196]. In the .animate() call, besides setting the duration, I also give it the "callbackLoop" function to use as the always callback [201] (which always gets called once the animation completes, whether or not it succeeded). I unnecessarily increment the zIndex variable, because that does nothing and I was tired [203]. Once all that is setup, I call "callbackLoop" to kick the whole thing off [207], and remove the canvas I used to render the message [209]. There, now you know how the sausage is made, I hope you're happy, because I certainly am, Congrats Nick Breckon Edited: Changed the Chrome instructions to be a bit more clear
  11. Thanks osmosisch! I've changed the script a bit to maintain the previous size, then animate down to 10px wide / tall. I also made it a bit slower, from 50ms to 100ms. I made a short twitch.tv video tutorial, it got cut off a bit on the end, but it gets the point across (all that got cut off was me compulsively saying "have a good one"): http://www.twitch.tv/panzorfork/b/456048170