Wednesday, August 5, 2015

[JL] VR Ocean

 I now have a VR-ocean up and working with real time GPU ray tracing for Oculus Rift using G3D::VRApp. It's very soothing to watch the waves. Open source code and demo will be coming soon after code cleanup.







Tuesday, August 4, 2015

[MM] Victory, with < hour to go


Here we have it, shoddy fully body tracking with an extra glitch effect (an adaptation of https://www.shadertoy.com/view/4t23Rc, applied to things with an alpha channel)!

You can see the calibration isn't quite right when I lean over to shut off the video at the end. Definitely need an automatic calibration method, too hard to get right (spent way too long on it today) and too easy to hit out of whack.

My next steps are definitely:

  1. Integrate an automatic calibration method, for getting the relative transform between the oculus camera and the kinect.
  2. Wire up my 2nd kinect
  3. Try generating a mesh instead of a point cloud.

This was a super fun jam, and I know how I'd approach things differently if I had to do it all over.

A moving light source In a Dark Scene

Since my last post I have worked on a couple of small things to make the hand tracking and visualization a little neater. I also worked to set up the initial experience that led me to work with the leap motion in the first place.

For those that remember my original goal was to create a VR experience where the subject is placed in a dark environment and is able to control with their hands the only light source. Below is a video of what I have done so far. 
In the original example the light source takes the form of a torch that is constantly on. In my experience I made it so that the light source the player controls is in the form of an orb that can be summoned by looking at your right while it is flat and facing upwards. If you tilt your hand or close your hand past a certain amount the light source disappears.

Williams College VRJam Site Pictures

Jamie has an infinite ocean ray tracing in real time and is fixing shading bugs

Dan can now cast a light spell using a hand gesture and is improving the rendering

Morgan finished his jam project and is now adding features to G3D::VRApp

[MMc] Body-space HUD layer working

Iron Man-style 2.5D Body Space HUD
Anyone using VRApp now has access to a virtual 2.0m-wide monitor (the DK2 is so low resolution that you need the virtual monitor to be large). It is in body space, so it is always near you, but you can move your head to see various parts of the screen at higher resolution. Everything is open source and committed to http://g3d.codeplex.com.

[JL] Ocean Waves and Movement

I'm Jamie Lesser, a student at Williams College and a researcher in the Williams College Graphics Lab. I will be joining for the second half of the VR Jam and hope to explore sea motion. Is the visual component of sitting on a bobbing boat on the ocean enough to feel like you are really bobbing? I find this question especially interesting because it requires no movement from the user, and so should be convincing in most settings. The main drawback would be increased motion sickness for those who are sea sensitive.



[MMc] Overnight GUI improvements

I made some changes last night, working from my laptop without a DK2. This verifies that you can use VRApp without the physical hardware installed (my brand-new laptop with Apple's idea of a "fast" GPU can only render at 6 fps, so you wouldn't want a DK2 attached).


[MM] Self sabotage

Instead of hitting "publish" on the last blog post and going to sleep, I stayed up and manually aligned the camera (by flying it around and micro adjusting, nothing even smart), to get the first video of the generated avatar. Ugly as heck (even left a debug coordinate frame in...) but really cool in-person. I can't wait to improve it, but I really do need sleep to make this jam the best it can be.


[MM] New Dev Station, and another step closer

Just an average living room

Monday, August 3, 2015

[MM] Update, point clouds

Lots of hardware issues and some software ones mean this update isn't the most exciting, but it is obviously better than before! I am rendering a point cloud generated from one kinect (which wasn't the one I started with... hardware issues...) stably in world space. Here I did a programmer dance for you:


Next steps:

  1. Turn off the computer
  2. Instead of taking a break, do wire management and figure out a decent setup for capture in my apartment.
  3. Manually align oculus frame and head position in point cloud
  4. Profile and optimize so that we run at 75 Hz.
  5. Make the point cloud flicker in a cooler way.
  6. Claim Victory.
  7. Add automatic calibration between oculus and kinect
  8. Add a second kinect
  9. Add a third kinect
  10. Experiment with other rendering techniques.

[MMc] First successful HUD rendering in VR

Pressing the Tab key now moves the G3D GUI (everything in onGraphics2D) from the debugging mirror display into the VR world. It appears in front of the HMD, floating about 1.5m away from the viewer. The effect is surprisingly cool even with a boring debugging GUI when you're in the HMD--it is augmented reality for a virtual reality world.


[DE] Hacked Leap Motion + DK2

At the end of my last post I said I was going to start working with the leap motion controller in a vr environment. Well I have attached it to the front of a Oculus DK2 using masking tape and have begun working.
After a bit of confusion as to the relative frames of the leap motion controller and Oculus I was able to get get the controller sort of working. Below is a video showing me wiggle both hands in front of the oculus. 

[MMc] First HUD layer success

The red rectangle in the center of the view is a 2D surface directly composited onto the HMD. The key bug was that I was positioning it behind the head before.


It appears that changing the HMD compositing quality may have been affecting the vertical axis direction the rendering rate. I'm not sure how this happened, but for the moment I disabled it to avoid the problem. Now, on to actually rendering a 2D GUI into that red square.


[MMc] Starting on GUI rendering layer

I created an ovrLayerType_QuadHeadLocked layer and initialized it. I'm just rendering it solid red for the moment. Such a layer has a 3D position. From looking at the Oculus samples, it appears that rotation is ignored on such a layer and the translation should have a negative Z value.

Right now the state is not good. Not only does the GUI layer not appear on screen correctly, about 30% of the time the 3D view flips upside down. It is extremely unpleasant when this happens if I'm wearing the HMD. I suspect that this may be an unintended consequence of my automatic effect disabling code based on frame rate.

The right eye also starts flashing cyan (the G3D default background color) every now and then. I think that both visual errors are separate from the GUI work that I've been doing.


[DE] First Leap Motion Results

Because of the extremely helpful instructions on the leap motion site, I have been able to make good progress. I have gotten the leap motion SDK hooked up to my project and have begun experimenting with the hand tracking. While eventually I would like to include a proper hand model, for now I have just been drawing out the joint positions. Below is a photo of my current representation of a hand. The blue spheres represent the joints in the hand, while the green sphere is the center of the palm.

[MMc] Pre- and Post-distortion, motion blur working in VRApp

DebugMirrorMode::POST_DISTORTION

DebugMirrorMode::PRE_DISTORTION

[MM] Kinect/Oculus/G3D playing nicely together

After struggling with annoying include conflicts, redefinition errors, and linkers, we have success #1!

The kinect data is being streamed live to a VR enabled G3D app. Note that the color data is already properly aligned with the depth, thank to borrowing some Kinect code from my labmates who have done extension work on 3D scene reconstruction using the Kinect and other similar RGBD sensors, some of which required highly accurate color alignment (http://www.graphics.stanford.edu/~niessner/papers/2015/5shading/zollhoefer2015shading.pdf).


If you are very observant, you may notice I am not reaching the target framerate for 75Hz. This is worrying, but I won't care until I get a decent point cloud first. Back to work!

[MMc] New VRApp Feature Spec, Motion Sickness Notes

Here's my plan for the next few hours:
  1. Add documentation for VRApp::Settings
  2. Group initial values of VR options onto VRApp::Settings
  3. Add VRApp::Settings option to override motion blur
  4. Add VRApp::Settings option to mirror the undistorted views, instead of the distorted one
  5. Implement VRApp::DebugMirrorMode::PRE_DISTORTION
  6. Add VRApp::Settings option to have G3D auto-disable post-FX if your GPU isn't meeting the DK2 frame rate for a scene. The steps will be:
    1. Profile in onAfterSceneLoad
    2. Disable bloom
    3. Disable AO
    4. Downgrade antialiasing
    5. Disable antialiasing
  7. First quick-and-dirty version of the UI that will let you see the GUI but not interact with it

[DE] Leap Motion support

I am Daniel Evangelakos, a recent graduate of Williams College and a researcher at NVIDIA. For this VR jam, I was inspired by a video of a VR demo shown to me by Morgan McGuire (https://www.youtube.com/watch?v=3qEBK1p4ct8).

In the video the player is in a dark cavern with a single light source. The light source is a torch that  is held out in front of player. He or she is able to illuminate different parts of the cavern by moving the torch around.

For this VR jam I want to create something similar to this demo. I want to have the player control the only light source. Furthermore I want the player to control this light source not with conventional inputs such as a controller or a mouse, but instead with their hands. 

To do this, I will be working with the leap motion controller pictured below. This device is meant to track hands and other objects in real time and return 3D models of them. 
Since there is no current support for the Leap Motion controller in G3D I will first have to get it working. Therefore, while I will still keep in mind my eventual goal I will consider this VR jam a success if I can get the leap motion working with G3D. 

VR Jam Begins

(US East Coast)

Good luck, everyone!

The Lawnmower Man


[MM] Plan for Direct Body Placement in VR

I'm Michael Mara, graduate student at Stanford University under the advisement of Pat Hanrahan and researcher at NVIDIA. For the past week I had been waffling back and forth between a large amount of possible projects for the VR Jam. This is a partial list of what I seriously considered:


  • AR by scanning room with kinect beforehand and importing model into VR scene.
  • Music Visualization
  • Big screen TV in VR
  • Full virtual machine desktop in VR
  • Godzilla stomping buildings (using kinect to track legs and a VR headset for display)
  • Video Conferencing in VR (use a kinect or stereo camera to get color+depth, render a 3D floating head/full body with only moving head)
  • VR Remote Control car/drone
  • RTS game where you are explicitly a commander using VR to control troops (this plays into the limitations of current VR, but would require many jams worth of prereqs (screens in VR, gesture control))
  • Soccer Header Game
  • Short 3D film in VR movie theatre, with something completely coming out of the screen
  • Getting a barbershop haircut
  • VR Cards
  • VR Ping Pong
  • Cast magic spells
  • Dodge bullets in the Matrix (Obviously would be better with bodytracking…)

Sunday, August 2, 2015

[MMc] Design for an in-HMD GUI

I'm Morgan McGuire, professor at Williams College and researcher at NVIDIA. For the game jam, I'm designing an adapter class that will allow using the G3D Innovation Engine GUI inside of the HMD view. I'll work on the G3D::VRApp class directly using Oculus DK2.

Avatar depicts world-space 3D UIs

Thursday, July 9, 2015

Machinis Ludo VII: VR Jam

2015-08-03 9:00 am EDT - 2015-08-04 5:00 pm EDT. 
Open to everyone with prior registration. E-mail mmcguire@williams.edu to join the jam!
Make a VR experience that is this much fun

The seventh Machinis Ludo game jam theme is: virtual reality. Given 32 hours, create a virtual reality experience. Keep your target modest--you aren't trying to make an immersive 3D game but instead a small and intense vignette of an alternative reality.

The jam will be run on the Internet, through this blog. We also have physical sites at Williams College and Stanford University where many people will gather to work together.

Monday, February 2, 2015

[MF] My Battlecode Report

Hi guys. If you were following the last game jam post you might have noticed that I had promised a grand description of a game that I wanted to make, but then I disappeared and never posted again! Well, I'm back, but not with that game. The reason is that I was hard at work on another side project: my submission to the 2015 Battlecode AI project.

Wednesday, January 21, 2015

[CW] Caves of Mars on github

I put the code for Caves of Mars on github: https://github.com/cwarren/cavesofmars

I've added several more things since the end of the jam, and expect to continue working on this for a while. The experience curve of the game has been seriously tweaked, and you can do a lot more with fungus (fungus like corpses). I also fixed a bug where throwing things wasn't possible when using the laptop key bindings.

Play time of a winning run is about 60-90 minutes.

Tuesday, January 20, 2015

[SAD] Game is up on Google Play

My game is "finished" and is up on Google Play:

https://play.google.com/store/apps/details?id=com.diggyground.game.android

[Nigel] Starting Late. Presenting "Bulletin (Working Title)".

Due to "chaos" and other commitments, I haven't been able to start my jam until today. This time around, I decided to make a mobile application rather than a game.


I'll be building it as a webapp using the usual JS/CSS/HTML, but will be porting it to mobile using PhoneGap

In short, the application is a public, location-dependent, ephemeral, bulletin board. A user can anonymously post a text snippet, photo, or 10s video. When a post occurs, all users will be able to view the current post until a new one is posted. Old posts are deleted as soon as a new post occurs. Further, users can only see posts made within a particular radius around them.

Progress: Since starting, I've implemented live snippet posting. I will be aiming to port to PhoneGap before implementing images and video. 



[MMc] Solar Golfing - polish pass


Monday, January 19, 2015

[SAD] Victory, but not done

I know have a game which has basically all of the features I wanted to have, and a reasonable amount of polish. There are additional features I am considering adding, though at this point the only things I may do soon are polishing up the "menu" and "game over" screens.

The most important thing that I want to do before the end of the jam is deploying the app as a package, signing it, and putting it on the Play Store: all things that will hopefully happen after dinner.

Current gameplay shot:

Hello All!

So Kyle and I finally finished up last night but had some trouble getting it online. Thanks to Tony those problems are behind us! Tony's the best. The game can be found here: http://yitongtseo.github.io/Build  I hope everyone has fun playing it! Level design proved an interesting challenge. The core game play mechanism is largely unlike other platformers and building levels that played to its strengths were a challenge. Hopefully we created some levels that work well. There may very well be further versions of this game so any feed back is very appreciated!

Kyle and Yitong

[SAD} Delayed track - Game??

So, I am working on a bit of a delay on this jam, but things are still moving along. At the end of today, I think it is safe to say I have a game, but it is lacking polish in a number of ways: one is that it could look better, the other is that I have some very hard to track down bugs (things that happen sometimes, but not others, yay!). Anyway, I have a score (depth of your traversal), an end condition (air) and at least 3 types of blocks (standard blocks with 1 to 5 durability (shades of yellow), air filled blocks (blue), and bomb blocks that kill you (red)).

Goal for tomorrow: Fix bugs, make game prettier (Start/End screens). Maybe make less silly assets, maybe test it on a different phone to find out what doesn't scale correctly (a 6-inch phone with a 1440p screen might not be the average use case) and hopefully get around to packaging it and dealing with technicalities of actually getting it on the Play Store.

 

Sunday, January 18, 2015

[CW] Caves of Mars - Victory!

While my starting point technically support win and lose conditions, there wasn't really much of a game there. After putting in about 12 hours over the last 4 days I have actual winning and losing, as well as a much richer set of mechanics and improved UI. I didn't get done everything I'd hoped (though my goal list was unrealistic for the timeframe), but I accomplished more than enough to feel comfortable calling this a victory! The enjoyment of playing it is now one of the things that slows my development :)

http://christopherswarren.com/caves_of_mars_v03/



[DF] So Many Doors - Victory

I think that's it for me. It has been super fun to work in this game jam and it's been awesome to see the games popping up all over this blog. As for myself, there are piles of things to improve about this game, but none on the TODO list tonight.

So Many Doors




Final Build
Build 6
Build 5
Build 4
Build 3
Build 2
Build 1

The source code can be found on Github.

I'm not really sure what problem rxjs is solving anymore. I understand the value of reactive programming and being able to construct pipes of relationships, but a part of me also feels like any sufficiently complicated dependent asynchronous relationships should either be (a) moved to a server for processing or (b) storing some easily serializable state which is updating constantly (like a video game). It was fun to use it at the start, but it is clearly not the correct solution for a game system. Mind you, no one designed it for that purpose in the first place, so I can be blamed for spending too much time hammering a round peg with a square hammer.

I'm happy with the art style and the super simple isometric rendering. It was fun to work on, and I'm psyched to give it another shot some time in the future.


[MMc] Solar Golfing final jam build

I added the aliens (it is ok to shoot into space now), added penalty strokes, tweaked some graphics, fixed a number of bugs that were exposed in playtesting, tuned a bunch of constants, and significantly increased the complexity of the planet generator based on your feedback. It seems to be pretty fun, even with just the one solar system--I'm now wasting too much time playing my game and not spending enough time writing it!

All planets still have ALL features turned on from the new procedural generator, so they are very rocky. The next step of post-game polish will be to vary feature probability distributions between planets, like the mountainous planet or the crater planet. There's probably only two hours of work until that bears fruit so I'd like to push through tonight, but have work tomorrow morning. I hope I'll be able to add those features early in the week so that I don't lose momentum.

Play the current build.

[DF] How to open up a door

I had a super fun moment where I made my girlfriend try out the build; she died instantly.
Then I added an intro level that explains the door opening mechanic a little better (I hope).

Current build


[TL] Game is Live!

After a very brief coding session late last night and work this afternoon, my game is now a game! I couldn't get my beat detection algorithm as precise as I wanted it to be (sound processing is hard) but it does an ok job picking up downbeats. The general idea of beat detection goes something like this:

  • keep a threshold volume level, with a beat occurring whenever the volume exceeds the threshold
  • set the new threshold to be the last beat; this prevents a cluster of beats detected
  • let the threshold level decay over time
  • keep track of the time when the last beat was detected to ensure false positives are reduced

I made the gameplay a little more challenging by giving the player obstacles to avoid: columns of "fire" that represent the frequencies of the song. Here's what gameplay looks like now:

Your score is constantly increasing, but when you touch the red/yellow portions of the screen your score decreases. I wanted this game to be a more casual experience focused on the music, so falling off the platforms only results in the player losing half of their points; in a sense you can't really "lose" the game. The beat detection algorithm seems to work best when there is a strong underlying pulse to the song; songs with too much "noise" across the frequency spectrum cause the beat detection algorithm some trouble.

The game can be played here, and you can even play with songs you have locally! The preloaded song takes a little while to get loaded, but local files should be up and running relatively quickly. The preloaded song "Point of Departure," is done by the awesome VeraIcon. People who were in Computational Graphics this past fall may recognize a portion of the song from the procedural cities midterm :)

I think my jam is more or less complete; I may tinker with the beat detection algorithm to see if I can get it to be more precise or try implementing tempo detection (shown here) if I have more time. I worked approximately 10 hours during this jam, with most of it spent reading up on and experimenting with beat detection.

I'd love to get some feedback on the game, as I feel the gameplay can be polished up much more (plus I'm sure there are some bugs). Thanks, and good luck to everyone who's still working!

[DF] Death State

Current Build

Added a death state, the snake monster, and some very basic balancing.
Next on the list is a victory state, to improve the random door generation, and add random coffee generation.

Does the UI make sense?
Do you die instantly?

[SAD] Diggy Ground - Progress and no progress

Yesterday I ended up being incredibly busy in such a way that I never reached a computer, let alone getting any game jam work done: So, I am going to be taking some extra time for the game jam, finishing up tonight if not tomorrow morning. It has been about 36 hours since I last worked on my game, so if we factor in an additional 36 hours, my game jam would end tuesday morning. By Friday night, I had finished implementing the basic mechanics: digging downwards and to the sides, smooth animations for all motions, infinitude of motion, and keeping track of distance. Now I just need to add a time/air limit, and it becomes a game, then I have to add varying blocks, so that it can be a somewhat interesting game, then I will play around with polish features like making things look better, a start screen, etc.

A current Screenshot of the game: (yes, the small red thing in the corner is distance/score, I will need to make that a bit bigger):

[DF] Running, etc?

Current build

RxJS continues to cause me pain in my codebase. I think it is much better at normal internet tasks of streaming data from APIs then it is at streaming a massive amount of state changes in a game.

In the mean time... there are levels, a dude who runs, some interaction with doors, but no Win State, no Loss State, and no Deferred Actions. I don't think I'm going to do the deferred actions, I don't think there will be much benefit to it from a game mechanics perspective.

I'll be adding the victory and loss conditions, some additional obstacles, and some more animations tomorrow.

[MMc] Solar Golfing - Victory

Solar Golfing
Solar Golfing is now playable, which means that I won the game jam. The tutorial solar system contains multiple planets, moons, asteroids, and the final wormhole. There are multiple paths through the system and the tutorial is designed to implicitly teach the concepts of the game (except: don't shoot your ball into empty space. The ball-retrieval code won't arrive until tomorrow!)

[CW] winning, losing, and throwing it all away

Polished the win and lose screens, various UI improvements, text fixes, and the big one is implementing throwing things, which makes all those rocks quite a bit more useful. Also tweaked the experience curve a fair amount.

http://christopherswarren.com/caves_of_mars_v02/

Saturday, January 17, 2015

[MM] 3D Snake: Victory

One more hour and 15 minutes of work in, and I have correct interaction with food (the snake grows), and food placement (randomly in the cube, but not in the snake). I made the food green, and put a light inside of it; though for now it is without shadows, and I think the food should be emissive as well. I also switched to a first-person view!
You also properly die if you run into yourself, and there is a score counter based on your length. So it *is* a complete game, and I declare victory.

However, it has a ways to go before being fun. This first-person view is disorienting with the instant 90 degree turns, so I will need to do some camera interpolation. I am also planning on adding the 3rd person minimap Morgan suggested.

Total time spent planning/coding: 3 hours 15 minutes.
Total time spent blogging: 45 minutes.

I am unlikely to be able to devote anymore time to the Game Jam this weekend, but the 4 hours I have used has convinced me this idea is worth pursuing and polishing, if only for the interesting UI challenges the unique movement of 3D Snake brings; and I'll be trying to clean this up for my January 1GAM. I'm excited for next game jam and will make sure to be able to fully commit at least day next time. Good luck to everyone else on this home stretch!

Lab Hours Sunday

I'll go into lab from about 6pm - 9pm Sunday if others are interested. I could also come in for some time before noon. Comment on this post if you'd like to meet up on campus to finish the jam.

[PhD] Mind Crush: Complete!

I'm happy to report that my game is done! I have implemented everything I wanted to during the Jam, and I am very pleased with the result. The final version is online and can be played here. For those who have already tried my earlier versions, there's isn't any new content. Just a few UI updates and bug fixes.


The title is an obvious jab at the popular "Candy Crush" family of games, but I think my version is far more challenging and interesting, and will force you to think in ways you're not accustomed to. In the future I'd love to add a little more content and publish this game on mobile devices (where it was meant to played!) For now, I have to stop because I must implement Tetris using OpenGL by Thursday for my Graphics class.

Thanks again everyone! Looking forward to the next Game Jam!

- Philippe Demontigny

[DF] Sorta isometric

Had the chance to work on the projection to and from the level space. It's consistent now, but I decided to go with spheres for everything to speed up the process. This means that mouse interactions with the surface are going to be iffy, so I'll have to space out entities a bit. That shouldn't be so bad.

Only the menu is up, now to write a runner and a generating level. I'm going to save interactions for later tonight.

current build


[MMc] Solar Golfing - rocket traversal complete

Shooting the ball in the hole now causes it to board the rocket, which takes off for the next planet. When the rocket hits the next planet it explodes, depositing the ball (the rocket then respawns in its original silo). I'm two special cases away from having a complete game. That should leave me all of Sunday to make the game fun to play and polish up some visuals and audio. Well, at least, the three hours I have to work on Sunday.

Better than your grandfather's golf cart.

[CW] fun with refactoring

Bit the bullet and did a major refactoring of the keybinding system. Added a few nice UI streamlines along the way - e..g can now do inventory-based actions (eat, examine, etc.) directly from the inventory list. Began infrastructure for a throw/fire system, but nothing yet visible on the surface. Visible changes aren't significant enough to justify a version bump, so I just updated the public v01 codebase: http://christopherswarren.com/caves_of_mars_v01/

Frustrating to spend so much time on invisible stuff, but in the long (or even medium) run it will make things much better and easier.

[MMc] Solar Golfing - improved minimap, refactored code

I just used prototype inheritance in Javascript. I feel very dirty, like I should hand in my functional programming badge and gun.

New round minimap in the top left and stroke counts in the top right.
David Bau's seedrandom.js just saved me a lot of time; it is a (minified) single line of code that you can drop into a Javascript program to make Math.random work with a specific seed.

[DF] Menu done

Current Build

I wouldn't bother playing this yet, you can only click the PLAY button


Whelp, there's the menu. I can safely say that I now know more than I ever wanted about the RxJS library, and that it might be approaching levels of 'dark magic with lazy evaluation and complicated schedulers'. 

Sadly, the dude isn't running yet, so I'm behind schedule. I do have a bit of time to work on this today though, so that's exciting. And I suppose I learned something.


[MM] Movement

I went with the control scheme I talked about in my intro post, with up, down, left, and right relative to the way your snake is facing. It is extraordinarily confusing from a 3rd person view; but it does work.


Next up is implementing food and walls; then experimenting with making the controls tractable. I think I will need some sort of widget showing the orientation w.r.t the camera each arrow key would put your snake into if I stick with 3rd person view. Of course if I switch to first person, things get a bit easier on that end, as arrow keys will correspond to the same rotation in camera space all the time.

Time Since Previous Update: 45 min.
Total Time: 2 hours.

[MMc] Solar Golfing: one small step for a man, one giant leap for mankind

Please play the latest version online and give me feedback in the comments.

Multiple planets are now working correctly, and it is possible to make shots that go from one planet to another. The "holes" in Solar Golfing are rockets, which are the normal way to take the ball to the next planet. The solar system is like a golf course, and each planet is like one hole of the course.

Houston, the Eagle has Landed

[CW] Caves of Mars version .01

Changed quite a bit from where I started. I've put a lot of effort so far into the narrative & flavor side of things, and added quite a bit of not-necessarily-obvious functionality along the way. For those who are using a numberpad-challenged system, the Home backslash key will switch you to laptop-compatible key bindings (WASD-ish, but since it's an 8-based topology it's more like QWEASDZXC).

http://christopherswarren.com/caves_of_mars_v01/



Have fun!

Friday, January 16, 2015

[TL] Basic Beat Detection Working

Hello everyone! After wrangling a bit with the API I'm using, I was able to filter the sound file and isolate where the downbeats occur within the song, drawing platforms appropriately:


This picture doesn't really do it justice, but unfortunately I haven't been able to find a screen recorder that has decent audio quality, so if anyone has suggestions that'd be great :) That's all for now, next steps are to introduce a finer grain filter to capture more of the beats (backbeats, syncopation, etc.) as well as adding some game logic.

[PhD] Last update for the evening: Title Screen!

Just a quick update, I've added a title screen with some simple instructions! I still don't have a name for the game, so that's the last item on my agenda. Let me know if these instructions are self-sufficient enough for a new player to understand.

Can you guess where the title is supposed to go?
 Click here to play the game!

[PhD] Falling Blocks Update!

Thanks again to everyone who tested and commented on my game! I have now successfully updated the game to include the "falling blocks" mechanic common to many other puzzle games. I think that this adds a layer of strategy to the game that wasn't present before, and makes the player feel like they're a bit more in control of their score.

Play the game here.
Read the instructions in my previous post here.

Cascading Symbols in action

[MMc] Playable Solar Golf

The game is now playable (but not winnable...there is no hole). I left the debug visualizations on because they look neat to a developer. I'm temporarily hosting the game here, try it out!

Debug visualizations while working on coordinate system issues.

[MM] Shockingly my hour estimate was off...

But 1:15 in, I do have infrastructure in place and the main simulation loop done. The snake even does the classic "start as a single block and extend" at the beginning!

[MMc] Solar Golfing UI Done

I've created planets with appropriate gravity and randomized terrain, a ball with the desired physics, and a UI for hitting the ball. The atmosphere is not just visual--it indicates the region within which the planet's gravity is constant, to allow somewhat normal golfing around the planet's surface. Gravity then falls off quadratically outside of there.

Solar Golfing in development with all rendering and physics done

[SAD] Mobile Digging

For this game jam, my main goal is to make a game that is natively mobile. So, not a web game that happens to be playable on mobile devices, but an actual android/iOS (but not really) app. What this means is that I probably want to use some library to abstract away annoying packaging details with making an app for any platform; I also didn't want to use any tools that would put me under restrictive licenses in case I wanted to actually release (or polish, and then release) my game.

[DF] Rendering things and playing audio

First Build

You can't do anything, but there is definitely a pixel or two being drawn on the screen.

I would really love to have a Python Script that automatically writes every git commit I make to an Amazon S3 bucket... I might write that at some point today because it seems like a useful thing to have. That would probably throw me off my schedule though. :(

Selfie Thread / Jam Begins!

We're off! Good luck to everyone on the jam.

Since we're distributed at multiple sites, I encourage you to mail me a selfie at mcguire@cs.williams.edu that I can add to this post. That way, that everyone can put names with faces and see each other's development setup.
Chris (VT)
Dan (NY)
Mike (CA)


Morgan (MA)

Sam (MA)
Kyle (MA)

Tony (MA)

Nigel (MA)