LUKAS TAMAYO
  • Home
  • GameDev
  • Application and Research
  • Logs
  • About
  • Contact

Dev logs
​(My everyday trials as a developer)

First week of february progress

2/5/2021

0 Comments

 

RSS Feed

Hello everyone!

A god damn lot happened this week. I did learn a lot. I did work a lot. And I'm way more efficient these days. I can't work on this everyday but what I do I'm proud of and things are going faster every week.

Also as a reminder, as a one man project... Everything takes long because all the time I spend on hack'n'plan, on programming, on levels, on shaders prevent me from coding and advancing. I'm also reading a lot to iterate and try to do the project as best as I can

Here's an update on my kanban organization

Picture
I also updated the tags
Picture
Not going to show it as well but I changed my folder organization as well.

No more 2D

I wanted to do pixel arts for this project, like the two first GTAs or Darkwoods that are heavy influences on this project. But I can't do that.
Well I could but it would be a lot of time going into animating sprites. The reason is simple...​

It's really hard to produce diversity with sprites

The only way to easily do diversity with sprites is to change the color palette, this way you don't have to draw new animations and still have the same results. That being said. It is way easier to make diversity in 3D. You can change the texture completely which would be the equivalent, but you can also easily add props and accessories to the character model and you can even change the character model... All of that you can do in 3D with one added benefit : you can use the same animation on several models.

It means I had to completely rework my architecture

The first reason I worked in a certain way with a pawn and I created and added a bunch of component to a pawn which is the base class you can work with in order to control a character was because I didn't nude a skeletal mesh. It was also to learn to somewhat redo my character and interact with the engine's physic.
But this custom pawn lost its interest when I stopped doing 2D and so, it would save me a lot of work to actually go through a character instead of a custom pawn.

At first I thought it was too bad because I made a lot of progress on my pawn.

Bugged moves

Picture

Fixed move and jump

Picture

Bugged jump

Picture

Bugged cursor

Picture

"Fixed" cursor

Picture

Lots of control

As you can see I'm getting closer of the top down controls I wanted to do with permanent aim sight. The cursor has a weird bug that I'm explaining there, but in its current state, it won't have any impact on the game at all.

Also all of these movements can be overridden, and so if I control... Anything, as long as it was a children from that pawn. It would work. The controller will stay forever as this is a single player game but the pawn might change depending on narration, mini games or anything else really. So this was a lot of work to do these simple feats.

Because of all that, erasing my work felt wrong... But I did a pretty good job. Before changing the code and moving it to my character. I saved all my progress into my source control to retrieve my work if everything goes bad and... In like... 2 hours. I managed to take all my code changed it, change my references and it worked instantly.
Picture

I made more documentation

Specifically, about music. I really want for my idea to not change with time and shape my project and have clear place where I save my ideas and I can convey them.
Since,,, Why not you can check it out there. If it get's updated you will see it.
I really need to work on a more presentable game design document, not a google doc but an actual power point with mock ups and images, or at least references to easily grasp the project.

I also documented myself a lot, downloaded Blender and Quixel Mixer, I read a lot about how the engine function exactly and try to really ready myself to master Unreal Engine 4.
Picture
Links, article, documentation about Unreal, basic from advanced

Also I had a light issue and I wanted to fix it so bad

You have no idea. Sometimes the smallest things gets on my mind and I want to fix it so much that I don't do what I'm supposed to do. And this gets encouraged because I work alone. If I want to fix the light I'll do it and I'll spend my life and search everywhere to find hints. Or try everything in the engine and editor until eventualy it is fixed.

In order for you to grasp the situation. I'm not going to say the "problem"... Here's a screen of it. Contact me or comment if you find it. I spent a whole afternoon to "fix" this issue
Picture

City of love work summary as patch notes

Finally if you want to precisely know my work... You can check it out bellow as I post every patch notes I made on my git. Here it is !

Monday

I actually applied to various studios to see if they'd be open to work with me outside of my school days. I hope I'll get some work but I'm not ultra invested right now. It will be fine as long as I find work before septembre 2021.

Tuesday/Wednesday

I didn't push my work Tuesday so both days merged...
​
-Added a lot of metadatas and specifiers
-Linked the pawn to the controller on possess
-Made all the axis and actions functions
-Bound horizontal and vertical functions to the controls
-Tested it out it works
-Create a new physic material
-Binded all keys to the controller ( I should make some menu functions inside the controller directly )
-Made movement functions
-Made jump functions
-Made a simple player state enumerator (not using it currently but will have to)
-You can jump infinitly as a result
-Made a new Blueprint because the c++ update bugged the last one
-Didn't get rid of the last one
-Made the capsule collider component the root component
-Using it to compute movements
​-Quickly changed the jump formula to bring it closer to the UE4 metric system

Thirsday

The "light problem" day, also the day I did my aiming code

​-Added a function to get the velocity in the player pawn
-Made a function in the tick of the controller to get inworld cursor position
-Cleaned a bunch of comment and useless code
-Forgot to put the UFUNCTION macro above the getter
-Fixed some shadows and lights

Friday (day of writing this post)

Lot happened today, good day of work gents!

-Can move through Character
-Can jump through Character
-Camera is still doing its camera stuff
-I learned a lot about Unreal Game Framework
-My gitignore didn't ignore right because of it's location. Fixed it... I'm stupid
-Made a blueprint for the character
-Added a mesh
-Cleaning starts
-Pawn was deleted
-InputComponent was deleted
-CapsuleComponent was deleted
-SkeletalMesh component was deleted
-Map was tested

Final huge news: Amplifying Voices!

So my school was chosen amongst many to send students to work with other students from the US as well as Canada. The goal is to talk about inclusion, diversity and do a small Unity project about that.

I've sent an application because it was a week where I didn't have school in case of, sent a color letter about my intentions and my background and heck. They selected me. From all the students of Isart Digital that did an application, mine was held.

So I signed a thing and now, I'm apart of the thing. Unless something very bad happened like a mistake.

You guys have no idea how pumped I am. I hope I'll make a beautiful game with beautiful people!

That's it!

If anyone is reading, thanks for that. That is the kind of investment I do not understand. Stay strong, stay loved, and see you guys next time o/
0 Comments

preprod first week progress

1/23/2021

0 Comments

 

RSS Feed

This is going to be a weird sentence. But as expected everything is harder than expected!
Doing a game alone is no easy task everyone knows that. But I'm actually just doing a vertical slice and present it as a game!
Still... Progress as been made. I'm just getting lost in my unlimited tasks in all fields. And I like that! It keeps things fun. But it makes the actual coding go a lot slower than if I was only focusing on programming.
​Still, let's present what has been going on.

Organization leveled up

Again. I feel like at some point. Some people are going to join me and help me. And to accommodate. I created my own hack'n'plan to use kanban and priority request I assign to myself in order to increase my workflow and allow anyone to easily join.
Picture
Also I'm using tags on top of the kanban to also do good debugging and also if I need to focus on specific types of tasks.
Picture
(I also did a tag for documents but I didn't bother to take another screen... Sorry!)

The project evolved a lot

So now I have a debug map that is way bigger than what I showed last.
Picture
I also coded a lot. A lot of architecture and not actual features. But I'm trying my best to shape up a system and then get used to it and then surf on it like a beauty.
Picture
Picture
Picture
Picture
And I have a first sight of what the game will look like with that architecture. I'm trying to do a lot of things to give myself freedom. The game might have more than one controlled character for very specific instances. So I have to code the actual control managing in the controller but the character functions IN the pawn... Once the polymorphism is done, I'll have a lot of freedom.
Anyway, so far I just have the view of the game and I already feel glad about how it feels. As creative you always doubt. And I do... For sure. But it doesn't mean I can't keep going on and trying.
Picture
That should be all for this week. To anyone reading. Take care of yourself. And thank you for reading.

Next week is school week. We'll see how I'll do!
0 Comments

Project init progress

1/18/2021

0 Comments

 

RSS Feed

More set up. Still not too much code.

I'm sad I didn't code too much (even though to be honest I did some minor shaders... And this game isn't going to be shader heavy ).
But I did quite a lot of work which I'm happy about.
I'll do some quick points so it's much more visual and impactful!

Ready?
Set...
Go!

Assets are well organized

Picture

Coded a main material

Picture

Made a git (source control)

Picture

Tested my material

Picture

Gotta fix a little bug

Picture

In summary

Going from just creating the project to do a little bit of prep work for a good debugging environment, coding materials around a folder architecture using only material instances in a scene deriving from a master material. And also git if I ever want to work online with someone, all of that in one day. Is pretty good to be honest!

If you pay attention to my git commit you'll see I write them like a patch note so it'll be easier to follow my work. If you want to see it more clearly here it is!
  • Created a map
  • Created a main material
  • Created dev material instances
  • Updated the map a bit
Have a nice day everyone!
0 Comments

About school

1/14/2021

0 Comments

 

RSS Feed

Just so you know this is going to be a small article, this post is just a little update about my work.

I have to do a project about spatialisation

Spatialisation! Have you heard of it? It's amazing. It is basically EPIC OPTIMIZATION!
The name seems to suggest that it only applies about objects in space and while it might be true. It can also simply apply to abstract and hard to understand when you don't work with it data.
Usually, when you search for data. The easiest and most common way when you are searching through all the data of your application. Like let's say in a video game, all the enemies on screen. You might want to check their health and you want like this big skynet IA to tell each of them what to do based on that health. 
PictureLot of IA in one screen - Killing Floor Biohazard

​

So them IAs, they right now don't need to act because of position but because of health. And to be sure you have to check each and every one of them every frame and honestly it sucks. Well there are methods to make it quicker and basically it all come to one thing: sort them.

Sorting is the new black (not really but let's pretend)

So these IA's, instead of going through all of them. Let's say we sort them and we sort them only when they get damaged, like we put them at the beginning of the list. Then once we find one of them that is full health, we just stop. Because we know there is no more wounded IA's that needs to be checked.

I know there are better ways to handle things like that than my made up example, but let's go with an HOORAY for now. I have a lot less tests to do, my thousands of AI are way less computed. Stuff is cool.

Now what did school ask me to do about that ?

Octrees...

Octrees is a way of testing things between them based on proximity. And my job is to prove that it is way easier to compute things between them using an octree instead of an array or other sorting methods.
Picture
Octree representation

My project, my progress

Octrees works way better with space so I'm going to do a little project about that on... UE4 (for no real reason, I just wanted to and experiment with the engine, and since it's a school project well...)

​So anyway here is an amazing photograph of my thoughts drawn poorly on paper!
Picture
The incredible practice of putting things down on paper
Don't pay too much mind into my amazing programmer's notebook but on the drawings and maybe what's written.
I'm going to use UE4's colliders and compute them inside the tick/the function executed every frame to detect if object are overlapping each others instead of using unreal inbuilt system. 
I'll do that using a simple array vs an octree.
I'll do a static project first and then a dynamic one with moving elements inside the limit of a box
.
Static project will have:
  • Differently sized objects
  • Stacked up objects
  • Sparse objects
  • Iteration system to do a number of tests
  • Same tests with an array
  • Stats
And the dynamic one will have the same but the objects will be moving wich means the octree will change and I will need to figure out how to dynamically update it without it being too costly.

So far I have just done a basic debugging environment but I feel pretty good about what I did. There's not much visual about what I did but here's a sample!
Picture
Also I failed horribly when I started and it's hilarious so here it is.
Picture
0 Comments

Starting a new project

11/1/2020

0 Comments

 

RSS Feed

Sup guys ?

When I started this portfolio, one of the main goal was developing something on my free time. And to do so, I wanted to blog it out! So here it is!

Starting a project!

I've been thinking about this for a while. The project will be done on Unreal Engine for many reasons but mainly because of the editor tools to model, texture and optimize the work that I'm going to do and that other engines won't be able to cope with.
So I started my work on Unreal engine 4.26 and created the projet.
The project is a 2.5D topdown GTA-like game with cryptic narration and a mix between hotline miami and max payne combat.
Picture
I then created a blank project, no raytracing because it won't be very useful in this 2.5D project
Picture
And then UE4 proceeded to crash a lot and load forever for a number of reasons...
Picture
And then finally, after tweaking preferences, reinstalling the engine, recompiling the project and all that sweat stuff, I had a sight to behold... My editor, running and working, showing absolutly nothing.
Picture
It may seem as I'm kidding but really I'm happy about it. After that I went back to the epic launcher and added some marketplace assets that I collected throughout the years and added some things to ease my workload in the future but will still have to draw, code, and sound design/compose everything which is going to be... A lot... So if I can shortcut a bit. I won't complain.
I know it's nothing too fancy and it's basicly just starting an app and making a save... But still I wanted to say that I started producing it a bit.
Right now I'm in preproduction.
What it means is that I'm just testing out the water before diving in.

Still there are some things I can say to show a bit what I'm about to do.

What's the past and the future?

What I have done so far
  • I have shared my project with many
  • I made a document stipulating everything that will be in the game, some sort of GDD that is pretty complete
  • I thought about the technology that will be used and the engines features I'll use
  • I've written the story roadmap
  • I have written the game systems
  • I defined the 3C
What I have to do
  • Make documentation about the game features
  • Make a document about the game overall architecture
  • Go through paris and talk interview people, take reference pictures
  • Test out the AI, rendering, and in-game locomotion
  • Start to build the architecture in game

I'll use everything Unreal can provide me and work both in C++ and blueprint to maximize the strength of both languages and the engine.

A lot of my work will be documented there a bit like a logbook but not everything. This game is more here to improve and show out my technics and skills. But it is still a project that I'm very passionate about and would like to make it a reality someday. So I'll keep some nuggets under the radar.

Thank you for reading. I hope if this is not as much as informative that it has been entertaining to read at least a little bit!
0 Comments
Forward>>

    Lukas

    Interest in video games since forever and till I'll die

    Archives

    April 2021
    March 2021
    February 2021
    January 2021
    November 2020

    Categories

    All
    Algorithm
    C++
    City Of Love
    Design
    Jam
    Opinion
    Organization
    School
    Shaders
    Slice Of Life
    Source Control
    Theory
    UE4
    Unity
    Virtual Photography

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Home
  • GameDev
  • Application and Research
  • Logs
  • About
  • Contact