Hello everyone! It has been two weeks! Ain't that crazy? I know my activity has been somewhat sparse but I try to keep things updated in here. Still between school, work and this crazy Jam, I had a lot to do. And so I have a lot to talk about in that regards. A jam? What is that all about?The jam was organized by game for change and the french embassy in the US in association with Unity. It mixed together student from Senegal, France, the USA and Canada. Long story short it was amazing and people were very supportive. I might post my face because I did a couple of interviews and talks so I might post my face here and there. Anyway we had one week while being in school or working or internship, whatever. But we had to work on a small game around the theme "Amplifying Voices". We chose to talk about livestock that gets massively killed everyday. Since pigs are really compassionate and smart. We chose to control a pig. Since I love the Nine Inch Nails song, we named the game Piggy! You can play it here! How was the game made?We didn't have a lot of time but I decided to invest my days I was working on City of Love into Piggy. I didn't extensively worked and once tired, went to sleep, took break. And all that beautiful stuff. We thought at first about some game ideas, but we liked the idea of being a truck driver that didn't know was delivering live stock to be killed. From that idea we turned it around on its head a bit, and we wanted to make a horror game where you are the livestock to make the main interaction with the game being around empathy. I also love horror games, like a lot. I was the programmer and I took a bit of the role of technical lead, offering advice and help to my team mates, as well as doing demos, teaching unity, and doing a bit of coordination with time zone. And it worked really well. I'm really happy about that. Our artist and other programmer had very busy schedule. The other programmer had a bit of Unity experience prior to this jam but not a lot. And our level designer was not used to the tasks needed for the jam. Still they all managed pretty well. Here's a breakdown of how it all went Logistic partWith time zone and constraint and school work, we needed tools to be able to relay work without being necessarily present. Here's what we did set up for that. Source control through github As you can see, it was heavily used by the end, also I crunched a bit there to finalize the project. Very sorry about that. It was an ok crunch and it was only one night. Still you will see the scope was a bit too big. Setup a Kanban This way we can put some work to be done there and someone can just take it and work with it. I also took the time to put some gifs and steps on how it works, especially for the butcher, the only enemy in the game. Every time some work needed to be potentially done by someone other than me, since I made all the architecture, I would give samples examples and assets to help other devs do the tasks that were asked for the game. Communication Even though we have all that going for us, brainstorming, talking and having an actual conversation about stuff might be needed. In that regard we asked the organizer over discord to set things up for us to share progress to the team so they have an idea on how the game is going on as well as meeting once per day if we can to talk about what's going on and what's a priority. Everyone did that, not just me or Mouhamadou! And with all that set up we can focus heavily on developing while being sure that important dev informations could be conveyed throughout those tools. Early developmentCamera was set up first Then the lighting Control setup through the editor (I used a lot of reference through the editor for my designers, and it ended up being a problem, I'll bring that up later) Merged all that work together Meanwhile, on game for change side's
Getting ready and additional featuresSo far, project seems to be going pretty smoothly. Every technology that needed to be imported was imported. And I need to start creating more game specific features. Cutscenes and buttons Subtitles on top of that Placeholder animation system Hiding mechanic As always, progression is going smooth, but as you might see, assets are yet to be implemented. With everyone schedule it was hard to have them early on and so I did my best to make prefabs as well as placeholder stuff to be able to implement that quickly. That way, with minor tweaks, the whole game would be ready to ship. Late additions and issuesDid you know that using events everywhere makes some assets and function unavailable ? I use a lot of Unity Events so everything can be set in game like call a music or a sound to be played. Well unity events CAN'T interact with audio sources or Playable assets. Made me stay way too late on night to fix the build. After fixing that I did... An interactive title screen Animation Butcher Insanity Death VFX ...and everything nice! Anyway after a lot of work, our level designer went and replaced all the prefabs and made the game that we had in the end. As you can see, a lot of worked was put into details and some late additions made the workload a bit strong at the end. But not so much. We were very ready and we had a lot of information to just adapt and make the game like it was. As usual a bit more time for polishing the level design and the game as a whole once everything was imported would have improved a lot the game. But still, all the audio work that you can't see there and all of the ambiance worked really made the game. I'm so proud! Something weird but good happenedOn a more personal level, during the Jam, as I said earlier, we were asked to participate in zoom calls, meetings, feedback sessions and such. If you don't know me... Even if you know me you might think I'm a pretty social person. It may be true, in an environment I can adapt, small talk, make jokes and just like being your everyday co worker, or student pal or anything. But this is not my comfort zone, I learned the skill but it wasn't innate if I may say. Well... Out of my nature, I participated a lot during the session through writing or vocal. The reason why was that people were pretty shy at the beginning, and as an aspiring game dev that gets oneself into situations to understand things in a more thorough manner, I know how much feedback and participation is important. Especially from other game devs. And so since it was pretty quiet I stressed out and I did talk. I gave feedback as honestly and openly as I could and did everything I wish I had when it came to encouragement and feedback as a game dev. At first I felt pretty alone but once I shared that I felt I talked too much a lot of people gave me a lot of praise. And it was very heartfelt and wholesome and... I don't know, I'm just so thankful about all these people. They rock. But yea it was very wholesome and eye opening and I feel more confident into helping others and doing it in a way that would benefit them. And I'm happy I could learn that. I think it was one if not the most important thing I take out of this jam. Wanna check the code out? You can download the whole project here: Click me! You'll need Unity 2020.3 So what's next for me!City of Love is still on hold! I know it sucks I want to keep doing it... BUT! I have friends in need of help that are doing some small scaled projects for their studies. I'm helping in the art and sound department. It will improve my art, and will allow me to have some more credits on some more project which is good for personal growth but also I get to help an old friend on a project and make it better than what it would have been if he worked on it on his own. So far not much work was done but here are some rejected arts! That's it for this week, I'll keep you in touch with the other project progress and hope I can get back into my passion project soon!
Until next time!
1 Comment
Hello everyone! Long time no see. I had two weeks where I could work for a few hours on my game and some help. In those two weeks a lot of progress has been made and I can't dive too deeply about it but I still want to record progress here so here it comes. Another dev joinedA good school friend of mine that has some free time these days came to help me and mainly worked on the camera! I had a lot of explaining and code review and pair programming to do so I didn't progress on my own but if my friend stays free. I will have a lot of work down in parallel of my work. And that's very precious. Together, with the power of our brain cells and determination. We managed to do a pretty solid camera system for exploration. To keep work centralized, I made a huge discord serverAs more people joined I didn't want to send private message or text or anything to my devs because they work with me out of their free will. It is precious and it shouldn't be pressured. So I made a discord so they can keep track of my progress. On that occasion I invited a few trusted friend as consultants so they can give insight when I'm having open deliberations with myself about how the game should feel and change. I am so thankful for everyone willing to help me out and that warms my heart in those dark times... And by that I mean I just watched the 10th episode of Dangan 3 despair arc and that was a bit traumatic for me... But it's fine. Hard content will make me better! I made a dev debug interfaceAnd I'm pretty proud of it. I've been able to make static debug variable and functions available everywhere INCLUDING in blueprint. It took me some time but it's very easy to integrate anywhere and it doesn't compile when I build as a shipment build which is always good to prevent debug function from even being in the end product code. Lot of little features here and thereI don't have a lot of visual evidence about this but I have been making progress in a lot of alleys. You can see that with the updated Kanban as well as with this now coming list of pushes. Doesn't seem like it but a lot of work. Crazy lot.
Personal notes:
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/
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!
|
LukasInterest in video games since forever and till I'll die Archives
April 2021
Categories
All
|