Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1395937 Posts in 67320 Topics- by 60448 Members - Latest Member: Arc

October 17, 2021, 02:34:29 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsUmbragram - Isometric Shadow Puzzle Game
Pages: [1] 2
Print
Author Topic: Umbragram - Isometric Shadow Puzzle Game  (Read 6867 times)
alts
Level 0
***



View Profile WWW
« on: April 08, 2013, 11:11:20 PM »

Umbragram is finished!

Download it here:
http://games.evilrobotstuff.com/umbragram





Original Post



Hey, everyone. During GDC, I played around with isometric block puzzle ideas, and ended up stumbling upon this idea. The premise is that the player is presented with two shadows (XZ and YZ), and much construct the 3D isometric shape that casts those two shadows.


Design


It's not a terribly novel idea, but I presented it to a few people, and they responded positively. Picross (and any nonogram more generally) shares similar mechanics and objectives, and those games are rather popular. I feel like a lot of them are just busywork, though. I'm planning on keeping the game pretty short, with a small selection of handmade shadow pairs that exploit the premise in most interesting way possible. I don't want to waste the player's time with similar shapes.

There are a few shadow pairs that I've found that "unwrap" in interesting ways.

I've given some thought to how to make puzzles replayable (and whether that's even a good motivation at all), and the best I've come up with so far is a golf-like system of minimizing actions or blocks placed. The solution space of this game isn't very large though, and I think that optimal solutions for non-trivial shadows might be the most natural solution.

Visuals


Everything in the screenshot is a placeholder. I haven't decided what visual style I'm interested in for this, but given that it's really just a bunch of isometric cubes, it probably won't get much fancier than lines and glowing colors.

Tech


I'm writing the game in Lua with Love2D. It'll run on Mac and Windows, and if I find a Linux box or a friend with one, I might be able to provide Linux binaries too. Chances are I'll be releasing the source with the game once it's done.

What's next


Rotation: Not all shapes can be created at the moment, since only three faces of a cube are ever visible. Some questions arise. Should the target shadows rotate with the shape, or should only the shape rotate.
Comparing cast shadow with target shadow


Anyway, let me know what you think. I tried to do onegameamonth, but I'm coming in at more like onegameeverytwo. Making games is a mostly nights and weekends kind of thing, so progress is going to be a bit slower paced.
« Last Edit: February 24, 2014, 10:38:54 PM by alts » Logged

jO
Level 4
****


Adventure awaits!


View Profile WWW
« Reply #1 on: April 08, 2013, 11:22:30 PM »

Interesting idea; simple and very understandable yet I can see that you'll be able to come up with a lot of puzzles.
The most interesting point to me is how the player places blocks - having to place something in a 3D space is always tricky if you want it to be as simple as the games premise.
Logged

wccrawford
Level 3
***



View Profile
« Reply #2 on: April 09, 2013, 06:45:21 AM »

Great idea.  I love these kinds of games.

If you weren't already working on it, I'd probably give it a shot, just for fun.
Logged
fylth
Level 0
***



View Profile
« Reply #3 on: April 09, 2013, 10:47:57 AM »

Will the block placing area be rotatable? Might make block placing a little easier.
Would also allow for puzzles with 6 shadows to match...*shudder*
Logged
Brother Android
Level 10
*****



View Profile
« Reply #4 on: April 09, 2013, 12:22:45 PM »

This is a really cool idea, although I personally might hate playing it because isometry always messes with my head.

Quote
Will the block placing area be rotatable? Might make block placing a little easier.
Would also allow for puzzles with 6 shadows to match...*shudder*
I'm guessing that a big part of the point of this game is that the perspective is fixed...
but if nothing else the game could have some hard puzzles with a shadow in the third dimension that also needs to be matched. (Not quite sure how you'd display it)
Logged

alts
Level 0
***



View Profile WWW
« Reply #5 on: April 09, 2013, 08:23:52 PM »

Thanks for the responses. Was a bit wary of making the thread. I'm far more a lurker than a poster.

The most interesting point to me is how the player places blocks - having to place something in a 3D space is always tricky if you want it to be as simple as the games premise.

This was the first thing that I tackled. I'll try to make some .gifs later that show what I'm doing. I saw this game as kind of a challenge to make mouse control in a 3D isometric space not feel awful. I think I've accomplished that. Hopefully I can have something playable up soon.

If you weren't already working on it, I'd probably give it a shot, just for fun.

Do it! The mechanics are easy to implement, so it's pretty immediately gratifying. And then you get to focus on polishing the elements you find important.

Will the block placing area be rotatable? Might make block placing a little easier.
Would also allow for puzzles with 6 shadows to match...*shudder*

I'm playing with rotation now. I think it's necessary, since more than half of all figures cannot be made unless rotation is there. An alternative to rotation would be a deletion tool. I might implement both just to feel it out.

This is a really cool idea, although I personally might hate playing it because isometry always messes with my head.

There are some shapes that are absolutely horrendous right now because of the projection. I'll need some advice from artists on how not to destroy the player's sense of space. isometric paradoxes are way too easy to manufacture.
Logged

Brother Android
Level 10
*****



View Profile
« Reply #6 on: April 09, 2013, 10:28:14 PM »

Is this just going to be freeform, or will you have to place a set number of pieces with fixed shapes to produce the desired result? When I heard "Umbragram", my mind jumped to Tangram, so I immediately assumed the latter, but now I'm not sure.
Logged

DustyDrake
Level 10
*****



View Profile
« Reply #7 on: April 09, 2013, 10:52:53 PM »

Ohh, I remember doing these problems in middle school!
Fun times, cause we got to break out blocks and everything.
Logged

wccrawford
Level 3
***



View Profile
« Reply #8 on: April 10, 2013, 02:59:44 AM »

Haha, okay.  I actually started on it last night.  Couldn't help myself.  I wasn't going to release it, though.  (If I ever *finish* it.)  But since you're okay with it, I'll probably release it eventually.

And you're right.  I've already made changes to the design from your stuff here.  It's just a natural part of game development.
Logged
alts
Level 0
***



View Profile WWW
« Reply #9 on: April 14, 2013, 11:07:03 PM »

Gave LICECap a shot since everyone else has gifs.


Two things going on in this gif. First, three different shadow types are on display. Yellow for unfilled targets. Green for filled targets. Red for filled non-targets.

The other is rotation, which I'd been messing with for a bit to determine what feels best. As a result I think the scene captured above is wrong. Specifically, having the target shadows fixed does something weird with the shadow feedback colors.

Imagine a situation where a shape must be rotated in order to be built, for example the letter T. As the player places the first 7 blocks, target shadow areas turn green. Two block remain to be placed. The player rotates 90 degrees either left or right. Now only one of the 9 target shadow tiles is lit green, and 4 others red. The player will have to place two blocks blindly, and then rotate to determine the appropriate feedback. That strikes me as strange. As a player, I'd expect my visible progress in building a shadow to be invariant under rotation. Because of this, I'm going to have the target shadows change when rotating, to preserve the relationship of whats been drawn. This is actually what I had built first, because it seemed right. I wanted to try the alternative to assure myself that that decision was the right one.
Logged

wccrawford
Level 3
***



View Profile
« Reply #10 on: April 15, 2013, 03:15:25 AM »

Yeah, I agree that the shadows should change to match as you rotate the piece. 
Logged
Cheetah
Level 0
**



View Profile
« Reply #11 on: April 15, 2013, 04:28:51 AM »

Interesting game idea. Here are a few quick ideas on controls:

1) For mouse controls and touch controls, for working in a 3D space I think the player should first choose a vertical column to place in and then drag the block around to place in the horizontal planes. Should be fast and natural feeling. Then a delete function.
2) Took me a while to figure out what you were trying with the rotate function. At first I thought you ment making it fully 3D so the player could freely control the orientation. Now I see you mean just an auto rotate in the isometric to get alternate views. This could get confusing really fast for the player. I would just recommend only a 180 degree flip. This would just cause the shadows to become mirrored (I think?), give the player access to the majority of hidden spots, and would be simpler. There is something to be said to limiting the rotation and making a planned approach to the puzzle even more important so that they player needs to avoid blocking their own view.
3) Hard mode where feedback isn't immediately given if a piece was correctly placed on the shadow area.
Logged
alts
Level 0
***



View Profile WWW
« Reply #12 on: April 22, 2013, 08:31:35 PM »

Last week I went to a game dev meetup here in SF. I made sure to have something resembling a game by that point, so I created levels, a way to progress through them, and success states. Since then I've cleaned some stuff up a bit, and worked on a build system to automatically pump out binaries. here is a playable build, alpha01 version.

https://dl.dropboxusercontent.com/u/160744984/umbragram_mac.tgz
https://dl.dropboxusercontent.com/u/160744984/umbragram_win32.zip
https://dl.dropboxusercontent.com/u/160744984/umbragram_win64.zip

(there is a readme in the download that explains the controls)

The reaction at the meetup was pretty positive, which was really exciting. I definitely found that there is a certain class of person that just "gets" the game, and breezes through it. It isn't actually difficult, but most of the people who played it (from my perspective) over-thought things. There was also some struggling with isometric paradoxes, which was fun to watch.

On a more technical note, I decided to build my levels in a stupidly simple text format. It made it easier to change the ordering of levels (I still failed a few times since a crowded bar isn't the easiest place to edit files on your laptop). A python script then turns that into a bunch of nested tables. Here's the level file for the alpha build:

Code:
5




 XX     XX
 XX     XX

XXXXX XXXXX
X     X
XXXXX XXXXX
    X     X
XXXXX XXXXX

XX      XXX
X        X
XX     XXX
 XXX   X
  X    XX

 XXX  XXX
XX     X
X     XXX
XXXX    XX
  X      XX

  X      XX
  XXX XX X
    X  X XX
X XXX XX  X
XXX   X   X

Logged

alts
Level 0
***



View Profile WWW
« Reply #13 on: May 11, 2013, 11:23:16 AM »

Took some time off from the game for Ludum Dare. Still spending a lot of playing other entries, but giving this game some attention as well.

One of the things I implemented recently was smooth rotation. The sudden 90 degree rotations can be jarring, and once the player has built up a reasonably complex structure, it's hard to tell what they're actually looking at when they rotate. Making the rotation smooth helps players visually track where each element is, so that even if the ending configuration is a paradoxical shape, they know where everything came from.

Here's a simple example. Excuse the framerate.

Logged

alts
Level 0
***



View Profile WWW
« Reply #14 on: August 01, 2013, 11:06:45 PM »

Reviving this, as I've been working on it again recently.

I demoed the game at a meetup here in SF on Tuesday, and got a pretty good response, which is encouraging. I'm focusing now on polish and optimizations, mostly.

Something that comes up every time I demo the game is the ability to delete blocks, which is something I'd explored, but removed in lieu of an undo operation. There were a couple reasons for it.

First, the player gets immediate feedback on block placements. The block is either acceptable or incorrect, and the player is informed immediately. Further, there is never a reason to remove a block if its in an acceptable location. It's either good or bad, and that state never changes. Because of that, undo just makes more sense to me.

Another more compelling reason is that giving the player the ability to delete blocks forces them to understand rules that they otherwise wouldn't have to. The current rules for block placement require that a block be attached to another block (below or to the side) or the floor, and that it can be traced back to the floor somehow. That rule is never communicated to the player though, they're just incapable of building anything that doesn't meet those criteria. Adding deletion would require that the player be cognizant of the rule, as only specific blocks in any configuration would be deletable.

I could do away with the constraints on block placement, and make block deletion an integral part of the puzzle, but I'm not sure that it'd result in more interesting puzzles. Just busy work of building scaffolding, and then tearing it down.
Logged

wccrawford
Level 3
***



View Profile
« Reply #15 on: August 02, 2013, 02:59:05 AM »

Most of the puzzle games I've played that are similar offer 2 versions.  The first tells you immediately if you do something wrong, and then penalizes you for it.  Too many mistakes and you lose.  The second version doesn't give you any feedback at all until you win.

I very much prefer the second version.  It lets you stop and think, and experiment, without penalty.
Logged
alts
Level 0
***



View Profile WWW
« Reply #16 on: August 02, 2013, 09:23:46 AM »

Most of the puzzle games I've played that are similar offer 2 versions.  The first tells you immediately if you do something wrong, and then penalizes you for it.  Too many mistakes and you lose.  The second version doesn't give you any feedback at all until you win.

I very much prefer the second version.  It lets you stop and think, and experiment, without penalty.

Should be easy enough to add that second mode. I'm not fond of a "lose" state for this kind of puzzle, though, in the same way that a Rubik's Cube has no lose state, just incomplete states.
Logged

alts
Level 0
***



View Profile WWW
« Reply #17 on: August 18, 2013, 12:28:40 PM »

Occasionally I feel the need to take a break from working on the game itself, and instead work on things somewhat tangential to it.

I'm planning on adding an optional "Golf Mode", which would present the player with a Par score, and then compare their performance against that. I'd like my par scores to be actually meaningful, though, so I'm going to write a solver for the game that finds all possible solutions to a particular puzzle, and gives me a histogram based on how many cubes it requires.

The first step for me was to find a way to represent shadow configurations in an easily iterable way. I ended up using that code to figure out just how many valid shadow configurations there actually are.

Naively, there are 2^25 (33,554,432) many configurations for a single shadow (a puzzle is comprised of two). Constraining it based on the rules of block placement, there are actually 2,948,344 different shadows. This doesn't help me at all in making the game (unless I decided I wanted to randomly generate puzzles), but it is interesting to explore.
Logged

ashtonmorris
Level 2
**


View Profile WWW
« Reply #18 on: January 31, 2014, 02:59:53 PM »

I like it! Following Ninja
Logged

Ashton Morris - Composer & Sound Designer

Roah * Bomblsinger * Goliath * Wings of Vi * Lemma * Bit Heroes * Star Command Galaxies


http://www.ashtonmorris.com

Twitter: https://twitter.com/ashtonmorris
alts
Level 0
***



View Profile WWW
« Reply #19 on: February 24, 2014, 10:48:16 PM »

The game is done. I dropped the project for a while as I was having audio syncing issues that I thought were my fault, but ended up being a bug in Love 2D itself (resolved in the latest release.

Check it out: http://games.evilrobotstuff.com/umbragram
Thanks.
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic