Salomonsson.se
Oct 30 2014

custom 2D physics in unity - part 4

Started on ladders today. But it’s late and I’m really tired so I’ll have to continue some other night. Still happy with the result so far though! This will be awesome once I’ve tweaked it enough.

Try my ladder here

Oh, and by the way: the source code for this can be found here in case you wonder how I did stuff: https://github.com/Tommislav/unity2dPhysics

Oct 29 2014

custom 2D physics in unity - part 3

Been a while since last time I sat with this, but tonight I managed to get cloud platforms working.

So right now I have: Solid blocks, Cloud blocks and Treadmills. Next up: Ladders and Elevators! Planned after that (maybe): Gravity shift. Perhaps slopes… not sure yet.

Try it yourself!!!

Oct 29 2014

Profiling Out Of Memory Exception on Android devices

Last week at work we noticed a huge amount of OutOfMemoryExceptions being reported in the Android app that I work with through Crashlytics.

READ MORE >>
Oct 20 2014

custom 2D physics in unity - part 2

Not much to see here yet… still working with boxes

Been working a bit here and there on tweaking the scripts to the way I prefer them. Not really getting any visual progress, more just shuffling code around.

Takes some time since I’m not used to how to work with Unity. I know on a conceptual level how I want my code to work. But it’s starting to feel nice. Soon time to add treadmill-colliders =D

Oct 16 2014

Ludum Dare 30: Trapped Between Worlds

Theme: Connected Worlds

Showdown: tiny red ninja vs. huge moose boss!

The game (flash): http://www.salomonsson.se/ld30 The timelapse: https://www.youtube.com/watch?v=5n5Sw6tK4SI&feature=youtu.be Ludum Dare page: http://ludumdare.com/compo/ludum-dare-30/?action=preview&uid=2393 Post about our meetup: http://ludumdare.com/compo/2014/08/28/output-from-the-real-world-gathering-in-stockholm/ Steves’ soundtrack: https://soundcloud.com/gamebox/strange-worlds

This time I had decided beforehand that I wanted to do something more ambitious, and I decided to make a 2D platformer game with its main focus on boss fights! That’s a lot of ambition, something I got painfully aware of… I did however manage to finish it on time for the jam.

Except having an ambitious idea, I also hosted a Real World Gathering at my office at Isotop.

Read on if you want to know more about the event and the process behind the game…

READ MORE >>
Oct 14 2014

custom 2D physics in unity - part 1

I have found a fantastic tutorial series on 2d in Unity which can be found here (it’s several hours in length). Not only do they build a complete game (instead of the usual one-screen-tutorials most others do), they also tackle complex subjects such as slopes and moving platforms. And they do it with really beautiful code! It’s very obvious that the programmer is extremely talanted. He manages to keep the code very clean and readable, and keep the abstraction levels very well separated. This is one of the best game programming tutorials I’ve seen in a very long time! I highly recommend it!

And after watching through it I started writing my own custom 2d physics. Why? Because I don’t like the built in for 2d games. You cannot do obvious things such as cloud tile collisions for example.

<< Click to play >> (move with arrow keys, press shift to move faster)

Oct 01 2014

pixel perfect tiles in unity

I was wrestling a bit with how to get my tiles 1:1-scale. Turns out this is the way to go:

  • Set camera to orthographic (2d), and set the size to screen height/2. Since I optimize for PS Vita screen (960×544) that’s 272.

  • Now the tiles are super tiny. That’s because I created the vertexes with 1 unit as spacing. My tiles are 64×64 so I can either re-write all my vertexes (multiply them with 64). OR we can keep the 1-unit vertexes and divide the camera size (272/64 = 4.25)

Bingo! Will probably cause some problem when I have to move my sprites by 1/64 per pixel… That’s future Tommy’s problem though =) Oh, and if you have a dynamic size of your screen you can use Screen.height;

Edit (2016-12-14): here is a good blog post from Unity about pixel perfect 2d in Unity: https://blogs.unity3d.com/2015/06/19/pixel-perfect-2d/

Sep 30 2014

drawing a custom 2D tilemap

I have a really simple/stupid demo today. It is however a little bit more awesome behind the scenes as I render the tiles to a mesh programatiacally in Unity. I used most of the stuff from this really awesome tutorial http://studentgamedev.blogspot.se/2013/08/unity-voxel-tutorial-part-1-generating.html (but I left off in part 2 when he started with custom meshcolliders. That was after I found out that Unity has a 2d Edge Collider…. NICE!

For some docs on Unitys mesh: http://docs.unity3d.com/ScriptReference/Mesh.html

And a simple demo (arrow keys to scroll)

Sep 28 2014

2D Sprite Animations Part 3 (Completed)

I’m done witht the Tutorial now that I’ve spent the last week working on. << Click to play >> (req. Unity Web Player)

It was a very good tutorial, and I think it was good to make a complete project from start to end, including different screens, win/lose-conditions, sounds and publish settings. Highly recommend that tutorial for anyone who’s new to Unity!

I also found a cheat sheet to the keyboard shortcuts in Unity. Good one to note is Ctrl + P to test the current scene. http://blogs.unity3d.com/2011/08/24/unity-hotkeys-keyboard-shortcuts-in-unity/

Sep 25 2014

2D Sprite Animations Part 2

Tired tonight. Only got one new part of the tutorial done, but it’s one long part left. Will have to be tomorrow: http://www.raywenderlich.com/71029/unity-4-3-2d-tutorial-scrolling-scenes-and-sounds

The tutorial so far is actually really good! It goes a bit out of line in name of teaching, but I guess that’s ok. There is no way I’ll be able to enter in that miniLD, but I guess that’s ok too. Better to go through a few of these tutorials instead and get to know all the quirks of Unity instead of trying to learn by bashing my head against it. As soon as the tutorial is complete I’ll post a link to the final game.

Oh, and note to self: I really need to get more familiar with MonoDevelop. It works when I copy-paste code from a website, but some methods just seems like they won’t autocomplete at all, like the

void OnBecameInvisible() {}
void OnBecameInvisible() {}

I also need to figure out the keyboard shortcuts for starting the game instead of having to click on that tiny button. Peferablydirectly from MonoDevelop.

But this is a common frustration when starting with a new editor =)

Sep 24 2014

2D Sprite Animations Part 1

Ok, unity has a lot of new stuff to cover. Today I started from scratch with a simple 2d-tutorial. It turned out to be quite good, covering sprites, spritesheets, animation and animation controllers. Good stuff!

http://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started http://www.raywenderlich.com/66523/unity-2d-tutorial-animation-controllers http://www.raywenderlich.com/66345/unity-2d-tutorial-animations

I’ve still to cover the very last part found here (http://www.raywenderlich.com/70344/unity-2d-tutorial-physics-and-screen-sizes), but now it’s time to get some sleep.

Feb 21 2014

Some great press coverage on Ripple Dot Zero

On June 28, 2013, me and Simon finally released our long running hobby project Ripple Dot Zero, and soon after it began to spread across the internet. We were of course hoping to get some attention for the game, but we were completely overwhelmed by the response we recieved from press and fans.

Here are a selected number of reviews and comments. And I have to say: getting responses like this really warms my heart!

Destructoid: Free PC game Ripple Dot Zero is Sonic mixed with Strider http://www.destructoid.com/free-pc-game-ripple-dot-zero-is-sonic-mixed-with-strider-257236.phtml

US GAMER: Ripple Dot Zero Totally Just Made My Day http://www.usgamer.net/articles/ripple-dot-zero-just-made-my-morning

Indie statik: Trip Back to Gushers and Bubsy: Ripple Dot Zero http://indiestatik.com/2013/06/29/trip-back-to-gushers-and-bubsy-ripple-dot-zero/

Indiegames.com: 16-bit action platforming nostalgia nailed – Ripple Dot Zero http://indiegames.com/2013/06/browser_pick_ode_to_16-bit_act.html

This forum thread was created on Neogaf: http://www.neogaf.com/forum/showthread.php?t=607491

Ripple was also featured on Nitromes weekly “pixel love”, and after a while a fan-made wiki appeared: http://nitromepixellove.wikia.com/wiki/Ripple_Dot_Zero

A huge thanks to everyone who has showed your support to us in articles, social media, video playthroughs and email. It means the world to us.

Sep 26 2013

Big Bad Wolf Wins Game Of The Year Award

Last night, at the annual EGR Operator Awards (EGR is the world’s acknowledged leaders in business-to-business information provision for the online gaming industry) Quickspin scored big by winning the prestigious Game Of The Year with the game Big Bad Wolf.

It’s also worth noting that our game had some really fierce competition. Among the other nominated games you’ll find titles such as Elements: The Awakening by Net Entertainment and MONOPOLY Plus by IGT (the links are to their youtube trailers).

So I’m very happy for Quickspin to win this award, and I’m also very proud myself since I took a very active role in the development of this game. As Lead Developer I designed the overall system for the game, implemented the “swooping reels” feature and lead the team during the production phase as Scrum Master.

So my huge congratulations to Quickspin, and to the entire Big Bad Wolf Team.

Here are some links about the event: http://quickspin.com/press/669/quickspin-wins-game-of-the-year-award http://odobo.tumblr.com/post/68162186120/quickspins-big-bad-wolf-scoops-game-of-the-year http://www.egrmagazine.com/event/events/event_page/game_of_the_year/event/egr_operator_awards_2013

Aug 24 2013

Ludum Dare 27: Shelter

Theme: Ten Seconds

http://ludumdare.com/compo/ludum-dare-27/?action=preview&uid=2393

I knew beforehand that I wanted to make a game that I could port to mobile devices and tablets, but the theme got me off guard a bit. The take became that you have to save cute pink blobs from a bomb with a 10 second fuse.

READ MORE >>
May 16 2013

Big Bad Wolf

Big bad wolf is a slot game with a nice twist. If you get a win, all symbols involved in that win will be removed, and new symbols will fall down – meaning that a win can trigger another win, chaining together huge combos (like bejeweled).

I was lead developer (and scrum master) on this game, which was produced by Quickspin.