PDA

View Full Version : 48H3: FoldSpace



Nerosis
21-03-2011, 11:22 AM
I'm going to give this a shot. Hopefully I'll finish in time.

FoldSpace

http://i1219.photobucket.com/albums/dd430/NerosisEntropy/screenshot2011-03-2713-54.jpg

It's origami Jim, but not as we know it.

Unfold the tale of mankind's expansion into space, planet by planet. Exploit planets for their wealth. Find valuable artifacts. Laugh at the rules of topography.

Gameplay: A turn-based single player puzzle game with procedurally generated levels. The player unfolds a graph of action squares over a procedurally generated grid of planets. The effectiveness an action depends on the planet it is unrolled over. The manpower used, resources gathered and artifacts found all contribute to the player's final score, so the unfolding should be done carefully to make optimal use of the available actions.

http://i1219.photobucket.com/albums/dd430/NerosisEntropy/instructions.jpg

Controls: Point and click with two basic actions (fold and unfold). The control scheme is simple enough to map nicely to touch screens, but I'm not going to try to support touch within the 48 hours.

Challenge:
- Do something wierd: http://artofgamedesign.com/cards/69_Weirdest_Thing.png

Restrictions:
- Minimise what the player can control/do (eg. few buttons, little input)
- Use tech you haven't used before

Technical Stuff: I'm going to be using WPF to write the game. While I use Silverlight\WPF in my day job, I've never used it to write a game before, so I think it counts for the restriction. :) The game will be quite simplistic graphically, but if any artists out there have the time to make some small images of planets, I'd greatly appreciate it.

Download: http://dl.dropbox.com/u/10436093/FoldSpace.zip
(you will need .NET 4 installed)

edg3
21-03-2011, 01:51 PM
glad you're joining us! And good luck :)

BlackShipsFillt
21-03-2011, 07:39 PM
This sounds really interesting... though I'm a little confused by how it will work.


The player unfolds a graph of action squares over a procedurally generated grid of planets.

I can sort of picture how I would do this (unfolding a graph that is)... but I'm really keen to see what your implementation/visualisation is.


Laugh at the rules of topography.

How? What? This sounds awesome but I can't picture it. Is it a simulation of mankind's expansion with time bending? What is it?

I think the idea of iterating through a simulation of mankind's expansion with only indirect input, if that is indeed what this is, is a brilliant idea.

Nerosis
22-03-2011, 02:41 AM
I can sort of picture how I would do this (unfolding a graph that is)... but I'm really keen to see what your implementation/visualisation is.

I've included a quick diagram in the original post that will (hopefully) help to explain the core game mechanic a bit more. I still need to flesh out how the numbers will work. I'm probably going to need more resource types. :-/


How? What? This sounds awesome but I can't picture it. Is it a simulation of mankind's expansion with time bending? What is it?

You'll notice in the diagrams that the player can unfold the same set of actions in different directions. This is impossible with real paper which can only be unfolded in the exact reverse direction to which it was folded up. The requirements needed to complete the level will be calculated based on the computer's original fold-up pattern, but it's entirely possible that a good player could unfold in a more efficient manner than the computer did, for which they should be rewarded.

There is sort of an element of time bending in the game through the undo function that allows the player to fold up branches of the graph that they unfolded incorrectly.


I think the idea of iterating through a simulation of mankind's expansion with only indirect input, if that is indeed what this is, is a brilliant idea.

I'm not sure if it's quite as complicated as you are envisaging. :-)

herman.tulleken
22-03-2011, 08:26 AM
This looks very intriguing...but I also don't understand how it works... You better give us a download link to check it out!

Nerosis
22-03-2011, 12:46 PM
I'm working on providing a version you guys can download and run. It will be pretty intuitive when you can interact with it - it just doesn't lend itself well to explanation. Unfortunately most of the work of the 48 hours will need to be done before I can show you anything that won't just confuse you further. I'll upload something as soon as I've got the core mechanic in.

Nerosis
26-03-2011, 05:53 PM
About 13 hours in

There is a new screenshot in the original post.

I'm nearly at the point where the game becomes interactive. Most of the required UI is in place, and I'm working on procedural generation algorithms. As you can see in the screenshot, the code to generate the unfolded "sheet of paper" is in place. Now I need to fold it up. After that is the unfolding animation. It's a simple effect, but the game won't make sense without it. I'm dreading it, though - I suspect WPF is going to give me grief. It would have been a lot easier to pull off in Unity.

On that note, I thought I'd compare my experience with WPF vs. past experience with Unity. I chose to prototype in WPF because, with one solitary exception (the fold/unfold animation), the entire game is 2D and static. I am also going to use a fair amount of text. Please note that I'm not claiming that WPF is better than Unity for games. This is one of the few games I'd try with WPF, and if I were (hypothetically) to take it to market, I would probably rewrite it in Flash or Unity. But WPF has some advantages for all of it's disadvantages:

WPF Pros

Debugging: Unity has made big strides in debugging from version 3.0 onwards, but it still falls shy of the debugging support provided for traditional application development in Visual Studio. Game programmers, like their business software brethren, spend 80% of their time chasing bugs. I'd like to see some of the tools designed to ease this very frustrating task filter from the commercial programming world into game development.

UI: FoldSpace is a pretty wrapper over a grid of buttons. :-) I thought about this when I trying to decide which technology to use, and to be honest I was daunted by how complicated this would be in Unity. Not using the Unity GUI framework would have guaranteed that I miss the 48 hour deadline. Using the Unity GUI framework would still have left a lot of additional images that needed to be displayed that couldn't be displayed on the buttons, and I just knew that it was going to become hundreds of lines of custom mesh and UV co-ordinate code, and hours of debugging. WPF makes UI effortless for 2D games or prototypes that can afford the performance knock.

Vector Graphics: For programmers like me that are best kept away from the art stuff, vector graphics are very useful for prototyping. In less time than it would take me to create sprites in MS Paint/GIMP, I can slap together some quick clean vector graphics right in the XAML that get my point across while still looking reasonably smart and approachable. Vector graphics are also much more flexible - I can throw the art in from the beginning, and tweak it as I design, instead of throwing it out and redoing it. The step from prototype art to final art is a gradual iterative improvement, not a complete rework once the game is done.

Nerosis
27-03-2011, 02:25 PM
About 25 hours in

I've added a download link to the original post. The basic fold/unfold mechanic is in and working. I've abandoned the strategy elements I had originally planned for the game - it's complicated enough without adding number crunching as well. :-) Instead I'm going to mark the tiles that were originally over planets with a symbol, and mark the planets with the the same symbol. The tile/planet symbol pairs will act like breadcrumbs for the players, giving them small checks as they unfold the stack to make sure they're on the right track. If the symbols represent Mining, Attacking, Colonising, Exploring and other actions that can be performed on planets, then I can keep the original fluff intact. The planets should not be such weird colours.

To be honest, I'm quite burnt out with the project. I've explored the viability of the core mechanic. I haven't put in the other gameplay elements that I intended to. I don't think I'm going to work on the game any further before the competition deadline. As such this version is probably my entry to the competition. I'll come back to this and take it further next week, work permitting.

Tip: You can modify the number columns, rows and planets in the config file that is included with the game. There is no error checking on the values though, so be careful.

Feedback is welcome. :-)

BlackShipsFillt
27-03-2011, 05:14 PM
Ahh! Dot Net 4!

And I was looking forward to finally being able to understand this game!

Nerosis
27-03-2011, 05:25 PM
Sorry BlackShips. :-) If it's any consolation, you're not the only one my choice seems to have inconvenienced. I could port it to Silverlight, but given that the 48 hour restriction would not apply to the port, perhaps a clean rewrite in Unity might be in order. I'm not entirely happy with how the game plays at present, but the mechanic keeps nagging at me. Somewhere at the core of it is a good puzzle game. I just need to find it.

BlackShipsFillt
27-03-2011, 05:43 PM
I like that new screenshot. You say that you're not happy with how it plays... but it looks like there are some fairly deep strategic choices in this game (though I can only speculate, Microsoft and me only really emulate compatibility at the moment)

Nerosis
27-03-2011, 06:16 PM
The depth is an illusion, I'm afraid. In the current build the planets are eye candy (literally :-D), but even following the idea I tried to explain in the diagram below the screenshot, the player's input is limited to picking a path through a tree of options. Only one path is valid. Arbitrary "score" can be assigned to a path through the tree that does not lead to success to give the player credit for partial success, but unless that partial success can be used to ensure further success later on, there is no motivation for the player to be content with anything but perfection, which I don't feel will sit well with most players because the puzzle is very hard.

I'm concerned that the game doesn't provide the player with any encouragement until they have solved the entire level. There is no indication that the player is on the right path to solve the puzzle until they reach the second last turn. It's possible that the player can discover on the third last turn that they have solved the entire puzzle incorrectly, and will need to backtrack most of it to correct their mistake.

Stepping back and thinking about it, this game plays exactly like Grow (http://www.eyezmaze.com/grow/v3/index.html), but without the cute Flash animations that make Grow so all-consuming.

herman.tulleken
28-03-2011, 04:14 PM
I like the core idea very much; I agree that there is something here worth exploring!

Like you said, the puzzles are quite hard. I am curious to know exactly how the puzzles work. How do you generate them? At each turn, the pile splits in two... how are the numbers for the two piles calculated? How do you know that there is always a solution, and that it is unique? (At one stage I thought I found two different solutions by moving the initial pile first... but when I took screenies, I saw that they were the same after all...)

I ask, because I cannot see from the game alone exactly how it works. This makes the game feel arbitrary like Grow, but I don't think they are the same... your game clearly has some underlying mathematical structure - revealing it to the player is the key to making more fun, I would say.

(Oh, and if you update it, please add a "Reset" button, and perhaps also a "Regenerate" button.)

Nerosis
28-03-2011, 08:43 PM
I didn't realise that the mechanic was that difficult to pick up. Obviously the unfold animation I put in isn't working. My bad.

http://i1219.photobucket.com/albums/dd430/NerosisEntropy/mechanics.jpg

Imagine I have a piece of paper, cut as in Figure 1. I can then fold it up square by square (Figures 2 to 4). Unfolding works as expected, except that the game doesn't prevent you from unfolding a stack in another direction from the direction you folded it up in, as long as the height of the unfolded stack is the same as it was before it was folded up. So Figure 5 is a valid unfold of Figure 1, because it is topographically equivalent if you view the squares as a nodes in a tree.

The number on each stack is the height of the stack, and the numbers on the two piles when unfolded are the same as they were when they were folded up. I know that there is at least one valid solution because I generate it unfolded, and then fold it up.

It is possible that there is more than one solution for a given puzzle, but apart from trivial changes and reflections, my gut feel is that multiple solutions are rare. I can't offer a proof, though. :-)

I'll add a reset button if I update it, and a means to generate a new puzzle without restarting the game. Thanks.

BlackShipsFillt
28-03-2011, 11:04 PM
Just a thought about foldspace potential... even though I still haven't played it... well two thoughts... well maybe more....

I like open ended problem solving... world of goo is a great example of this, plenty of ways to solve the problem with lots of feedback... Or Desktop Dungeons for that matter, very open ended, but a lot of incentive to find a optimum solution.

So for someone like me, if multiple solutions in foldspace are rare, then, if you are targeting me, you may want to include some other mechanics to make the solutions more organic.

Or... some people (more casual people) do actually like single solution problems... like jig-saw puzzles and Sudoku. I wouldn't know how to reach that market, as it might be mostly non-gamer.

My gut tells me it needs to be a bit more open.

Here is an idea (though never having played it)... the way Bejeweled works is that there are multiple mini puzzles on screen at any time and they can interact with each other... So maybe if you had smaller solutions, and the player has to try unfold things in certain ways to clear areas which then get filled again randomly, then you would have a endless casual puzzler?

Though that is just one way to go.

Here is another idea...

Is there any part of the process that could be automated?

What I mean is: Folding and the Unfolding (I am assuming this is what happens in the game) can be a bit of a long process... but if any part of that was trivial... ie. does not actually require the player's choices to do it... then it could speed things up if the AI did it for the player... eg. If the tricky part is folding the correct things, then once folded the game could automatically animate and unfold them... which would be kind of fun to watch/rewarding.

Another idea...

How about making not all of the blocks essential to fold in... Eg. Have some blocks that are things like Triple-Stack-Score and Double-Stack-Score optional fold-ins... and maybe make some of the blocks inessential as far as the scoring is concerned but useful to get the desired folds/stacks.

There could also be some limitations... like blue blocks don't fold onto red... that way you could encourage the player to make the highest stacks possible to get higher scores. From the figure it looks as if the stacks can be of arbitrary height, but if you make that tricky by forcing the players to have to find the right order of things to make the optimum stack heights you might have some extra nuance to the game. Eg. Getting two bigs stacks of red and blue is a optimum scoring solution, but the level can be completed even if you could not find a way to get fewer than four stacks.

Here is sort of another folding game... it is a very different premise with entirely different mechanics, but I believe it was quite successful. And if nothing else it shows people are willing to pay money to fold virtual paper if the problems are interesting...


http://www.youtube.com/watch?v=_Hx7u5Uiboo

BTW. In case you hadn't thought of it. Folding could work nicely on a touch screen... by swiping a finger over a block to fold it in the direction of the swipe... having that kind of tangible/intuitive control system inherent in the game can be very useful.

Just a point about the theme: I actually like the idea of it just being paper folding... the aesthetic is cheap to produce and it is content-light so it can reach a very broad audience... Adding in sci-fi exploration automatically excludes non-nerds and, unless it actually explains odd mechanics in the game, is not really necessary.

But there are a lot of things the player could fold... like levels themed to spy documents, levels themed to laundry, love notes, breakfast wraps etc. Although even just pure colored/corrugated paper would give a stylish cleanness to the game that would attract a large casual audience.

Even if at the moment it seems like most of that audience is not nimble-minded enough to easily play the game :)

dislekcia
29-03-2011, 02:54 AM
Something that often works with puzzles of spatial manipulation is to give the player a reason to manipulate space: Put a character or object that navigates the new space the player creates through their actions, you can add a lot of secondary goals that way and give the player a reason to be doing what they're doing. You also then have a logical focus for negative mechanics such as things to avoid or visible indicators of state that need to be managed as the object explores the final space at the end of the puzzle.

herman.tulleken
29-03-2011, 09:44 AM
I understood that you are unfolding (although I don't see any animation...just abrupt changes?) But I wasn't quite sure what the rules were (the fact that you can unfold in different directions threw me off). This unfolding in any direction is very interesting... hard to visualise.

When I play, I try to get into situations that force me to make a certain move. In a large grid, this is hard at the beginning, so one strategy to make the game more strategic in the beginning would be to constrain the moves, maybe to use a piece of paper that's not a rectangle, something like this:

x
xxxx
xxx
xxxxxx
xxxxx
xxxx

(As always, a blind suggestion without testing might not work...)

The main thing is, just looking at the puzzle, there is no way to know which fold is better. Unfolding in a direction give some clues, but often it takes a while before you realise a wrong move was made...leading to an exhaustive search by a human that can not quite remember well enough...

I keep thinking is there not a way to give clues about the topology of the paper before unfolding...but I can't think of anything.

If you want to include open-ended gameplay as Balckships suggest, here is another idea: perhaps you can allow piles to be folded back onto unfolded piles, like this

...
1112111
...

>> Folds to this:

...
1121111
...


with a goal to maximise points (or something similar). That way the player is not trying to find the single unfold, but tries to unfold to maximise the points instead. (Then you can bring back the attack idea with planets etc. you had in mind initially).

Although the abstract puzzle is also nice.

Just thoughts. :)

Nerosis
29-03-2011, 08:20 PM
Thank you all for your feedback and advice. It's much appreciated! I've based a lot of what I'm going to say on your various suggestions.

I'm going to split the prototype into two separate games, so that I'm not diluting both ideas by trying to get them to work together.

Game #1 (working title: Pixs)

A casual-friendly, completely abstract puzzle game centered around the paper folding mechanic in FoldSpace.

Instead of presenting the player with a folded up sheet and asking them to unfold it, Pixs will present them with an unfolded sheet and ask them to fold and unfold it into another shape. The target shape will be marked out so the player knows what they're aiming for. To scale down the difficulty (and the frustration it causes), I'll keep the size of the sheets smaller (16-25 squares maybe), but ask the player to complete more of them. Every sheet that the player needs to refold will form part of a larger, mangled pixel art image that will become clearer as the player refolds the sheets, until they finally complete the image.

I'm aiming to keep the clean aesthetics of paper folding. Just coloured sheets of paper with a neutral colour underneath to make it easy to tell what is still folded up. I have some ideas about going really minimalist with UI. The swipe to fold/unfold will be really cool if the game ends up on a touch screen device.

Game #2 (working title: Nova)

Nova will explore a "simulation of mankind's expansion with only indirect input", as BlackShips puts it. Nova will be deep with as emergent and interlinked mechanics as I can make work with the indirect input restrictions.

The player controls a handful of colony ships escaping their planet before their sun novas. The ships move in turns across a grid with planets and other space opera props on it. At the top of the screen is an infinite, more-or-less-randomly generated queue of events. The player can always see several events into the future. Every turn the player picks a ship and moves it to an adjacent square. Then the next event in the queue is applied to it. So, while the player has no control over the future, he can control which of his ships it affects, and where they are when it affects them.

Each ship will be carrying a certain number of colonists. To complete a level, the player has to deliver a certain percentage of the colonists to a safe planet. Events can affect the colonists or the ships positively or negatively, and will change depending where in space the ship is.

BlackShipsFillt
29-03-2011, 09:53 PM
Very nice ideas.

BTW have you had a look at QCF's Global Game Jam entry "The Last Fleet"? It somewhat works like your Nova idea, at least on a formal level.

I'm not sure if what I am about to suggest is exactly true (I haven't read any theory on the matter), but with Nova you are essentially suggesting a game with a See-Into-The-Future mechanic... (which will be quite novel if pulled off)

Now for a prototype the interface/visuals you are suggesting will work fine (a list of future events) and you can prototype a decent game. But this is actually a very weird mechanic and without the proper visual tie-ins will almost certainly confuse audiences who do not have the privilege of the information you are giving us on this forum.

Basically what I am saying is that the audience have certain expectations of what Time-Distortion-Mechanics look and feel like and I think that these would apply to this game. Without these signs players may feel disconnected from what is going on. So, if you were to intend a final commercial version at some point then you have got to invest some time prototyping the visuals as well. Games like Braid, Sands of Time, World of Goo, Minority Report etc have set the expectations for this kind of thing... things go blurry, time changes, music becomes eery or backwards, flashes of light, strange bursts of sound, displaying ghost images of the future... these kinds of things.

Like I say, not a concern for prototyping the design of the game, but could be a concern when prototyping the feel of the game (if you get to that point).

Seeing-into-the-future is a instantly interesting mechanic and could provide some awesome open ended puzzles. I expect it'll be quite a challenge to pull off so I'm very excited to see/hear what you come up with.

herman.tulleken
30-03-2011, 09:16 AM
Cool, both ideas look good. I look forward to playing the prototypes :)