Happy for my first game jam results… and I’ll try to be better for the next!
Thank you very much to everybody that played and gave me a feedback my game. I’m sure that I will make the full version of “Breaking Fat” in the near future
Happy for my first game jam results… and I’ll try to be better for the next!
Thank you very much to everybody that played and gave me a feedback my game. I’m sure that I will make the full version of “Breaking Fat” in the near future
LD35 might officially be over within the hour, but our 2nd Door Studio team is excited to carry on the project with our continued development of our game, Hart of the Forest. From the beginning, we knew that our project was probably a bigger idea than the fast time limit of the Ludum Dare would allow, but the last three weeks have given us the chance to keep going, bringing our original jam submission to something that’s starting to feel much closer to the game we have in mind. We’d love to share that with you now, to celebrate the end of the review period!
To jump right into the good part, please feel free to try our latest post-jam build at the link below:
Or, if you want to see the original, here’s our Original Ludum Dare Page
Before diving in, here are a few screenshots, to help paint the picture:
The idea behind our game (and our implementation in the jam edition) started fairly small, and has grown into something we hope is much larger and more cohesive, in terms of both the gameplay and the story/experience.
For starters, we’ve moved away from the strictly top-down view, offering both an over-the-shoulder third person camera (with more traditional adventure/RPG game controls), and an overhead camera that will make it easier to see your surroundings (when, say, escorting villagers or the like). This opened up a range of new visual dimensions to explore, including:
Put simply, this let the whole forest start to feel more like a real place, and, hopefully, someplace you could get to know by exploring it. We picture a forest teeming with life, plants, animals, spirits and people, all good and bad alike. (And therefore tasking you, as its protector, try to do the best you can to protect this place as things begin to play out.)
We’ve also been playing with a number of new features, many of which are implemented already (though not necessarily in this build, as we test), including:
New Abilities and Features
We also have a range of new visual updates in the worlds, including an overhaul of our Druid hero (with all this new movement and action, it was time for him to get a bit younger and stronger…!), and some new enemies to face, including the new sort of “anti-Druid,” the “beast-man” berserker enemy. See those two below:
The game certainly still has a long way to go, but we’ve been so glad to work on this while the reviews were still coming in for the rough prototype of the jam version, and we can’t thank you all enough for the kind words of encouragement! They have kept us inspired, even through the frustration of posting an incomplete game at the end of the jam!
The concept, as we see it now, will be a kind of single-player open world game set in this one large, high-detailed forest map, where individual “levels” are comprised of objectives including (you guessed it) saving villagers, repelling enemies, and also new things such as saving or defeating good and evil forest spirits, collecting needed components throughout the forest, building up your sanctuary by bringing it new people and materials, and completing quests for the various inhabitants of the forest.
The end result is a hybrid game that we think will be a new and interesting mix of familiar ideas, and one that we’re really looking forward to playing, ourselves.
We would love to hear your feedback, and to offer you the glimpse of the work we’ve put in so far over these last three weeks, in the form of our current nightly build — link below:
Or, for these last few minutes, see our Original Ludum Dare Page, if you want to leave a last-minute review! (Thanks!)
Thank you all, hugely, again for the feedback and support, and keep the suggestions coming! It’s been an honor, everyone — and we hope to see you all in the future!
Before another LD is almost over, hope you all enjoyed it as much as we did! Unfortunately we couldn’t play and rate a lot of games this time, but hopefully next time we can!
If you haven’t tried out game Mushroom Muncher yet, you can check it out at the link below:
We won’t be participated in next LD, but we’ll see you at LD37!
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…
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.)
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 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:
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.
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!
…but you can still rate “Breaking Fat“: http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=59433
GOOD LUCK WITH THE CLASSIFICATIONS GUYS!
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).
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!!).
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
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).
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.
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.
Thanks for reading, see you all next time!
There’s still time! Play and rate Nyamo’s Adventure now!
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:
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!
As always, let’s go over what went well and what didn’t go so well.
What went well:
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:
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:
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?
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.
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:
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.
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).
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.
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!
Managed to compile a list of all the video footage I could find of people playing/failing/attempting my LD35 entry SHAPE.SHIFT():
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!!)
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.
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…
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.
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!
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>
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.
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:
A thing a beauty! And here’s the map rendered in engine (flipped around this time, also no lighting)
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.
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.
Hey there Daredevils!
We would like to thank you for your feedback and
taking the time playing our game!
A few changes are up:
Have fun tripping across space-time!
Check out our game here!
Download it here!