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 organizationI also updated the tags Not going to show it as well but I changed my folder organization as well. No more 2DI 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 spritesThe 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 architectureThe 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. Lots of controlAs 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. I made more documentationSpecifically, 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. Also I had a light issue and I wanted to fix it so badYou 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 City of love work summary as patch notesFinally 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 ! MondayI 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/WednesdayI 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 ThirsdayThe "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
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 upAgain. 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. 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. (I also did a tag for documents but I didn't bother to take another screen... Sorry!) The project evolved a lotSo now I have a debug map that is way bigger than what I showed last. 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. 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. 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! 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! Gotta fix a little bugIn summaryGoing 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!
Have a nice day everyone!
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 spatialisationSpatialisation! 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. 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. My project, my progressOctrees 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! 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:
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! Also I failed horribly when I started and it's hilarious so here it is.
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. I then created a blank project, no raytracing because it won't be very useful in this 2.5D project And then UE4 proceeded to crash a lot and load forever for a number of reasons... 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. 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'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! |
LukasInterest in video games since forever and till I'll die Archives
April 2021
Categories
All
|