Ludum Dare 36
The Theme is:
Ancient Technology

The Compo ends in
Solo, from scratch, with source, in 48 hours.

The Jam ends in
Solo and Teams, relaxed, 72 hours.

Posts Tagged ‘unity’

The Art of “Hart of the Forest”: A Design Post-mortem

Posted by (twitter: @stellardoordev)
Monday, May 9th, 2016 2:14 pm

Hi everyone, Greg (artist/modeler/musician) from 2nd Door Studios.  Here on the last day of LD35, our team thought it would be nice and hopefully useful to recap the many things that went both right and wrong with our ambitious little game:

Hart of the Forest” (Click that link there if you’re curious to try it!)

From the start, our group found the “Shapeshifting” theme pretty challenging, and it took us well into Saturday morning to find a concept that we all liked.  Our final idea was challenging, but interesting to us — putting you into the role of protector of a mystical forest, a Druid, charged with gathering your lost villagers and shepherding them back to safety, while trying to both use and also hide your powerful shapeshifting curse.

There were a lot of things we hoped to do with this, and two things proved themselves fairly quickly: 1) that the full scope of our idea was probably bigger than a game jam would allow, but 2) that we were all eager to see just how close we could come in spite of that, and how much of it we could make by the deadline.

I wanted to go through the workflow and notes from my own section of the work, which included the 3D sculptures, models, animation, and eventually the music of our game.

First and foremost, our team uses the free/mighty/wonderful Blender for all of the 3D work you’ll see here, as I’d happily encourage anyone to do.  The start of our concepts was to get our core characters sculpted, giving our team the chance to look at them all and get a better feel for the tone and the visual style of our game.  Here are a few glimpses of those pieces:

These sculptures gave us our starting point, leading to the retopology process of simplifying them until they were ready for what would ultimately be a Unity WebGL game.  This is where our largest challenge, and still our biggest technical hurdle stole the show…

See our bear/stag animation in action if you click this link

From the very beginning, our plan was to try to make use of Blender’s “Shape Keys” (“BlendShapes” in Unity parlance), to let these shapeshifts be as organic as possible.  Like the story of our game, this ended up being kind of a blessing and a curse, within the timeframe of the game jam.  While, after great effort, I did get this all working (see/click the gif above), Unity didn’t love the idea.  There were a hundred other technical considerations to factor into this process, including needing to morph the animated rig inside this mesh as well (no small task, rigging-wise), and a war between Mecanim’s Animator and the BlendShapes themselves.  Put simply, this is something our team (as in, I) still fully intend to implement into the future of this game, but scoping this into the jam proved a little over-ambitious.  For now, our Druid hides his shapeshifting in a puff of magical particle effects as a (literal, I guess) smokescreen, simply swapping out the models.

Finally, we weren’t going to be saving anyone without some models of villagers to save, so I did my best to economize here, using a single sculpture that we could later adapt into both the male and female villager models, letting me reuse both the bulk of the sculpting time, and the rig itself.  That part ended up being a great idea, and a big time saver overall.  One walk and one run cycle, along with some idle animations, ended up getting us both our villagers and our Druid in one animation pass — and Mecanim made it easy to retarget those animations between the three models.

(And, while our enemies aren’t exactly implemented quite yet, the idea even from the beginning was that the enemies would be corrupted versions of your villagers — so these two, plus some dark and spooky textures, even gave us the stand-ins for our future villains.)

HotF-Villagers

The world itself was an ambitious step all in its own, including a lot of props (more than we thought we’d need originally, even) to bring a passable forest to life in only a weekend.  I ended up sculpting 2 different trees, treetop models, several stones, a fallen log, and mystical standing stones, all of which needed their own retopology and texture work.  See those below:

The tricky remaining sculptures

The result, thanks to some inspired texture work and really cool materials/shader work on our other team members’ parts (I’ll let them talk about that!), was something we were pretty happy with by the end of the jam:

HotF-Screenshot

The good news was: we got the basic idea implemented in time to start pulling everything together by late Monday evening.

The bad news was: I had been hoping I could also tackle the music for this jam, with at least a day or so’s worth of time to dedicate…  Yeah, that wasn’t happening.

So, switching gears with (I kid thee not, sadly) one hour left before the deadline, I plugged in my keyboard and did my best to drum/play out the song that I’d been trying to compose in my head for the three days leading up to that point.  In other words: I had about 45 minutes to write the game’s soundtrack (yikes!), starting from truly nothing.  That was a stressful moment, I’ll admit — but something about it seemed pretty fun as well.  (Sort of in the spirit of a game jam, too.)

So, while it’s far from the amount (or quality) of music I was hoping to make, I did get the chance to make at least this, our “Main Theme”:

I’m proud to say that we’re still hard at work on this game now, even three weeks later, and still hoping to turn this into something that matches the scale of our original vision.  For now, I’ll leave off with a teaser/preview image of what this has become in the meantime.

HotF-Update

Lastly — we also all wanted to say thank you all so much for your extremely kind (and very understanding!) feedback on our submission.  It ended up being only a quirky little prototype of what will hopefully someday be a pretty cool little game, but your feedback was really inspiring and has kept us going in the weeks since!

Thanks for reading, and we’d love to hear from you with thoughts, questions, or especially any last minute reviews!  Cheers!

Play our game here!

Last day to rate!

Posted by (twitter: @SantiHisteria)
Monday, May 9th, 2016 11:04 am

Today is the last day!!

…but you can still rate “Breaking Fat“: http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=59433

:) GOOD LUCK WITH THE CLASSIFICATIONS GUYS! :)

Over 100 Votes For SHAPE.SHIFT()!!

Posted by (twitter: @xanjos)
Monday, May 9th, 2016 7:44 am

ld35102votes

Finally managed to achieve just over 100 votes for my entry SHAPE.SHIFT(). Once again, huge thanks to everyone who took the time to play and rate over the past three weeks 😀 .

Anyway, it’s the last day of judging but there’s still time to play/rate my game so if you haven’t tried it yet (Were you living under a rock or something?), you can do so by clicking here (Let’s see if we can get 110 or even 150 votes by the end of the day ;D).

Final 2 Days To Play SHAPE.SHIFT()!!

Posted by (twitter: @xanjos)
Sunday, May 8th, 2016 3:35 pm
Click the gif to play!!

Click the gif to play!!

Posting this now rather than tomorrow since most people will have work/school/whatever on Monday but there’s only two days of judging left and if you still haven’t played my entry SHAPE.SHIFT() yet, you can do so by clicking here (I’m literally one vote left away from reaching the 100 mark!!).

ld35votes99

Anyway, I’d like to thank all the victims people who went out and actually tried the game and once again, apologies for making such a ridiculously hard game ;D

neon:morph 2000 timelapse

Posted by
Saturday, May 7th, 2016 7:42 am

Here’s a timelapse of our team putting together neon:morph 2000!

You can play the game here!

neon:morph 2000

Post Mortem: A Mazeshift Title

Posted by
Friday, May 6th, 2016 9:57 am

Hi everyone,

This was my second Ludum Dare. Once again I had a fantastic time participating, and playing the other entries is a great source of pleasure and inspiration. I wrote a post mortem for my game A Mazeshift Title, which you can play here (Unity WebGL version available).

 

Screenshot1A Mazeshift Title

The Game

A Mazeshift Title is a 2D puzzle game where the player must construct a route between two endpoints using a collection of shapes organised in a grid. These shapes are manipulated by shifting entire rows horizontally, or columns vertically. It could easily be compared with a 2D version of a Rubik’s cube, with a pattern that must be completed. The game contains 7 individual levels, and each one is procedurally generated to provide a degree of replayability.

Development

The idea for the game was originally conceived from thinking about shifting bits in computer registers, but using shapes instead. A good three hours on the Saturday morning were spent settling on a design. I felt it was important to take the extra time at this stage to ensure the concept was both interesting and achievable. By the time I had stopped on the Saturday night, the game consisted of a single feature-complete level.

The focus of Sunday was polish: after creating some menus and finishing the transitions between different levels, I moved onto audio. I ended up spending many hours fighting with multiple software packages, and eventually only managed to produce three sound effects. I had initially anticipated having enough time to produce a simple ambient background music track, but this no longer seemed feasible. Some visual polish feature had also been planned, such as sliding the grid tiles when they are shifted, but sadly these also had to be cut.

The Good

  • Procedurally generated puzzles.
  • The mechanics are explained non-verbally using a trivial first level.
  • I followed my plan: the core mechanics were implemented by Saturday night, Sunday was spent polishing the game.

The Bad

  • No music.
  • Tiles don’t slide when shifted.

Thanks for reading, see you all next time!

3-Form timelapse

Posted by
Thursday, May 5th, 2016 1:11 pm

Here’s a timelapse of my seventh Ludum Dare game named 3-Form.

Entry page

If embedded video doesn’t work here’s a link

BF_Title

TRY TO FIND THE EVIL DOCTOR..

… ARE YOU READY? PLAY!

Thank you guys for all your rating and feedback!

Nyamo’s Adventure In-Depth Post-Mortem

Posted by (twitter: @ddrkirbyisq)
Thursday, May 5th, 2016 1:31 am

There’s still time!  Play and rate Nyamo’s Adventure now!

screenshot1

Nyamo’s Adventure is our Jam entry for LD35 — made by yours truly in association with my trusty artist Kat.  It’s a 2D “Metroidvania”-style platformer game with shapeshifting abilities, multiple worlds to explore, and collectibles scattered about!  We’re releasing it as part of our “Cocoa Moss” collection of games.

Overall, Nyamo’s Adventure was a blast to make!  This is perhaps our most solid LD showing to date as a team, and it’s really awesome thinking about how far we’ve come since we made Match Girl way back in LD28.  Match Girl was a solid game itself, and was very well-received (2nd place overall!), but just the sheer amount of content and different things that we were able to create this time around for Nyamo’s Adventure is really impressive in comparison.

I had 4 “goals” (ish) this time around for LD, and they were:

  1. Successfully use Unity
  2. Have fun
  3. Finish on time
  4. Make some awesome music :)

I’m happy to report that we managed to hit all four of those pretty well!  #2 was a little rough at times (more on that later) but overall things were great!

screenshot3

As always, let’s go over what went well and what didn’t go so well.

What went well:

Unity

Wow!  Color me impressed — Unity really overperformed as a dev environment and editor tool.  Now, I’ve used Unity in the past, so I’m well-familiar with both what it’s capable of as well as the little tricks of the trade that you pick up along the way as you work with the quirks of the engine, but I think I still underestimated just how much it allowed me to do when compared with my standard suite of tools (HaxePunk).  As much as I’d like to be a hipster and jump on the bandwagon, I can’t really argue with what it allowed me to achieve this LD.  Having the visual editor around for both editing and debugging was truly invaluable and saved precious precious iteration cycle time when I was trying to design levels, get mechanics working, etc.  Here’s the entirety of world 3 in Unity’s scene view, for instance:

Screenshot 2016-05-04 21.37.02

Being able to put the levels, UI, etc. together like this made things so much easier!

 

Level design and Tiled2Unity

Nyamo’s Adventure is a huuuge game compared to some of my other ones.  5 different worlds, each with a bunch of different screens, and the different rooms all fit together in a cohesive way.  I spent a LOT of time on level design — easily more than I actually spent on coding, which was quite surprising at first.  Although I’ve had some experience with platformer level design from the work I did for Match Girl, I had never quite exercised my designer mind like this before.  I made sure to read up on some Metroidvania design articles as I was first starting out (which proved helpful), and made sure to really plan out the first few screens of the game in a specific way to introduce the different concepts (moving, jumping, collectibles, the final temple door).  I’m actually really happy with how the level design ended up panning out, and how I was able to properly execute the Metroidvania feel.  Of course, it’s very simplistic and if you really look at it the different worlds are very similar in terms of how they lead you down a linear path to an ability and then use that ability to shortcut back to the beginning.  But I think it still works just fine, and designing the rooms themselves was also great thanks to Tiled being a wonderful tool:

Screenshot 2016-05-04 21.38.05

One of the first things I did after we decided on our game concept was to figure out how to integrate Tiled with Unity (something I hadn’t done before).  Luckily, Tiled2Unity exists, and was very straightforward to set up.  Besides a few snafus with our tilesets changing mid-design (was annoying to resolve but was certainly doable), it was pretty straightfoward and just worked pretty much the way I needed it to.  Awesome!

 

Animations, tilesets, and world design

Can we take a moment to appreciate how beautiful the art is in this game?

Screenshot 2016-04-18 19.06.17

Would you believe me if I told you that this is the first time Kat has worked on tilesets? (besides the single set from Match Girl, which doesn’t even count)  She really did an amazing job with everything, and it was awesome getting to pull the tiles that she drew into Tiled and using them to build out the different worlds, each with their own palette and feel.

 

Music

The soundtrack took around ~5 hours in total to write.  It was a blast!  Nothing really new here — just standard jamming out like usual.  Everything was pretty straightforward, with the notable exception of the Temple theme which was basically my attempt to make something ambient and atmospheric in as little time as possible (11 minutes).  It’s kind of uninspired, BUT at the same time, I think it’s nice that it sounds totally different than the rest of the soundtrack because it helps to communicate the fact that it’s a special area.

It’s worth noting that I didn’t put much focus this time on reusing a shared motif throughout the entire soundtrack — there’s hints of it, but nothing you would really notice unless you’re really looking out for it.

Something I realized as I was making this soundtrack was that giving yourself a jumping off point in terms of atmosphere, tempo, or feel really helps in getting things started.  I think I started each composition with a very small idea of how I wanted to differentiate it from the others and that helped me get things started.  For example, for Autumn Colors I knew that the first world was going to be the “hub” of the adventure and was also going to be an outdoor world, so I wanted something that felt more “open” as well as relaxed.  Musically, that translated to a slower tempo, with a laid-back drum beat, and using chords similar to major 7ths.  For Take to the Skies, the spring world, I knew it was going to be the first “stage” that you explored after the hub, so I wanted it to contrast with the outdoor hub music, and also wanted it to be more upbeat and driving as you’re now getting into the “meat” of the game.  Musically, this meant a faster tempo, with more complex breakbeat-type drums.  I also knew that the world was going to have an “underwater” palette, so I used some specific instruments to evoke that feeling.  (Compare it to Song of the Sea from Melody Muncher to see what I mean)  Anyways, the point is that having that starting point allowed me to lay out the tempo and maybe even a drum loop right away, which really worked to get things started (often the hardest part about writing a song).

Soundtrack can be downloaded at https://ddrkirbyisq.bandcamp.com/album/nyamos-adventure-original-soundtrack.

 

 

Spikes, knives, and other level elements

I almost feel like this one was luck because of how well it ended up coming together…

So, when I was first thinking of the design of the different worlds, I knew I wanted them to look different, and each feature a slightly different focus on the different abilities that you unlock as you go through the game.  For example, the puddle world (the dark one with spiders) was specifically constructed to be more closed-off and cave-like because there would be many places to make use of the puddle ability and it made sense to have tighter corridors.

However, there were no plans initially to have a different “gimmick” in each level.  That one just sort of happened through development, and I’m glad it did!  The disappearing megaman-style blocks (the first thing that I came up with), the spiders, and the knives really did well to differentiate each area and made the level design more interesting than just having different tilesets that were functionally equivalent.  I’m especially happy with how the spiders and the knives ended up interacting with the abilities that you find in the respective worlds — in world 3 you’re forced to use the puddle ability to avoid spiders that you can’t get past otherwise, and in world 4 you have to use the balloon ability to get past these long rows of knives shown in the screenshot below:

Screenshot 2016-05-04 22.21.15

Funny story about the spikes at the bottom of the pits you have to jump over — for a long time through development I was planning for them to be water or some kind of liquid, as you can see in A Kitty Dream and The Valley Rule (both wonderful references for this type of game, by the way).  But throughout development we never got around to putting in the graphics for the water (I had already coded an element that triggers death and a respawn when you touch it), and more importantly, I had no idea how we were going to animate it.  In the end we ended up coming up with the idea of using spikes instead and it was a simple, elegant, clearcut solution to the problem that I’m glad we stumbled upon.

 

What didn’t go so well:

2D platformer collision detection

Ugh.  I had done a warmup project with Unity to play around with their new 2D features (much improved since the last time I had used them) and to write myself some starter code (for doing basic things like playing sounds, fading the screen, etc.).  During that I had done some extremely basic testing to make sure that I could test “collision” (as in, detect when two objects touch/collide and do something), but for some reason I didn’t actually bother checking to see whether I could easily implement actual 2D platformer physics.  You know, moving and stopping flush to obstacles, jumping and landing on the ground, etc.  I have my own set of functions that I used to do all of this in HaxePunk (they are very scrappy but WORK very well at what they need to do), but I didn’t have any of that set up in Unity.

So, for the first couple of hours of development I was busy trying to wrestle Unity’s engine to get it to do what I wanted it to do…I already knew coming in that the Character Controller / etc stuff was probably NOT what I wanted, yet I also wanted to be able to hook into the built-in collision detection / etc. and leverage that.  I did NOT want to have to implement all this stuff from scratch, as that would just be ridiculous.  Fortunately I was able to jury-rig together something which worked very nicely, essentially just doing a handful of raycasts on a rectangle as described here.  That was pretty much the only major technical hurdle I ran into over the course of the project, but I wish that I had prepared for it earlier.  On the plus side, I now get to start building out my set of utility scripts, functions, and prefabs for Unity games, just as I did for HaxePunk, so hopefully this won’t be a problem in the future.

 

Stress

Ugh!  I was not in great mental or emotional shape through the weekend and there were some points when I was really not feeling too positive about the project, and in general worried that it just wouldn’t come together.  This wasn’t necessarily due to us being in bad shape, and more just due to me being tired and stressed out due to other RL things (was trying to pack for moving out of my apartment, not enough sleep, etc.)  Sometimes this just happens — unlucky that LD happened to coincide with a weekend when I wasn’t fully up to snuff mentally.  I also had some congestion in the eustachian tube of my left ear which can be really aggravating when it comes to mixing music.  Luckily it all ended up being fine in the en and we made it okay…phew!  Was really glad when we finally hit the submit button (and went out for a nice hearty dinner).

screenshot2

Sound design

Kind of a minor point here, but this project taught me that although my music skills are really on point, my sound design skills are not.  It was actually pretty difficult for me to come up with good sounds for Nyamo’s movement/etc. and I ended up having to redo some of them.  The collectible sound also ended up getting changed in the post-compo version to something that didn’t clash as much with the background music.  Labchirp is nice but sometimes you have sounds that are just tricky to figure out.  It’s something I need to be conscious of and try to research a bit more.

Unused graphical elements

Kat had some other graphics (like additional background and foreground elements) that she drew up that never ended up making it into the final product.  I really didn’t have any time to put them in at the time because I was busy scrambling to finish all of the different rooms, but even afterwards for the post-compo version they ended up not really fitting in and looking a bit out of place.  You can see in the post-compo version that there are more leaf decorations in the puddle world, but that’s the extent of how they worked out.  So, not the end of the world, but we probably could have designed some other way of adding some graphical accents to the levels.  I think we wouldn’t have had this issue so much if we had been working more slowly (i.e. not in a 72-hour game jam) and had time to step back and see what the overall look and feel was going to be like.

screenshot4

That’s about all I have to say about Nyamo’s Adventure!  It was an awesome experience to make, and I hope you all enjoy it as much as we did! :)

Footage Of People Playing My LD35 Game (Plus More Shameless Plugins)

Posted by (twitter: @xanjos)
Tuesday, May 3rd, 2016 3:28 pm

Managed to compile a list of all the video footage I could find of people playing/failing/attempting my LD35 entry SHAPE.SHIFT():

https://www.twitch.tv/thegypsyknight/v/62945927?t=20m51s

https://www.twitch.tv/lukezaz/v/62667309?t=01h13m58s

https://www.twitch.tv/kappa_barsavi/v/62352712?t=52m44s

https://www.twitch.tv/impauljs/v/62396246?t=02h00m40s

https://www.twitch.tv/techvalleygamespace/v/63591564?t=01h15m07s

Anyway, seeing as the last week of voting, if you still haven’t played my entry yet, you can do so by clicking here (Only about 13 votes left until I’ve reached the 100 mark!!)

ld35votes87

Also, you can send me more games to play/rate by clicking here (or leaving a link in the comments) and I’ll get to it as soon as possible.

Transformagician Level Generation and Design

Posted by
Tuesday, May 3rd, 2016 12:42 am

"ANOTHER

I already touched upon the level generation in the Developer commentary video,
but that’s not enough info now is it! Here’s some more…

Tiles

One of the easiest ways to construct a virtual environment is to use tiles.
For me the decision to go with the technique was made even easier by already having an old tilemapping system laying around.
It was a bit rusty, but a few hours of mangling put it straight.

Sets

WallAndFloors

The tile graphics are as simple as possible. There’s a wall and there’s a floor.

I of course only implemented these assets as they were made by Ranquil. Pay special attention to the bump mapping!

Reading

The level is generated from an xml file. Here’s a little example:

<Ship type="TestMap">
 , , , , , , , , ,
 , . w . h . w . ,
 , . . . . . . . ,
 , . w . p . w . ,
 , . w w w w w . ,
 , . . . . . . . ,
 , . . . e . . . ,
 , . . . . . . . ,
 , , , , , , , , ,
 </Ship>

TestLevel

There are a few oddities right off the bat. The XML element is called a ship as that’s what the original project had, spaceships. The map is also flipped around as unity XYZ coordinates don’t quite match with the XY coordinates of the map file.

One nifty feature in the generator is spawning random rooms to specific positions on the map. The rooms themselves are defined in the same way as the maps.

<Room name="roomD" loot_a="0,1" enemy_a="2,6">
 w w w w . w w w w
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 . . w . o . w . .
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 w w w w . w w w w
 </Room>

And rooms areas are outlined with the characters R (room start position) and r (room limits).

 c c w c c c c c , , , , ,
 c c c w c R r r r r r r ,
 o c c c c r r r r r r r ,
 c c w c c r r r r r r r ,
 c c c w c r r r r r r r c
 c w c c c r r r r r r r c
 c c w c c r r r r r r r c
 c c c c c r r r r r r r c
 o c w c c r r r r r r r c
 c c c w c r r r r r r r c
 c c c c c c c c c c c c c
 , , , , , , c c c c c c c

(excerpt from a bigger map)

You can see the room randomization featured in the GIF.

Writing

Designing maps in black and white is kind of like programming in vanilla notepad, no syntax highlighting, no nothing. In other words clumsy and crude.

This issue can be resolved with conditional formatting in a spreadsheet (in this case Libre Office). Compare and contrast, the text file version:

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
 , W w w w w w w , , , , , , , , , , , , , , , , , , , , , w c c c c c , , , ,
 , w p p . . . w , , , , , , , , , , , , , , , , , , , , , w c o c o c , , , ,
 , w p p w w . . c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 , w . w R r r r r c c c c c c R r r r r r r r r c R r r r c w w , , c , , , ,
 , w . w r r r r r c , w c , c r r r r r r r r r c r r r r c , , , , c , , , ,
 , w . . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , , ,
 , w w . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c c c c c c r r r r r r r r r c r r r r c , , , w c c c c ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c o , w o c r r r r r r r r r c r r r r c , , , w c w , , ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , , c , , , ,
 w c c c c c c c c c c c c c c r r r r r r r r r c r r r r c , , , , c , , , ,
 , c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 w c R r r r r r r r r r c c c c c R r r r r r r w c c R r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r w c c r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , c r r c c c c c c c c c c c w c r r r r r r r c w c r r r r r r c , , , , ,
 w c r r c w c w c w c w c c c w c c c c c c c c c w c r r r r r r c , , , , ,
 , , r r c c c c c c c c c c c w c R r r r r r r c w c r r r r r r c , , , , ,
 , , r r c w c w c w c w c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , , r r c o c o c o c o c w c c c r r r r r r r w c c r r r r r r c w w , , ,
 , , , , c c c c c c c c c c w c c r r r r r r r c c w r r r r r r c , w , , ,
 , , w w c c c c c c c c c c c c c r r r r r r r w c c r r r r r r c , w , , ,
 , , w w c w , , , , c c c w c c c c c c c c c c c c c c c c c c c c , w , , ,
 , , w w c w w , , , c c o w o c c R r r r r r r r c , , c c , , , c , w , , ,
 , , w w c w w w , , c w w o w w c r r r r r r r r c , , c c , , , c , w , , ,
 , , , , c , w w w , c c o w o c c r r r r r r r r c w c c c c w w c w w w w w
 , , , , c , , w w c c c c w c c c r r r r r r r r c w c o c c , , c , w , , w
 , , , , c , , , c c c c c c c c c r r r r r r r r c c c w o c c c c , w , , w
 , , , , c , , , c c R r r r r c c r r r r r r r r c c c o w c c c c , w , , w
 , , , , c , , , c c r r r r r c c r r r r r r r r c w c c o c , , c , w , , w
 , , , , c c c c c c r r r r r c c r r r r r r r r c w c c c c w w o w w w w w
 , , , , c w w w w c r r r r r c c c c c c c c c c c , , c c , , , w , w , , ,
 , , , , c c c c c c r r r r r c w c , w , , , w , c , , c c , , , , , w , , ,
 , , , , , , c w c c r r r r r c o c , , w , w , , c c c c c c c c c , w , , ,
 , , , , , , c w c c r r r r r c c c , , , w , , , c R r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c w c , , w , w , , c r r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c o c , w , , , w , c r r r r r r r c , w , , ,
 , , , , , , c w c c c c c c c c c c c c c c c c c c r r r r r r r c , w , , ,
 , , , , , , c c c c c c w c c c c c , , , , , c , c r r r r r r r c , w , , ,
 , , , , , , , , , , c c c w c R r r r r r r , c w c r r r r r r r c c c c c ,
 , , , , , , , , , w o c c c c r r r r r r r , c w c r r r r r r r c w w w c ,
 , , , , , , , , , , c c w c c r r r r r r r , c , c r r r r r r r c c c c c ,
 , , , , , , , , , , c c c w c r r r r r r r c c c c c c c c c c c c c c o w ,
 , , , , , , , , , w c w c c c r r r r r r r c c c c c c c c c c c c c c c c ,
 , , , , , , , , , , c c w c c r r r r r r r c w , , w c o c c w , c w w w c ,
 , , , , , , , , , , c c c c c r r r r r r r c w , , w c c c c w , c c c c c ,
 , , , , , , , , , w o c w c c r r r r r r r c c c c c c c o c w , , w c w , ,
 , , , , , , , , , , c c c w c r r r r r r r c w , , w c c c c w , , w c w , ,
 , , , , , , , , , , c c c c c c c c c c c c c w , , w c o c c w , , , c , , ,
 , , , , , , , , , , , , , , , c c c c c c c c w , , w c c c c w , , , c , , ,
 , , , , , , , , , , , , , , , c o c o c o c , , , , , c , , c , , w w c w w ,
 , , , , , , , , , , , , , , , , w , w , w , , , , , , c , , c , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , c c c c c c c c h c , ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w w , w w ,

With the conditionally formatted spreadsheet:

Spreadsheet

A thing a beauty! And here’s the map rendered in engine (flipped around this time, also no lighting)

Level2Full

Yet again there are a few issues. You need to jump though some hoops to get from the ODS spreadsheet file to the XML file. First the file is converted to the comma separated values format (CSV) and then the data is manually copied to the XML. Yeah, that last bit especially is not so great.

It is trivial to read the CSV file directly from Unity (something I didn’t know about way back then), so that’s what I’m going to do in the next project.

Conclusions

Tiles are a simple and powerful way to represent a level. Reading letter based map files is easy to code and fluid to create (with conditional formatting at least). Reusing systems that you’ve made before is a great boon to productivity. Take advantage of previous work as often as possible.

And, of course, you can play Transformagician right here.

Did you play “Breaking Fat”??

Posted by (twitter: @SantiHisteria)
Sunday, May 1st, 2016 7:22 am

Post Jam Update… SPEED BLOX VR!

Posted by
Friday, April 29th, 2016 11:49 pm

Hey there Daredevils!

We would like to thank you for your feedback and
taking the time playing our game!

A few changes are up:

  • One of the most common complaints was that sometimes
    the ‘Cool’ Blox obstruct the view of the oncoming ‘Angry’ Blox.
    Now, all Cool Blox become (semi) transparent once you look at them.
  • Music!

Have fun tripping across space-time!

Check out our game here!

Download it here!

speedblox_action

 

84 votes for “Breaking Fat”

Posted by (twitter: @SantiHisteria)
Thursday, April 28th, 2016 5:12 pm

Thank you so much guys… we go for the 100!! :)

BF2

Play “Breaking Fat”

Post-Jam Version Of My LD35 Game Is Up

Posted by (twitter: @xanjos)
Wednesday, April 27th, 2016 4:51 pm

Seeing as a lot of you are having trouble with my LD35 game SHAPE.SHIFT() (because of its supposedly challenging difficulty), I’ve decided to put up a (WebGL build for the time being) slightly easier post-jam version that’s more forgiving in terms of distance between obstacles and the time needed to react to them but should still pose a challenge (Of course for rating purposes/bragging rights, the original “super hard” version is still available on the embed link on the main game page as well as on the itch.io and GameJolt pages).

In other news, my game currently has 59 votes and could probably do with some more:

ld35votes

Anyway, if you have yet to try out my game give it a play/rate by clicking here. You can also check out the post-mortem for the game by clicking here and to see my previous post on how to get a good score in my game (which mostly applies to the original version), click here.

Also, I’m looking for more games to play/rate so click here to submit your entry and I’ll get to it as soon as possible.

Robot Escape – Post-Mortem

Posted by (twitter: @rjhelms)
Wednesday, April 27th, 2016 4:47 pm

We did it again, folks! I’m buried in a mountain of great games, and figured I’d take a few minutes from trying to dig my way out to write up a post-mortem for my Ludum Dare 35 entry, Robot Escape.

title screen fullsize

This was my 5th Ludum Dare, and all-in-all I think things went pretty well. After finishing in time for the compo in LD34, I really wanted to do so again, but circumstances conspired against me this time around – oh well. I’ll explain in the “What went poorly” section.

What went well

  • First and foremost, I had fun, and made something I’m pretty proud of.
  • The core mechanics of the game – restricted lines of sight, and reconfiguring yourself to get around different obstacles – worked out really well, both on their own and together.
  • I’m getting really comfortable with my Ludum Dare tool-chain. In the past I’ve always lost some time farting about with Unity’s quirks, but this time everything went pretty darn smoothly.
  • In the same vein, a lot of what I spent time on in LD34 served me well as techniques I was able to reuse this time – in particular, I was able to just drop in the two-camera setup for an “authentic” retro feel I developed that time, and (as predicted) my level loader from that time around was clean enough to reuse – although my level-loading needs were a lot simpler this time around.
  • I experimented with keeping my code a bit cleaner by having a lot of my entities be pure C#, with only a handful of MonoBehaviours responsible for interacting with Unity. I’m not sure I did it well enough to be a reusable approach, but for a game like this it worked really well.

What went poorly

  • I started really late. I have the nasty flaw of being a gigging musician, and the band always seems to find ways to need my time during Ludum Dare. This time around, we were playing a gig out of town on Friday, so I completely missed the theme reveal and didn’t make it home until about 4am. I took a look at the theme as soon as I got home, but didn’t seriously start the clock, so to speak, until around 11am on Saturday. (The gig went really well – it’s only a “went poorly” item from a Ludum Dare perspective.)
  • I lost another two hours to a power outage on Saturday evening. Thankfully, I didn’t lose any work as I’ve got a UPS for my computer. It wasn’t a total loss, however, as I took some time to do a bit of planning on pen and paper by candlelight.
  • I didn’t get the controls right. This seems to be the biggest pain point people raise in the comments on the game, and I agree – I had planned to take some time to tweak them, at minimum, and ideally make them configurable, but I didn’t make it there before the deadline.
  • I wanted more/tougher enemy types, but only had time for two. Similarly, it would have been nice to have a bit clearer feedback about when the enemies were firing on/hit the player.
  • It took a concerning about of time for this game to actually be fun – any beginner’s guide to Ludum Dare tells you to make sure your core idea is fun as quickly as possible, but mine didn’t really get there until pretty late on Sunday.

A more detailed run down of the jam follows below the break – but if you don’t want to read that, why, you could always give the game a try and let me know what you think!

(more…)

[cache: storing page]