Salomonsson.se
Feb 22 2016

Platformer in VR - Part 6

Ugly skybox, but smaller gifs

Tick tick tick… boom! The bomb will carve a spherical hole out of the blocky ground.

Kind of remind me of another game with blocks…?!?

Feb 21 2016

Platformer in VR - Part 5

By pressing the fire button you remove the blocks directly to the sides of you (left, right, front and back) if there is a block there.

Today was just a quick session. Need to play around a lot more with these mechanics to figure out where to go from here…

Feb 18 2016

Platformer in VR - Part 4

There were some obvious problems with my earlier progress with this project, so I had to take a step back before I could go on.

So I created a new scene, wiped all enemies from it, created a 15x15x15 grid, randomly filled it with blocks and dropped the player on top of it. We are progressing forward again, this might be something interesting…

Nov 02 2015

Platformer in VR - Part 3

Managed to get some enemies into the game. Make sure to lean forward and look around corners to avoid surprise ambushes!

This is just a very first draft and needs a lot of work, but I really like how this is coming together.

Oct 22 2015

Platformer in VR - Part 2

Note that for this demo I’ve disabled the VR camera

So, it was pretty obvious what the next step needed to be. Particles! I’m not really satisfied yet, but I haven’t spent a lot of time on it. It will have to do for now… I have also rotated the directional light so the shadow falls more right below the player, so you’ll better see where he’ll land when doing a jump.

Next up: Enemies!!

Oct 20 2015

Platformer in VR - Part 1

This is how it looks through a VR Headset

I recently got to borrow an Oculus Rift DK2 from Resolution Games, and for a few couple of nights I’ve been playing around with an idea I had, that actually is starting to turn out pretty cool.

But it’s hard to get enough time with 2 months old twins that wants your attention =D

Sep 21 2015

Playing with shaders - Part 3

My recent days of night dev has been a bit fragmented due to the fact that I have two newborn kids that require a lot of attention. But whenever I get a spare moment I try to do a little bit of programming, so todays post is actually the result of several short days of work.

First of all I needed to read up on plasma effects again. Haven’t done that in several years, and it turned out I did not fully remember how it was done. But I did find the excellent tutorial I used several years ago, I highly recommend reading it!!! It is ugly, but very interesting read: http://lodev.org/cgtutor/

After that I started playing with shaderToy, trying to get a plasma shader running.

And lastly, I implemented that shader into my c++ sandbox project. Something seems to be a bit off though, it is way to bright. I think it is because the range of each sine/cos-effect (that is merged together to form the plasma) has an incorrect range (not 0-1), or perhaps the area is too zoomed in – but it’s too late to start bug-hunting now so this will have to do for now.

Next up: colors and bitmaps!

Sep 10 2015

Playing with shaders - Part 2

Spent several hours rewriting my setup code to play with shaders. This is a tutorial that explains it very nice and cleanly: https://open.gl/introduction

I also found a library for loading png files from disc, that don’t require you to invoke make-scripts and all that madness. Just add one .h and one .cpp-file to your project and you’re done! The name is LodePNG. However, did not come far enough to read textures into my shader.

However I managed to get uniforms working, so I could pass the current time to my shader and animate it. I guess that’s something. That’s all for tonight.

Sep 08 2015

Playing with shaders - Part 1

Since I became a father of two twins, two months ago, I haven’t been able to do much coding at all. Any opportunity I get I have to make sure I do something really small since my work time gets very fragmented.

So I started a c++ project, open a window with an openGL context, and started playing with some really basic shader code. As I said, I didn’t get very far before I had to abort. But it’s something.

Just wanted to save the links to some pages that helped me setting up GLFW on windows in Visual Studio 1013. http://www.41post.com/5178/programming/opengl-configuring-glfw-and-glew-in-visual-cplusplus-express

http://www.codeincodeblock.com/2013/05/introduction-to-modern-opengl-3x-with.html

https://github.com/smokindinesh/Modern-OpenGL-Series

#version 420 core

out vec4 color;
void main() {
float x = mod(gl_FragCoord.x, 100.0) / 100.0;
float y = mod(gl_FragCoord.y, 100.0) / 100.0;
color = vec4(x,y,1.0,1.0); }
Jun 28 2015

Fighting system: Finite State Machine

I have really fallen for the concept I drew in the last blog post. It’s not only a game I want to make. It’s actually a game that I want to play!

But to be able to prototype the concept I need to evolve the gameplay a bit more. And that has to start with the system for fighting. After having worked something together for a few hours I realized I needed a way to handle all the states of the player. Especially if he’s going to have complex attacks with combos and stuff.

So I implemented a quick Finite State Machine and tried it out. Turned out to fit my needs perfectly. Also turned out to be a textbook example of how and when you would want a FSM! Might write something about that someday.

Jun 21 2015

Level Design => Game Design

The last couple of weeks I haven’t been programming at all, only drawing level design for my prototype game. But as soon as I start expand the world I run head first into the limitations of my prototype. The game mechanics are too simple to make something fun out of. So I started breaking the limits, there are no bad ideas in brainstorming.

I’ve also found a really neat program that fits my needs perfectly when scribbling with level design! Instead of scribbling with level design on a piece of paper (tends to clutter up a lot), I’ve found Mischief. It’s cheap, it’s super easy to use, and it has a feature called “infinite canvas” and “infinite zoom”.

How about if you are being chased by an enormous giant, smashing everything in its way to little pieces, when you suddenly run into an ambush of enemies, flooding in from every side, taking positions on the screen and start shooting at you. And as you struggle to reduce the numbers of the ambush an army helicopter suddenly appears with a mounted minigun, turning the screen into a burning inferno.

This scenario (or esp. the doodle of it that I drew) looks awesome, but need seriously improved fighting mechanics. As I realized this the process of level design became much easier. I’m starting to see a picture of the final game more clearly than ever before, and I want to play it!

So with this new fighting-intense mechanic in mind I started drawing a simple worldmap.

I’m currently working on re-writing the prototype with new fighting mechanics. That is actually a lot harder than you might think, why prototyping is good. It’s far from being ready to display anything yet though, so that’ll have to wait for the next update.

May 17 2015

Iterating level design part 2 - Starting over

After spending two more nights trying to improve my 2.5d game, and not getting anywhere at all, I decided to let it rest for a while, and try to improve one of my older games instead. My choice fell on my Ludum Dare 30-entry “Trapped Between Worlds”, which meant I had to dust off my old Haxe skills once again. But it went quite smooth. The code is in surprisingly good condition regarding that I wrote most of the game in 48 hours..

I have to admit I like Haxe an aweful lot! And I realize after tonight that I still do.

You can read about how I customized the Haxepunk framework for this entry here

So the first thing I did was cleaning up the hub-level. The part where you get transported between the different levels, and where you buy updates with the money you’ve collected. I wanted to make this level much bigger and more interesting. I started by adding water and a village. Since I’m working on level design here I don’t really care much about graphics at this stage.

Village with NPC can be found here

If you walk to the left instead you will enter the forrest area, where I added a new enemy. Your regular spider that drops down from the top.

Invisible cobweb at the moment

I will keep posting updates on the progress. No playable demo this time.

May 09 2015

Iterating level design - Part 1

Keys and padlocks

So, for the last Ludum Dare contest I used parts of the code from my 2.5d platformer seen below (the code to turn the camera around corners), and during 48 hours I tried to make a decent game out of it.

The game felt like it was really, really great for the first one and a half day, until I started implementing the levels (late as usual). Then it quickly fell apart as a very linear, and actually quite boring experience!

This is something I’ve felt before. That the level design becomes my weak spot. So what do you do with your weak spots? You try to make them go away. With practice and hard work. It might also help with a lot of patience, curiosity, study and the help of good friends!

So here comes part 1 of my re-implementation of that game!

(Links are in the bottom of the post)

READ MORE >>
Apr 05 2015

2.5D Platformer - Part 2

I really liked the 2.5d version of the platform game I started on yesterday, so I kept polishing it a bit. And also started playing around with the level.

I really like the feel of it. You could create some really maze-like levels with this kind of set up. This could probably be turned into something pretty nice! Would be nice to add some ladders and moving platforms.

<< Click to play >>
Apr 03 2015

2.5D Platformer - Part 2

I’ve just started a Unity project at work, so even though I started off with my little c++ program I have to devote my free time to Unity for some time now. And also, since Ludum Dare 32 is only 2 weeks away, and I decided to go with unity for it, there’s even more reason to continue with Unity development yet for some time.

This one is actually one of my earliest experiments. It started out good, but I couldn’t really get it to behave just as I wanted so I put it in the dust bag. It is a good way for me to realize just how much I’ve learned since then. My main problem was that the character was getting stuck in walls if you jumped to the side of it, and kept pressing forward. Easy enough to take care of! Just create a custom material for your platforms and modify the friction values.

Another thing I had problems with was the 3d-camera. As it’s tilted it was getting closer and closer to the charater the further he got to the right. Just because I didn’t adjust the z position. Very simple.

I started experimenting with cube texture mapping. I think tomorrow I’ll start looking into how I can write a custom shader to do it instead of modifying the UV-coordinates in the Start()-section of a script.

<< Click to play >>