LD35 April 15–18, 2016

Shamanic Panic! (AUTOPSY)

My fourth Ludum Dare and it was a fun one. I had actually been hoping that the shapeshifting theme would win through but when it did I promptly ditched the idea I had for it (a magicians’ duel between Peter Lorre and Vincent Price which would have been way too complex…) and started from scratch. After a morning of dithering, I decided to stick with what I know and make a simple platformer with a player character who could switch between three forms.

Good stuff:

  • The dialogue. I’m pleased with how the cut-scenes turned out and it’s gratifying that many reviewers have said they really help give motivation to proceed through the levels. This is what I do for a living so I’d have been worried if this aspect had fallen flat.
  • The eagle. The hunter’s eagle form is pretty cool and I sort of wish now that the whole game had used this flying mechanic.
  • The arms. I decided to mess around with physics a bit and the result was some OTT arm-swinging that makes the hunter look as if he is freaking out for the whole game. A happy accident!
  • The music. I’m quite proud of the two little tunes I put together.

screenie4

Bad Stuff:

  • The platforming. I personally like the sensitivity of the platform controls but nobody else seems to, which tells me that I must have gone wrong somewhere. I think perhaps it’s a little too twitchy.
  • The level design. Slapdash and pretty awful. Some are too easy, some too hard. None of them really make best use of the shapeshifting mechanic.
  • The hare. The hunter’s hare form is a bit pointless. Basically it’s just a faster, jumpier version of his human form but without the ability to shoot mystic balls.

Anyway, it was a lot of fun to make and as always I learnt a lot in the process. I’m learning even more from playing and rating all the other excellent entries.

Click HERE to check out the game. All feedback greatly appreciated!

LD35 Post mortem:

Here are my notes how LD35 went:

SAT. 16.4.
5.55 woke up, checked the theme. Shape shift! This is exciting, I have one idea already.
7.00 left home
8.00 at M3.
11.00 Basic design is there and concept for the basic gameplay! (sketch here) It is going to be a cellular automaton styled dodging game. Grow and withdraw cells to adapt to environment. Checked lists and arrays syntax for Unity. Explored the oblique frustum technique for camera, Decided not to use it because directional lights behaved oddly with it. Could not preview the lights properly in the game-window.
12.00 Gameobject modelling and texturing.
Learned about Kaomoji (Japanese emojis), seeked out an unicode font to support them.
12.23 There is something dodgy in the salad from the gas station.
13.00 Unity adding objects to their layers and adjusted the lights for background and game objects
14:00 Limited Key inputs to single strokes, was getting multiple inputs from key-presses.
14.52: Have made a grid generator that adapts to width and height parameters, varying rows and and columns.
15.30 This is how the prefab-workflow worked from one way to other and back!
16.17 Keybinding guide textures are shown within the grid. 3D-text objects in Unity.
17.00 Keybindings actually work. Right object reacts when key is pressed.
17.29 Objects spawn at right coordinates based on the keypressed. Problem! 3Dtext shows through the objects in front of them. How do I fix this? There is one solution and tutorial using custom shaders and by generating a font-map. Quick try for it. …. and the tutorial is from 2012 and Unity has changed quite a bit from that, cannot install the custom shader as instructed. If I try the mobile-diffuse shader, then there is no this issue, but lights look worse. Meh. I let it be and then polish it away later if I have time for this… Or, HA! If I disable the text if there is an object in front of it! yeah.
18.44 Grid texts are shown and hidden as they should. No more shining through issue. Cell objects have now random rotation and scaling, looking more lively, and they can also be deleted. Next the big challenge: checking adjacent cells.
19.58 After a break, back at code: Checking one above and below are easy, but sides are harder. issue is that that I made the cell locations with list instead of an array. More complicated to check these. But I can live with this. First we make an parameter to the objects that tells if it is a border object and then we don’t have to check it’s sides. Feels bit like bubblegum solution but it works. Another thing would be make smoking of algorithm based on generation parameters, but that gets overtly complicated. Also checking functions that returns values.
21.00 Mystery bug. For some reason ,cube spawning doesn’t work anymore. And solved: issue was that i used if instead of else if when checking grid occupation status. And there is an array overflow somewhere, but why?
21.22 Start to be tired. Issue was using = instead == with boolean comparison that caused an always positive result.
21.42 The core logic that you can only spawn cells next to existing ones works!
22.00 After spending a day making a keyboard controller, it feels wasted, this game would work intuitively with mouseclick+raycast. Actually the controller idea sucks, even though it seemed fun at the beginning. It just doesn’t feel similar that to typing words. Mouse controller would be more intuitive and make this easier to translate to mobile.
23.00 Added particle emission to the player cell cubes. Looks cute.
23.25. Cell logic for isolation. If the cell is alone, it transforms to yellow, and return to green when connected to other cells again. Expect that sometimes it doesn’t, why?

SUN 17.4
00.36 Cell spawning and exit now has a scaling. Looks better, but did it stupidly with a script instead of curve controller. But I don’t know curve controllers, I know simple algorithms… but this took too much time. Stupid bugs of later our, tried to code an S-curve with to continues scripts that didn’t work out, but well, it’s good enough. Now, how I can get an isolated cell to die?
1.00 Old good parenting issues. What was the right way to reference game object’s parent. It was don with transform, yes, I’ve’ solved this before, but it was very syntax specific. I have a reference somewhere…
1.33 Break, and problems were solved from approaching them from different angle. Feels like a bubblegum-spaghetti code, I hope I don’t have to touch that code afterwards. But it works. I’ve been working on polish, but now it is more fun to work with. There is still no core gameplay. And there is bug with counting the number of cells active. Ah, it doesn’t clear itself -solved.
3.12 Add exception that even if the cell is alone, if it is the very last cell of the player, it cannot die. And checks that that the player cannot accidentally kill himself by removing the last cell. There is way to do it by isolating two cells at the same time, but this is good enough. First enemy is done.
5.26 Enemies collide right and cause damage. Score and energy meters are added. Environment has reference objects that tell about movement forward. Fixed an collider issue by removing them from all unnecessary objects. New problem: UI text scaling. It stays the same regardless of the resolution, so the one I’ve worked with looks like shit when changing the window size. How throughoutly I have to solve this? This also messes with text locations. But mainly, now a screenshot to Twitter and then some sleep at the comfy sofa of M3.
5.50 Too exciting to see what others have made! I should sleep.
11.00 And up! Coffee and Jam On!
Decide to work on release resolution, no need to worry about scaling or text locations.
12.32 Stupid architecture bug: Each grid objects calculates global game mechanics, and there is 30 of them. No wonder it can feel laggy. Part of that is essential, part is not. Should I clean it up? Or trust that the it is not too heavy, it’s only 30 of them at max.
13.00 Cleaned up flicker that happened at spawning – it arrives at full scale and then goes to small and starts to scale up. Solved it by spawning them far and only the bringing them to the scene. Issue is with the algorithm, if you spawn and withdrawn quickly before it has finished it’s animation and new object is created, there is flicker. Could the new object inherit the scale of the killed one? nah, this doesn’t really matter.
13.29 Game over state gets triggered for some reason when first object gets spawned. Why? I fix this by adding a timer where a game over state is not possible during very first seconds of the game.
14.00 Game over works. There is UI text for it, and background overlay and slowday of the game movement to make it look nice. Added time based score in score, but it has to be conditioned that it doesn’t affect after game has ended.
15.30 Modelled few enemies to replace the mockups. Now simple animations! Let’s refresh how they were done in unity with bones. Took a while to remember that you have to parent mesh to bones and not the other way around. And after you sorted out the vertex groups, then the rig worked as it should. I’ve never imported animation loops from blender to unity by myself, but let’s see, it cannot be that hard.
17.23. Nope. This animation importing just sucks. Tutorials talk about using fbx, but it seems to mess either scale or rotation in animator. Solved with it with using older ascii-fbx format, and removing all-actions check, and import checking loop time variable, and using exactly the right animation in animator (why does it import multiple?)
17.29 The way I did these animations was way too complicated considered what was needed. Would’ve been faster with rotation scripts. But well, it works, and I needed to refresh these skills.
19.30 Few more enemies. For some reason, texture colors look off. WTF? ah. model material inheritance.
21.18 Hour of despair. Looks like I cannot make it. We’ll then time for audio. I have idea how to hack levels inside. Feeling frustrated that the animations have caused so much troubles, and wasted so much time with them even though they are so simple and irrelevant.
22.25. Basic sound effects done: Lesson: use only one audio player to play all of them, odd bugs when I tried using multiple audio sources.
23.25 My favourite music generator is down! (http://www.abundant-music.com) I just and just can get it working, but saving doesn’t function, I can’t download! no! There must be others using this as well. Used http://www.earslap.com/page/otomata.html generator instead. hah, kind of suiting, that one is based on cellular automata as well and fits the Japanese themed look of the game.

MON 18.4

00.12 And animations work so easily using .blend format directly instead of fbx.Why didn’t I check this before.
3.55 And it is done! Towards the end, I cared less and less, bugs appeared, bugs stayed. There is one level that doesn’t finish, but it doesn’t matter because it is almost impossible to complete anyway. But it is a game. There is challenge, score, beginning, looks good, and sounds alright. Yay!

Submitted 7 minutes before deadline. With a screenshot. Phew. I made it. Ludlum Dare 35 completed!
One hour to browse what others have made and and I can take the first bus to Helsinki.

Features added on the week following the Game Jam:

Added level loading and made 5 levels of increasing difficulty.
Noticed that my planned support for levels with different sizes of grids did not work as intended (would need way to save cell states outside grid objects and then reparent them). Went around this by using a same large base grid on every level, adding limiter objects that turned key-grid items on and off. This allows making levels that inceease in size from small to bigger but other way around there would be issues with cells left in cover. Good enough for this jam game. Next time, I’ll use different scenes for levels.
Made animations to start on random frames so that the scene looks more lively.
Subtle particle effect with trailing sub-emitter to the background to increase the feeling of movement.
Figured out how to add curve controllers to scaling. So easy. why didn’t I google it before. Now the score text pops when score is gained. But you have to fiddle with the text-field pivot and the logic is bit unclear. Sometimes it goes to side, and it is bit unclear how to control it.
Polished the levels, so many bugs on object locations, movement speeds and directions. Should not have built over what was left over from last minute rush but made the levels from scratch. And issues left over by how I thought to make the level loading first, but it works good enough.
it is possible to win the game! there is victory screen.
Something fixed the odd issue of one sound effect not playing . Not that I complain, but it would’ve been nice to know why that bug existed as I tried to solve it with so many ways.
could not make the berry to spin nicely around itself. Probably about 3D model pivot, but it shouldn’t be so. Fixable maybe by adding a parent object, and spinning that, but well, later, right now after the last minute rush, the prefab-hierarchy is broken so adjusting it right way would be cumbersome.
added a very gentle glow as post processing -image-effect.
There is odd level restarting bugs left, I assume it has to do with time slowdown.

Post Jam thoughts:

Find a way to make gifs about the game feed. Other than recording screen with phone. Crucial part of the social media.
a way to add existing cells at the beginning of level would be nice.
It is allright. Game started as UI test. There is something fun about using the whole keyboard, eventhough it is clumsy.
And that whole crowded-artery metaphor is nice. Originally thought the story as “cyber-weapon cells delivering targeted medicine to hearth of an cyborg, intelligently avoiding the countermeasures it deploys” , well, the visuals are quite different, but crowded and stressed arteries as roads full of beings is a ok thought.
Same with playing with grid based cellular automata, thought this kind of gameplay might not suit it well. There is encouragement in score mechanics to keep many cells out, but in practice, best method of playing is kind of 3d-snake, stay small and nimble and you fit to move through the labyrinth, and only expand when you need that power-up. This is not so much fun, as growing big. For nimble snake controls something else would work better.
Something like this would work on large mobile. The right positioning of grid clicking is tricky but solvable. Count clicks by the cell “face” location instead of bg-grid if there exists something above or below. Doable. But what would be the right gameplay?
The open hectic level of the compo entry is in a way more fun than the cramped smaller levels I made for the polished version. This mechanic works on larger areas. Maybe more gathering. Or leveling up the individual cells and tracking their development to something speciaö
Weapons/special skills loaning from Bestfiends / candy crush styled pop-ups? Could there be freemium potential, fun enough? nah.
It is difficult and clumsy considering how fun it is now. Basically how it turned out is kind of 3d-maze where figuring out the depth takes learning.
Make a clear tutorial. People don’t realise how to use the keyboard. And now the start screen looks so crowded.
Make the first levels easy, not for your own liking.
I’ve made generic timers so many times now that I should make a generic class for that single purpose.
Feeling confident with unity skills again. Back at the fresh memory how to make 3D models and animations from Blender, get them smoothly in unity and make a nice basic gameplay prototype.
Keybindings for non-us/scandinavian keyboards would be nice.
Lessons learned: focus on core gameplay. The juicy polish is nice touch, but more puzzle-type levels would actually be better. I know that work better when it is pretty to look at, but it took so much time. Then again, I was just rusty, right now, I could make the same things so much faster.

Games you can play… again

(You can check our entry here)

I like to write posts promoting some entries. To be honest, I find it that this edition has a really good level overall, for the moment I haven’t found any game that had a rate less than 3/5. I am really enjoying it, and here are some of the games I played and I like the most.

I am looking for more games to play, post yours on a comment!

Party at the Knightclub

Abduckted

Sunshift

Triangles Say Yip

Project G.R.I.L.L.

 

Have fun!

 

Tags: entry, ld, LD35, Ludum Dare, promote, recommendation, top

Comments

26. Apr 2016 · 00:50 UTC
AWESOME list, thanks for that!
26. Apr 2016 · 13:07 UTC
Quite a few, actually. Limber by Wefiend comes to mind. Maybe even mine. Thanks for the list!
MatMortatti
26. Apr 2016 · 16:10 UTC
Hello! Our game is short, lasting only few seconds per trial (UNLESS you are good enough at it hehe).

It’s designed to be replayable :)

Shape Struggle: post-compo release build 1.1.0.4

I’ve released a post-compo version of Shape Struggle.  It’s quite improved!

Shape Struggle by csanyk

Changes:

  • Player speed is slightly slower to give you better control.
  • Game is zoomed out 0.75% to give player more room to see.
  • Enemy and power-up spawn location/timing tuned to make game more interesting early, more balanced later.
  • Keyboard controls re-done to include mouse aiming.

post-compo download

entry page

Tags: csanyk, LD35, post-compo, Shape Struggle

“Dave from Bungie” Post Mortem

If you haven’t played it yet I would really appreciate it if you rated and commented on my game!

Play Now!

Gameplay

The Challenges:
Originally I had hoped to spend the entire weekend making a low poly 3D game. However, I had the following time obstacles, most of which would separate me from my computer.

* Homework! I had to write an Android App and an Essay before Monday.

* Local event I wanted to attend on Saturday morning.

* A prior engagement spanned the entire day on Sunday.

* I hate Mondays.

Despite these challenges I still manages to create something that somewhat resembles a game. Woot!

 

The Good:
I felt like this Ludum Dare was a success and here are some reasons why

* The Concept. I’ve been wanting to explore a game that takes places through simulated text messages for a long time and I finally got started on one.

* “Story is King!” Story telling is a skill that I am trying to develop and my game definitely tells a story.

* Humor. I am glad I was able to work some humor into my game. I try not to take this too seriously. 😛

 

The Bad:

* Art. I didn’t have an artist so all I had was my rudimentary Illustrator skills. The phones don’t look interesting at all and I think that detracts from the overall appeal.

* Story Paths. A couple comments mention how linear the game is. Alright, I admit that Chapter2 is entirely linear with no possible deviation. So it could’ve been more interesting.

* Writing. I wish I had more time to write more interesting dialogue and more interesting endings.

 

The Future:

Overall, I’m happy with how this Ludum Dare turned out considering the circumstances. I’m not promising anything but my plan is to keep working on this game for a couple of weeks. I hope to make the story longer, add more effective dialogue and make the visuals more appealing.

Body Key

Accept the challenge. Body Key is a hard difficulty game.
Within a minimalist environment, change of geometric shape to overcome levels.
Each geometric shape has a specific skill that will help you solve the puzzles.

1

I admit that the controls are hard to understand at first, but a little patience and practice you can correctly use the controls and feel challenged by levels.
This game has twenty levels with a generous tutorial.
Basically you should go to the portal at the end of each room.

2

Each portal has a geometric shape.
To pass through the portal your body must have the same shape of the portal.
To arrive to the portal, use the skills of each geometric shape that you have.

3

>>>>>>>> PLAY AND RATE BODY KEY <<<<<<<<<<

I Will Pay You $1 If You Can Beat My Game

8

 

I know it sounds ridiculous, but I will pay you $1 if you can beat my entry, Photagogue. No one has been able to finish it yet. One person did make it to the end, but he didn’t manage to kill the last dino. Can you be the first one to kill all the dinos and make it to the end? If so, I will seriously pay you $1. Only the first person to do it will get it! I will need proof that you beat it though, so if you could record yourself playing it, that would suffice! c:

 

Update (4/26/16): YinYin beat it, and got $1!

Comments

curtamyth
26. Apr 2016 · 05:05 UTC
Psst…you linked to your game from the last compo :p
ChuiGum
26. Apr 2016 · 05:42 UTC
Haha, thanks! 😉
26. Apr 2016 · 10:42 UTC
Will attempt on my stream today!

Evolution Dungeon Post Mortem

Hi everyone~

I enjoy reading everyone’s post mortems, so I felt I should add my own to the mix. My game was Evolution Dungeon, a small roguelike adventure.

Screenshot

What was intended: I wanted an RPG that used DNA/evolution for advancement, rather than levels or experience points. This was my interpretation of the theme (as your characters inherit better genes, their appearances change). Of all the LD games I’ve made, the actual gameplay for this game is closest to what I imagined. There are three genes which contribute to characters’ abilities in battle using a rock-paper-scissors like relationship. When an enemy has been defeated, you can merge one of your character’s genes with the opponent’s. The merge averages each color’s points.

Things that went well: Level progression turned out pretty well, although there is a pretty steep penalty for leaving a level before it has been played out.

Character progression

I’m happy with the maze generation algorithm. For the amount of time I had to work on it, it generates a pretty nice variety of floor plans and features. It’s not a great algorithm, but it should be a good base for one.

Mazes

The basic process is this:

  1. Initialize a 32 x 32 array of tiles. Mark each tile as a wall. Then, carve out a small room in a random location on the map. This will be the starting room. Finally, for each wall in the starting room, mark a doorway.
  2. Pick a random doorway
  3. Pick a random feature (hallway, square room, ellipse room, junction)
  4. Determine if there is enough space to build the feature. If there is not, go back to Step 2.
  5. Mark the new room and a new doorway for each wall in the new room (except the doorway that currently joins with an existing room)
  6. Repeat from Step 2 until a set number of iterations have taken place.

Since each doorway has an equal probability of being selected, the generator tends to clump rooms in a blob (such as in the two illustrations above). Given the modest 32 x 32 canvas, this is probably okay. A probability distribution that gives higher weight to doorways further from the starting point may spread things out a bit. I’d also like to have more types of features. The maze generator took up a lot of my 48 hours as it is, so I should be glad I got what I have working.

What didn’t go well: The art is very dark. The main reason for this is that I had planned to include dynamic lighting. But I ran out of time to add light sources.

As a few people commented, it’s not immediately obvious how to advance. Since each gene (red, green, or blue) is strong against one other color and weak against another, one strategy is to have each character specialize. The lack of power-ups makes this strategy hard to employ in early levels. You can only regain health by being reborn. You often just need to take whatever you can get.

Another popular comment–control. The multiple character mechanic was inspired by a game called Exile: Escape from the Pit. That game had two movement modes. A “battle mode” let you control your party’s characters individually. Otherwise, you could merge them all into one tile and move as a group. That seemed like it would be too clunky in this game, given the frequency of battles. Designating one character as the leader and using pathfinding may have been a better solution. This might have simplified control transfer, too–since it’d be a non-issue for general exploring.

Moving forward: This was one of my favorite LD games to work on. Although I don’t think it’s my strongest entry, I think it has more potential for further development than other games I’ve put together. In particular, there are currently no special moves. The three genes merely affect the probability of hitting an opponent, and certain visual features (claws, tail, horns). There’s some opportunity for more variation in the characters, as well as the environment.

Comments

26. Apr 2016 · 13:06 UTC
That’s pretty cool! I have massive soft spot for random generation, since I’ve never comprehended how the algorithm is done. This is a nice little way of doing it, and produces some fairly nice results!
26. Apr 2016 · 21:42 UTC
I think you did great dude, procedural generation and a nice gene concept in 48 hrs is a great achievement. I remember playing exile way back when. Great job fella.

People are STILL submitting games for me to rate on stream… Three days after the stream, haha. As a result, I will do one more stream, today!

My house will be empty for an hour, so like any rebellious teenager, I’ll be live streaming again, since the last one was so much fun. If you’ve already submitted your game, chances are you’ll have it played in stream.

Otherwise, you can submit via the form you’ll find on my Dare to Play comment, but I can’t guarantee it.

I plan to stream for an hour or so, at around 14:30 GMT today  NOW!.

My Twitch is Kappa_Barsavi!

I’m sorry for being so lazy with links, on mobile and the college has banned the Ludum Dare site. :(

EDIT: I am home.

Here’s the list.

Here’s the submission form. I will play your game, but I can’t guarantee to play it on stream, since I have a stockpile already submitted, and I only have just over an hour to stream.
Hope to see you there!

 

Comments

HoldMeImScared
26. Apr 2016 · 15:25 UTC
Your college did what? That’s lame :(

Dragon Road – Devlog 01

This is my evolved LD35 game.

 

Thanks for the support on the video. I’d appreciate it if you commented on how it is in the video. I will take all suggestions into account. Goodbye.

Powerbeat! Want to see your feedback!

Hello everyone! This LD35 is awesome to geometry style games 😉

Im trying to create challenging games. But sometimes seems it should be a little easier. Anyway, hope you will get a some part of fun!

You can play my music-step arcade here

Just Roll With It – new video & Web Port

Hello everyone,

We finally had some time to record a play-through of the first couple of levels of Just Roll With It, using just the Omni and Oculus Rift DK2. The game is designed to be played entirely without a controller, mouse nor keyboard… just you and your human-sized hamster ball. Check out the video below and come play the web-port if you don’t have a DK2.

Just Roll With It

 

 

We’re a bit late, but here is our Post-Mortem

Hello guys,

This time, we failed to deliver a properly finished game. You can play it here if you want to, though: http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=46262

So it was important to us to write a real Post-mortem and to think about what happened in our team during this last LD.

46262-shot0-1461030676.jpg-eq-900-500

What went right:

  • The team was incredible and has kept its motivation intact ‘till the end
  • We took the time to chose a game according to each member’s tastes
  • Sentsu and Hibouch managed to deliver a lot of high quality graphics and musics within only 3 days
  • We keep our concentration ‘till the end, even when we figured out that we were out of time

What went wrong:

  • It was bad idea to make a physic-based game: it takes too much time to configure and it asks a perfect mastering of the physic engine, which was not our case. We underestimated this difficulty.
  • We didn’t take the time to think about the code structure for the core mecanics. It was a mistake that made it really difficult to merge everything together. And some mecanics weren’t fully functional because of that.
  • Globally, we badly organized us. And as a result, some graphic elements which needed a certain amount of time to be integrated were delivered too late and couldn’t have been properly integrated. We should have taken the time at the beginning to organize us and to prioritize the tasks to fulfill.

Conclusion:

Despite the fact that we could release a fully finished game for this Ludum Dare, we still believe in its potential.

We grew up as a team, we have gained skills, and those mistakes we’ve made will not be reproduced in our future projects.

About the game, we are sill working on it. We are currently refactoring the core mecanics to have a working base. With that, we will be able to fix everything, to create new components and it will be easier to design new levels. We hope to deliver a post-compo version soon.

If you’re interested in its future, you can follow our Twitter (@angrysquirrels_) or our blog on Tumblr, where we post weekly dev logs :)

See you soon guys !

shapescalation post LD Update

shapescalation_anim01

Hello Friends..

i made a post Ludum Dare Version of my shapescalation entry.
It’s a harder version because you dont’t have infinite lifes, only 6.
But if you make a bad decision and can’t complete the level (and did’t got killed yet) you can restart the level (esc button) without loosing a life.

New features:
– score system
– life system
– game over screen
– music and sound toggles in main menu

furthermore i made a lot of my code completely new because the old code architecture wasn’t handy enough to scale up the game to 100 and more levels.

Next features:
– a little score popup when merging shapes
– game music will be reproduced and elaborated with better instruments
– better lighting
– successive unlockable level select menu
– highscore table /-storing
– mooooore levels

shapescalation.0.8.8.2_win.zip

shapescalation.0.8.8.2_mac.zip

have fun!!

shapescalation01

shapescalation02