Sections

Tuesday, September 9, 2014

A 4th try with the controls...

Creating gameplay has definitely being one of the things I've enjoyed the most!

I'm skipping the 3rd because it worked horribly for us hahaha
It used the accelerometer to move the camera... and let's just say that it was kinda messing.


This time I took inspiration from Super Mario 64 controls and camera. Of course totally mimicking it wouldn't have worked for me so I tried to get close enough to the point that it would work for me.

This version is the one we liked the most. Still could use some edge softening, but well... 3 months is too little time stay too long in gameplay considering I'm the programmer of our project (can't complain though, I'm enjoying it!).




A bit about how it works.

In this version the pad's center is created where ever the player touches the screen. From there the drag will of that touch will become a Vector2 (x,y) which will be used to give the character it's movement. 
This input is also used to control the direction in which the mesh of the character is facing. To do this I needed an object that could orbit around the sphere.



Now, the invisible sphere on front is what the characters mesh looks at, and the sphere over the mesh is what the player actually controls (our dear sphere from the earlier prototypes).
When I needed to add the camera to the equation it got a bit more complicated. The direction in which the character moves depends on the camera and the rotation to where the camera needs to rotate after the player stops moving depends on the character.
The camera also orbits around the player in the same way I described above and will only adjust if a few conditions are met (like letting movement touch go).

Luckily this is much easier to explain here than to actually make it with work all the things that are going on under the hood, but it was a fun challenge. The important thing was to make it behave in a way the player would "feel it more right".



I just great memories of this project, it's was a great learning experience!



[j]

Saturday, July 26, 2014

Board Game

At first, I thought of this blog as a corner in the web, where I would present to you what I have accomplish and learned about game programming. Now I realize that it should be about all I've learned about games, game design, and of course also programming.

From Martin Hagvall, an awesome great teacher I had, I learned the basics of game design. In one of the classes with him we had the opportunity to face the challenge of creating a board game. A one month assignment that taught us a lot!

So this time I want to show you a bit what me and 2 other classmates came up with.


I present you Shift Rifts!


This game is about planning your moves and placing your pieces to gain the advantage and control specific points on the board to win the game. This is a 3-4 player game and is purely strategic.

As you can see in the picture the game has a strange shape. What you see is actually 3 boards matched together. On each board you will see purple tiles which are the points you want to control with your pieces.
I won't go deep into the rules, but basically you take turns and use your actions to move your pieces around the board or spawn units with currency you get every turn.
Every 3 turns circles the game enters a bidding face to gain the privilege of shifting the boards. This allows a player to choose one board and rotate clockwise 1 position. Moving a board will make the piece move with it. As you can imagine this can greatly affect the flow of the game.


The game ends when a player has control of a determined number of Control Points (purple tiles) or a board has reached a full cycle.


This was a great experience! I always remember it fondly and feel grateful that I had the change to have him as teacher while at school.


Thanks again Martin for sharing all that knowledge with us. This was an amassing game design experience that taught me a lot.


[j]


Sunday, July 20, 2014

Better use 1

Hey there,

We had another, more classic, approach to the controls. This time I'll present you this little video (sorry about the quality) with a single pad and 2 buttons. I do realize that using a copy of console controllers looking inputs on a touch device, but well, we are working with it because it was going to be a pc games first then for learning purposes became a mobile game I think... 


Anyway!


With this layout I engaged on a new challenge. I wanted my touch inputs to work in an specific way. 
First, let me say that Unity touch inputs are not that great. So for this part I wanted to create a way to detect touches on my GUI textures and associate that touch with that texture so you would not be able to hold that touch, drag it and end up touching and activating a different button. So if I tap the pad and happen slide my finger all the way to the jump button, the  jump button would not react to that touch. I also added to this system a way to detect if my interface button (not the touch itself) was pressed, held or released.

Uff.. it wasn't as simple as I thought at first, but I got it and am so happy to have been able to create my own system for this!

(The silly music is to cover background noises, nothing is said so you can just mute if you like)







Can stop having fun with this things!
Till next time,




[j]

Thursday, July 10, 2014

2 Pads?!

Today I managed to get 2 Pads working on my iPhone! Totally exited about this!
The hardest part was to understand the way that Unity handles screen touches and be able to control both separately. At first I was getting problems with the ids of touches and the way I was using them, but I did find a way to make this work. 

Had so much fun and it was so exiting to see the result work!




This isn't the final layout of the controls, it was just my first attempt.
Hope you like it as much as I'm enjoying it!


[j]

Saturday, July 5, 2014

[1/3]

And so, a month past.
We did things right and we did things wrong. We spend more time than needed on many things we had to work on. We made mistakes. We found problems.
But we also learned a lot. We organized ourselves. We saw in our mistakes an opportunity to learn and improve. We found solutions to our problems.


It was good month!


Biggest challenges this month are the touch controls for the phone, and innovate and create the levels.


Still exited!




[j]

Monday, June 9, 2014

Make progress every day

Just like a dear teacher of mine said, "Make progress every day".

Today I wanted to create the controls for moving upwards on walls for our character. 
This , once again, is something I've never done before. Still, after 6hrs of non-stop work and some 3D math refreshing, I managed to make my own system to accomplish this.

This is how I pictured it.
First I must say, that our character moves (when he is small) by pushing with using the physics engine of Unity3D. Now, I needed to find a way to push him parallel to the surface with was standing on at all times. My thought was to use the normal of the contact point of the surface to then generate a force in the perpendicular corresponding direction. I have no idea if there are advanced Unity function to do this, so I made my own.

I'm so happy to say that I did manage to make it work! Our character can climb all the surfaces with wanted to.


That's today progress, until next time.



[j]

Tuesday, June 3, 2014

Green Lit!

That's right! My project idea got the "Go" to become our final project!
I'll be working with 2 other classmates and we will work on an idea that was born out of the "Love O Love" prototype. Gladly it won't need to be love related this time (no game-jam that needs to be matched to) and it will be related to water.

The idea is that you will control a drop of water that can change it's size and become steam, water and ice to destroy the buildings of the bad guys.


Heres is a few concept art of the main character.



The goal is to make it work for a mobile device. This is something totally new to me and I'm very exited about it. I'll be working as producer, lead programmer and lead art. Here is an interface mock-up (you will provably recognize the map from the prototype).




I won't spoil it too much, but I'll keep you posted ;]


[j]