Sections

Tuesday, August 1, 2017

The Past 2016 till now

During my time in AAP I met great people, and since I left AAP to this day, I continue to work with one of those persons. It might be a temporary freelance gig, but it's been a great time working on new and exiting things.

They are AR projects, which has allowed me to learn and working with technologies I didn't have the chance before. After the hit of Pokemon Go now it's become a lot easier to talk about AR, which I feel makes conversation around AR games a lot easier.




One day I would also love to share some of these experiences here, but I can't until these projects don't get out of the oven and make it to the stores.



[j]


Friday, March 3, 2017

Catching Up - Part 2

After what I would call a successful first half of the year (2015), something great happened. I meet the awesome guys of Any Arts Productions and joined them!

Meeting them kinda felt like "fate". The guys at Any Arts have the heart in the right place, they wanted to make games for the love of it and we shared many views of the industry. This gave me a great feeling of connection with them right from the start!

Here is where I directly met Unreal Engine 4. I had known of the engine, but never really gotten into it.
I needed to learn how to use it and quick so I could pass my "trial period" the team had put me into at the begging, it made sense. I knew close to nothing about the engine and they were work only on it at the time. 
It felt very similar to when I started with Unity, picking every little stone and turning it over, and see if I could understand what it did there. Slowly and steadily learning more of how it worked and how this new engine "thinks".

After about a week, UE4 and me became sort of friends. Friends that get along but with different tastes. We wished we both did things in a different ways, but still made progress. Slowly with time we polished those edges and learn to work with each other.
In my head I needed to truly understand how the engine work, how it "think-ed" inside. It's a thing I do... which is why I was always so bad at history and biology back in high-school (too many names and dates). Math and physics came so much easier for me. They "made sense".

One of the things that I liked the most were UE4 Blueprints. Oh boy, how did these guys help me learn and understand the engine faster. Luckily for me, the studio worked mostly with Blueprints only then. All this things combined sort of create an nice environment for me to learn. The combination of a great motivation, a clear goal and it's reward, a great learning environment and the people, all that allowed me to "make sense" of it and get to a basic working level with UE4 in about 2 weeks.


And so, I passed my trial period and was asked to work directly on one of the titles. Here I was given a lot of freedom to experiment and test gameplay options. We wanted to find solutions to gameplay options that didn't quite exist yet at the time. Here was were I had my first dip on Gameplay Programming. And in a simple task like that, I felt in love with Gameplay Programming.



Today I think that Gameplay Programmer is the most artistic way of programming that I know. It takes a very logical process and turns it into a feeling. From something so structured, rational and objective, to something so very abstract as perception and "the feeling" you transmit to the player when they play.



Later on I was tasked on working on the main project, Season of Heaven. They asked to work on one of the mechanics of the main character. This felt huge, they truly cherish this title like a child of them. Everyone involved had this warm feeling when talking and working on this project.
There, by my hands, the "kite" was created. Made from scratch as a test of sorts, with the goal of putting it in the prototype (keep in mind this was 2015).
I might dedicate one day a post to talk about this one if I'm allowed one day, but for now I won't go into details.
I got great feedback from this task, from some really important people in the industry. Creating this features felt reeeeeally good!

By the end of the year I had to stop working with AAP because the work permit I had in the US from being a student in the field expired and I had to sadly return to Chile. The company wanted to sponsor me, but for a new company this things sometimes ain't so easy to do.



It was a great experience in general and even today, the guys of AAP still have a special spot in my heart.



[j]

Monday, February 27, 2017

Catching Up - Part 1

It's been a while... and now that I notice and look back from the last time I wrote something, so much has happened!

So, let's look back at 2015.
During this year I worked on 3 mayor projects, of which I can say only talk about 2 of them. I met a lot of great people and learn tons of new things!

Today, I'll talk a little about this one!



I'm somewhat proud of this project, proud of what I was able to achieve as a new programmer professional. Even thought my experience, I was the lead programmer for this title. This bought many challenges... a new view on some things... and new skills! (Level UP!)

Truth is at first I was scared, yet exited!
Picture little me there, responsible for the whole game's code. I felt so small with such a large task, it was overwhelming...
The amount of control and "power" I had over so many aspects of the game were such that it worried me (I felt under-experienced at the time), but it also gave me freedom to work as I thought was best..
But I wasn't all alone, so as I worked on this, doing things "my way", I would go and check-in or ask for feedback from my pairs. 
I can't say everything went perfect, but for the most part everything went great, and for the rest, they were great chances to learn more!
Every big step I took felt like uncharted territory to me, each came with the fear of failure, the drive for knowledge, and the excitement of the opportunities and possibilities that each step might bring!


Remembering this experience, I can't help to think of how much of a great time it was and how much fun I had!


I would like to also use this opportunity to thank everyone that worked with me back then and helped me to bring this great experience to the virtual stores! Thank you!



[j]

Saturday, May 2, 2015

Curves!

Yesterday, I met a friend.

He told me about using animation curves in the inspector. I always thought animations curves are great, giving you amassing control, but I never thought about using it to control values directly in the inspector for things other than the animations.

Provably not exactly what he had in mind when he told me, but I create a quick script to control the offset of those moving object with a curve. 




The possibilities...!




[j]

Tuesday, March 3, 2015

Path Finding

It's been a while!

Today I want to share something I've been working on. As you might know from my previous posts, I've learned programming on my own mostly and I take programming challenges to learn more about different algorithms and such. This time I want to show you my first approach to path finding.
A little heads up: This isn't A* nor any other, or at least I believe it isn't since I made this without learning the current existent ones.

What my algorithm does is that it looks for a tile's neighbor and evaluates which is close to where I want to go. While doing this it discards tiles that are part of the current path and those that are 'closed'. If the code isn't able to find a way to the destination it tries again ignoring the path that was already tried. Also, after the path has been found (if it is) it optimizes it by removing unnecessary steps, rearranges the steps to make smoother lines and curves and at the end removes overlapped steps.

As you can tell by now, this won't give me the shortest route to a destination, but as a first attempt I am very happy with the result.




Now that I've managed to create a path finding script on my own, I plan on comparing it to what the big path finding algorithms look like. Now that I know how it should be approached, learning how the great ones work will be easier to do.


Hope you liked it!

Now I wonder... where next?



[j]

Wednesday, December 3, 2014

Stage Complete

I been waiting for months to make this post! It got delayed because I didn't know very well how to make it happened, but today it did!


After 3 months of producing our little project, spending many hours of works, many nights of no sleep, many arguments and discussions... at the end we managed to reach our goal, have one of the few (if not the first!) Los Angeles Film School Game Production's final project up on the App Store!

https://appsto.re/us/evVA2.i

It's a small game and does have it's issues, but to us it was a project that made us grow with it.

For only have been 3 persons working on it I feel proud of it. We overcame many challenges. Now we have a little title that I believe will become an important stepping stone for us to build our careers in the industry.



I would like to thank all those that helped us make it happen. Without you, it wouldn't have been the same. Thank you.


Well that's it for now, hope you all had a nice Thanks Giving.



[j]

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]