Ludum Dare 35 — April 15th-18th, 2016 — Theme: Shapeshift

Search Keywords: HTC Vive, Oculus, Mac OSX, Linux, Android, Flash, HTML5, Java, Unity

Back to Browse Entries

Ohm My, Color Me Squared

by amras0000 - Compo Entry

IF YOU HAVE ISSUES RUNNING THE GAME, MAKE SURE YOUR DRIVER SUPPORTS OPENGL AND CONTACT ME ON IRC.

A peaceful, gentle puzzle game. Starts out simple but some of the later puzzles may prove challenging.

Serving suggestion: Get as far as you can on your first go. If you like the mechanics, let the later puzzles sit in your head a while, give them some thought. They're not easy, but they can be reasoned out!

Let me know how far you're able to get :)

CONTROLS-----
Mouse and LMB - move things around, interact with things
F and R - rotate things
--------------

This is an experimental distribution method, and as such is subject to crashing and issues. The Windows build has worked on 4/5 tested machines.
I'm currently working on linux (and possibly mac) builds, hold tight *nixers.

If your gpu/driver does not support OpenGL, you will have issues running this game. See the readme for details.

Made with Panda3D and RenderPipeline, using Gimp, Blender, and Audacity.

Because I was writing in Python, the entry runs straight from source. Ie. the source is included in all distributions.

Good luck!

Downloads and Links


Ratings

Coolness62%
#34Innovation4.10
#173Overall3.60
#200Fun3.52
#305Graphics3.40
#312Audio3.03
#354Mood3.07
#559Theme3.23

Comments

tobspr says ...
Apr 18, 2016 @ 5:50am

Cool concept! The later levels are really challenging :)

Aaranos says ...
Apr 18, 2016 @ 11:59am

I got a :display:gsg:glgsg(error)" GLSL link failed: Link called without any attached shader objects. Have you tried building the code into an executable with py2exe?

jk5000 says ...
Apr 18, 2016 @ 12:20pm

A really amazing game. Well well done.

Marsouin says ...
Apr 18, 2016 @ 2:05pm

Funny game !

nintendoeats says ...
Apr 18, 2016 @ 4:55pm

I got stuck on what I assume was the last puzzle. I was starting to get angry at it and was really just doing trial and error. However, I really like this idea. It could be developed into a full game without too many changes. I didn't like the nighttime mode because it just added to my frustration, and it can be hard to distinguish blocks which are on the pedestal.

European plugs are hateful things.

jollyserpent says ...
Apr 18, 2016 @ 10:21pm

Awesome, I love puzzle games, and this one could easily be expanded into a full game. Quite challenging, quite pretty!

Odyssey says ...
Apr 19, 2016 @ 7:39pm

Cool concept, well done

jcmonkey says ...
Apr 19, 2016 @ 7:40pm

This is one of the best puzzle games i played this ludum dare.

James Coote says ...
Apr 19, 2016 @ 7:50pm

I also had a GLSL error. I'm running Windows 7 x64 with an NVidia GT 740m:

Running Panda3D from "C:\games\LD\LD35 others games\OhMySquared\windows_build\pa
nda3d_build"
[>] CORE Using native core module
Warning: pandac.PandaModules is deprecated, import from panda3d.core instead
:express(warning): Filename is incorrect case: /c/games/LD/LD35 others games/OhM
ySquared/windows_build/panda3d_build/etc/config.prc instead of /c/games/LD/LD35
others games/OhMySquared/windows_build/panda3d_build/etc/Config.prc
[>] RenderPipeline Using Python 3 with architecture win_amd64
[>] RenderPipeline Using Panda3D 1.10.0 built on Apr 9 2016 06:24:28

[>] RenderPipeline Using git commit f0cd1ce3158e52c4b3b8ed338ec510c9d
2a33398
[>] MountManager Auto-Detected base path to /c/games/LD/LD35 others
games/OhMySquared/windows_build/RenderPipeline
[>] RenderPipeline Mount manager was not mounted, mounting now ...
[>] MountManager Setting up virtual filesystem
[>] MountManager Mounting auto-detected config dir: /c/games/LD/LD3
5 others games/OhMySquared/windows_build/RenderPipeline/config/
[>] MountManager Mounting ramdisk as /$$rptemp
[>] RenderPipeline No settings loaded, loading from default location

Known pipe types:
wglGraphicsPipe
(all display modules loaded.)
:display:windisplay(warning): SetForegroundWindow() failed!
:display:gsg:glgsg(warning): gl-debug enabled, but NOT supported.
[>] RenderPipeline Render resolution is 1280 x 720
[!] RPLoader Loading '/$$rp/data/gui/loading_screen_bg.txo' too
k 94.69 ms
[>] LightManager Tile size = 24 x 16 , Num tiles = 54 x 45
[>] GPUCommandQueue Allocating command buffer of size 4096
[>] GroupedInputBlock Native UBO support = False
[!] RPLoader Loading '/$$rp/data/environment_brdf/slices/env_br
df_#.png' took 140.59 ms
[>] PluginManager Loading plugin settings



[!!!] psetting:PCSS Penumbra samples Invalid value: 2



[>] PluginManager Creating plugin instances ..
[>] plugin:scattering Loading scattering method for 'eric_bruneton'
[!] RenderPipeline Experimental feature activated, no guarantee it wo
rks!
[>] StageManager Setup stages ..
[>] StageManager Preparing stages ..
[>] CollectUsedCellsStage Allocating 77760 cells
[>] CullLightsStage Using 304 culling lines
[>] StageManager Writing shader config
[!] RPLoader Loading '/$$rp/shader/default_post_process.vert.gl
sl, rpplugins/scattering/shader/scattering_envmap.frag.glsl' took 96.17 ms
[!] RPLoader Loading '/$$rp/shader/default_post_process.vert.gl
sl, /$$rp/shader/flag_used_cells.frag.glsl' took 80.14 ms
[!] RPLoader Loading '/$$rp/shader/tiled_culling.vert.glsl, /$$
rp/shader/cull_lights.frag.glsl' took 81.4 ms
[!] RPLoader Skipping further loading warnings (max warning cou
nt reached)
[>] ScatteringMethodEricBruneton Precomputing ...
:display:gsg:glgsg(error): Could not create a GLSL compute shader.
:display:gsg:glgsg(error): An error occurred while linking GLSL shader
Link called without any attached shader objects.

Assertion failed: _supports_compute_shaders at line 5936 of c:\buildslave\sdk-wi
ndows-amd64\build\panda\src\glstuff\glGraphicsStateGuardian_src.cxx
Traceback (most recent call last):
File "main.py", line 3, in <module>
from globals import base, render_pipeline, world, plug_nodes, HOLD_DISTANCE,
SNAP_DISTANCE, WORLD_BOUNDS, Sound
File "C:\games\LD\LD35 others games\OhMySquared\windows_build\globals.py", lin
e 19, in <module>
render_pipeline.create(base)
File "C:\games\LD\LD35 others games\OhMySquared\windows_build\RenderPipeline\r
pcore\render_pipeline.py", line 194, in create
self.plugin_mgr.trigger_hook("pipeline_created")
File "RenderPipeline\rpcore\pluginbase\manager.py", line 172, in trigger_hook
getattr(plugin_handle, hook_method)()
File "RenderPipeline\rpplugins\scattering\plugin.py", line 49, in on_pipeline_
created
self.scattering_model.compute()
File "RenderPipeline\rpplugins\scattering\scattering_methods.py", line 169, in
compute
}, (self.trans_w, self.trans_h, 1))
File "RenderPipeline\rpplugins\scattering\scattering_methods.py", line 157, in
exec_compute_shader
(ntx, nty, ntz), attr, Globals.base.win.get_gsg())
AssertionError: _supports_compute_shaders at line 5936 of c:\buildslave\sdk-wind
ows-amd64\build\panda\src\glstuff\glGraphicsStateGuardian_src.cxx
[>] MountManager Cleaning up ..
Press any key to continue . . .

Paulgami says ...
Apr 19, 2016 @ 7:55pm

I could see the puzzle variation going a long way; it's cool.

Sean says ...
Apr 19, 2016 @ 7:57pm

Crashes on launch:

Running Panda3D from "D:\Games\LD35\windows_build\panda3d_build"
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

amras0000 says ...
Apr 19, 2016 @ 8:18pm

James Coote: your GPU driver probably doesn't support OpenGL. If you're running an integrated GPU that's typically the issue. Not much I can do about that, make sure your drivers are updated and such.

Sean: create an empty file in panda3d_build\python\Lib\encodings and name it __init__.py . Get back to me on the ludumdare IRC channel (#ludumdare on AfterNet) if the issue persists.

MerriGrape says ...
Apr 19, 2016 @ 10:56pm

Love the idea of a puzzle game, it fits the theme very well, and the gameplay is very fun. To be honest I didn't feel like the 3-d graphics added much to the game, I feel like a simple 2-d style could have looked better, but that's more of a personal thing. The fact that time changed while playing was a little weird, but it didn't prove too annoying. The gameplay is great, and so is the idea, pretty well put together.

Sean says ...
Apr 19, 2016 @ 11:51pm

OK, got it working!

Great little puzzle game! There was quite a leap in difficulty on the yin-yang puzzle, and the final two were especially challenging.

I found that judging depth was pretty difficult though, this made the larger stacks harder to deal with. Similarly, it was sometimes hard to tell which side of a piece you were looking at. I think it would have helped if the camera wasn't looking directly at the outlet or there were some more depth cues.

Kuality Games says ...
Apr 21, 2016 @ 1:08am

Cool game difficulty jumped to high at certain points, but very good concept!

erikkire says ...
Apr 21, 2016 @ 6:30pm

I cant get the file :(

amras0000 says ...
Apr 21, 2016 @ 10:18pm

sorry about that, uploading took longer than expected. Switching hosts finished now, though. Grab the files while they're hot :)

marmpa says ...
Apr 22, 2016 @ 10:11am

Oh my goss it is sooo difficult. Really nice tho

Yakka says ...
Apr 23, 2016 @ 3:59pm

Very interesting game mechanic. It can be tricky to manipulate these 3D objects while having in mind what kind of plug is on each side. But the puzzles are really clever.

aeveis says ...
Apr 26, 2016 @ 4:10am

Running Panda3D from "C:\Users\Daniel\Downloads\Games\OhmMy_win64\windows_build\
panda3d_build"
[>] CORE Using native core module
Warning: pandac.PandaModules is deprecated, import from panda3d.core instead
:express(warning): Filename is incorrect case: /c/Users/Daniel/Downloads/Games/O
hmMy_win64/windows_build/panda3d_build/etc/config.prc instead of /c/Users/Daniel
/Downloads/Games/OhmMy_win64/windows_build/panda3d_build/etc/Config.prc
[>] RenderPipeline Using Python 3 with architecture win_amd64
[>] RenderPipeline Using Panda3D 1.10.0 built on Apr 9 2016 06:24:28

[>] RenderPipeline Using git commit f0cd1ce3158e52c4b3b8ed338ec510c9d
2a33398
[>] MountManager Auto-Detected base path to /c/Users/Daniel/Downloa
ds/Games/OhmMy_win64/windows_build/RenderPipeline
[>] RenderPipeline Mount manager was not mounted, mounting now ...
[>] MountManager Setting up virtual filesystem
[>] MountManager Mounting auto-detected config dir: /c/Users/Daniel
/Downloads/Games/OhmMy_win64/windows_build/RenderPipeline/config/
[>] MountManager Mounting ramdisk as /$$rptemp
[>] RenderPipeline No settings loaded, loading from default location

Known pipe types:
wglGraphicsPipe
(all display modules loaded.)
[>] RenderPipeline Render resolution is 1280 x 720
[>] LightManager Tile size = 24 x 16 , Num tiles = 54 x 45
[>] GPUCommandQueue Allocating command buffer of size 4096
[>] GroupedInputBlock Native UBO support = False
I also get an error: The loading screen appears, but then closes. I have Windows 8 64bit.

[!] RPLoader Loading '/$$rp/data/environment_brdf/slices/env_br
df_#.png' took 81.98 ms
[!] RPLoader Loading '/$$rp/data/builtin_models/skybox/skybox.t
xo' took 101.28 ms
[>] PluginManager Loading plugin settings



[!!!] psetting:PCSS Penumbra samples Invalid value: 2



[>] PluginManager Creating plugin instances ..
[>] plugin:scattering Loading scattering method for 'eric_bruneton'
[!] RenderPipeline Experimental feature activated, no guarantee it wo
rks!
[>] StageManager Setup stages ..
[>] StageManager Preparing stages ..
[>] CollectUsedCellsStage Allocating 77760 cells
[>] CullLightsStage Using 304 culling lines
[>] StageManager Writing shader config
[!] RPLoader Loading '/$$rp/data/film_grain/grain.txo' took 302
.05 ms
[>] ScatteringMethodEricBruneton Precomputing ...
:display:gsg:glgsg(error): Could not create a GLSL compute shader.
:display:gsg:glgsg(error): GLSL link failed for program 1, "": Link called witho
ut any attached shader objects.

:display:gsg:glgsg(error): GLSL link failed: Link called without any attached sh
ader objects.

:display:gsg:glgsg(error): An error occurred while linking GLSL shader
Link called without any attached shader objects.

Assertion failed: _supports_compute_shaders at line 5936 of c:\buildslave\sdk-wi
ndows-amd64\build\panda\src\glstuff\glGraphicsStateGuardian_src.cxx
Traceback (most recent call last):
File "main.py", line 3, in <module>
from globals import base, render_pipeline, world, plug_nodes, HOLD_DISTANCE,
SNAP_DISTANCE, WORLD_BOUNDS, Sound
File "C:\Users\Daniel\Downloads\Games\OhmMy_win64\windows_build\globals.py", l
ine 19, in <module>
render_pipeline.create(base)
File "C:\Users\Daniel\Downloads\Games\OhmMy_win64\windows_build\RenderPipeline
\rpcore\render_pipeline.py", line 194, in create
self.plugin_mgr.trigger_hook("pipeline_created")
File "RenderPipeline\rpcore\pluginbase\manager.py", line 172, in trigger_hook
getattr(plugin_handle, hook_method)()
File "RenderPipeline\rpplugins\scattering\plugin.py", line 49, in on_pipeline_
created
self.scattering_model.compute()
File "RenderPipeline\rpplugins\scattering\scattering_methods.py", line 169, in
compute
}, (self.trans_w, self.trans_h, 1))
File "RenderPipeline\rpplugins\scattering\scattering_methods.py", line 157, in
exec_compute_shader
(ntx, nty, ntz), attr, Globals.base.win.get_gsg())
AssertionError: _supports_compute_shaders at line 5936 of c:\buildslave\sdk-wind
ows-amd64\build\panda\src\glstuff\glGraphicsStateGuardian_src.cxx
[>] MountManager Cleaning up ..
Press any key to continue . . .

amras0000 says ...
Apr 26, 2016 @ 11:55pm

aeveis: the graphics driver you're running doesn't support OpenGL, and I haven't built an openGL-free version yet (probably won't this LD). If you're running a laptop with two GPUs (typically one intel and one amd) you're going to have to manually switch to using the better/amd one to run this game. If your GPU doesn't support OpenGL I can't help you.

medidog says ...
May 1, 2016 @ 6:10am

I really like the idea of this game. Once it became night, it got really hard to see though.

dollarone says ...
May 9, 2016 @ 12:59am

Really nice entry. Puzzles that are intuitive to understand, yet hard to master. The levels gradually get harder. One bug held me up: one of the pieces disappeared!

Overall very good effort. I will come back and beat that last (?) level! (the sun dial one)

You must sign in to comment.


Mini Submission FAQ

TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

CAN I ENTER BOTH EVENTS?: You should pick 1 event, whichever you think it’ll do better in. If the idea is strong, and everything plays well enough, you can go Compo. If you’re a perfectionist, and would prefer people to play a more polished game, do the Jam. Historically, more games are entered in the Compo, but with more people and more time, Jam games have the potential to be better (that doesn’t mean they are). Many solo participants do enter the Jam.

If you made 2 games, unfortunately, the website doesn’t support multiple submissions per user. To submit your 2nd game, you will have to make a 2nd account. Only do this if you made 2 games. Alternatively, if one game is better than the other, then consider just entering the better game.

CAN I KEEP WORKING UNTIL THE DEADLINE?: Yes! Immediately after the 48 or 72 hours, we do something called Submission Hour. As the name suggests, it’s an extra hour for you to package, upload, and submit your games. If there were catastrophic issues trying submitting your game, or you misunderstood how submissions work, that’s okay. It happens. We’re flexible. If you need advice, check with the folks on IRC. If you need an admin, get in touch.

CAN I KEEP WORKING ON MY GAME?: Oh definitely! You should! But for the sake of judging, keep the Compo or Jam version around. You can include a link to the Post-Compo/Post-Jam version of your game on your games page, but sure your main links are the original version.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate at least 20 games to improve your visibility (Coolness).

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crashes, win condition, or tiny bugs after the deadline. In a sense, this is like “porting” to support more players. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just fixing mistakes you should have caught had you been better rested.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs (http://mysite.com/mygame.zip) and you will show up. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.


[cache: storing page]