I'm not sure what you mean. It's a generic function I wrote it once. Then I did test whether each subsystem was needed or not (although I did that in groups and not one by one)
@66oggКүн бұрын
@uselessgamedev I mean CurrentSystem object when you show this moment timestamp in video I selected, you write every Current System in u script? 👁👄👁👂💬🌌
@66oggКүн бұрын
@uselessgamedev I'm very stupid
@uselessgamedev21 сағат бұрын
Usually for these I use a text editor's multiple cursors features to type multiple lines at once (some editors like Sublime even handle intelligent clipboards) If the task is too complex for that, I write code to generate the code. I also could have written a simpler code with a list of types to delete and a loop iterating through it
@66ogg15 сағат бұрын
@uselessgamedev and so all loop be so cleaner, it's magic, love u tutorials ❤💬
@Mtaalas8 күн бұрын
As soon as the picture starts moving with more than 12fps, the hand drawn feel is basically lost. That's the issue with trying to make a game look hand drawn. either it IS hand drawn and animated (Cuphead) or it's still and can look like hand drawn... the second it moves in uncanny way that hand animation would not, game over :) It's a great effort, but there's still bunch of problems to solve to be actually convincing :) But as a tutorial on what to do to get the look, this is gold.
@std_void9 күн бұрын
One thing I would modifie is to make outline thickness depend on depth (distance to the object), proffesional artists make lines thinner if they are further away to show the depth of the scene
@ildylandogg25 күн бұрын
spettacolare! complimenti
@le-jesuveАй бұрын
this is dope
@scriptguru8Ай бұрын
Very informative and well explained, thank you!
@BardentАй бұрын
Love it!
@ReddStriderАй бұрын
Futurama had a gag like this in s9 e5 4:16
@tellibananaАй бұрын
I wonder if this would be possible to make it super quick and efficient using some kind of a custom DLSS function. Also I think it would be even cooler if you used PETSCII instead of ASCII.
@dialyonsАй бұрын
wow the 3d version is amazing
@surdno5796Ай бұрын
I wonder if we can dnSpy-hack the game to exclude the unnecessary code in build.
@EtienneDeguineАй бұрын
have you considered using a compute shader to parallelize and speed up the solve to a single frame?
@uselessgamedevАй бұрын
Hi! Yes and no. Solving in a single frame wouldn't be possible because you need to make some clicks to make the game progress, and wait for windows to process that. So even if a "round-trip" takes a frame you would need multiple of them. A compute shader would certainly speed things up but not by much as the number of cells to analyze (the "edge" of the discovered space) isn't that large and the CPU is capable of handling them quite fast. I do agree this is a parallel problem though and would benefit from parallelization, whether on CPU or GPU
@EtienneDeguineАй бұрын
@uselessgamedev I see yes I was referring to a single frame for the part in between clicks (image processing + logic) so that you could click every other frame but it sounds like the latency is somewhere else. Keep it up, I love your videos :)
@lvdpoel97582 ай бұрын
Is there a way I could download your game as a unity package? I'd like to study how you did this and really get a better grasp of it! Thank you for your great videos :)
@uselessgamedev2 ай бұрын
Hi! All projects source code is on the Patreon (link in the description). However I made this when I was a beginner at the whole shader thing so I'm not sure it's good studying material
@Cyberfoxxy2 ай бұрын
A blank project should be about 30mb. Surely your couple of images can't bump it to 80mb! This is why I have settled on older versions of Unity. They provide negative value with each update. I clearly remember going from Unity2019 to Unity2021 in-editor compile times went from ~1 second to 3-5 seconds.
@onetruetroy2 ай бұрын
I love this video. Thank you for the Moebius trip.
@KingRecycle692 ай бұрын
You can edit the manifest file to include only the packages you want. Its just a json file so you can save it and every new project you just replace it with your edited one and unity will automatically add and remove packages.
@WeekofRain_hr2 ай бұрын
useless game dev? all i see are gold
@fakeusertas7212 ай бұрын
Source Code (this code only for free share can be possible) ??
@sketchingbaer82432 ай бұрын
there is (or was?) a light version. i dunno how to find it, but it was presented some time ago. they marketed it for mobile games, that want to be as small as possible, only using the bare minimum
@uselessgamedev2 ай бұрын
Project Tiny it was called. I don't know if it's officially canceled but the package doesn't get a lot of activity these days
@pokruk02 ай бұрын
Premature optimization moment
@viccie2112 ай бұрын
As a full time C# web dev. JetBrains Rider is AWESOME! it's great seeing them sponsor youtubers
@neonneon8922 ай бұрын
Unfortunate how all game engines just seem to get bigger over time. I just checked the size of a game jam game I made in 2017 with Unity, and that was 39MB without paying any attention to the size of the project. And it had 3D graphics, unlike the project in this video.
@thanatosor2 ай бұрын
This is hopeless 😂 Just try defold if you want 5MB build size
@empty50132 ай бұрын
loving this video but a minor gripe: measure performance in ms, not fps, fps is hard to compare due to being inverse. if you cut frame time by 16ms you go from 30fps to 60, or from 10 fps to 13fps, same improvement but one seems way more impressive!! gamers might not understand ms vs fps but we're smart game devs so we don't need to worry about that for performance discussion
@empty50132 ай бұрын
unsubscribed this is useful game dev
@CelesteSoueid2 ай бұрын
Here's one that, in my tests, gave an 8x improvement in frame-time: avoid using unity's reflection-based "event" functions (eg. Start, Awake, Update, FixedUpdate). If you create a singleton that receives the unity "events", you can architect your MonoBehaviours (via base class) to register and deregister themselves to the singleton, which will then directly call the relevant methods through either C# events, or lists of interfaces (eg. IFixedUpdateable, IAwakeable). I don't use Unity nowadays, so unfortunately I didn't get much use out of this after I figured it out, but hopefully it helps others. Unity's 'events'/'messages' are based on runtime reflection, which comes with an absolutely insane amount of overhead. I've never understood why they thought building the application code on the top of reflection was a good idea, especially since when they first architected it, reflection was even slower than it is now.
@uselessgamedev2 ай бұрын
Oh 100%. You could even put your singleton in the playerloop. But it's certain the SendMessage/Broadcast message system is a performance sinkhole, and the events (Update etc) cannot be much better
@Biggorbino2 ай бұрын
Hi, could you try explaining that in a beginner friendly way because i am interested
@Briezar2 ай бұрын
from what I know, Unity messages do not use reflection (SendMessage might be, but not Start, Update, etc.). A quick search on google will have you this: "The first time a MonoBehaviour of a given type is accessed the underlying script is inspected through scripting runtime (either Mono or IL2CPP) whether it has any magic methods defined and this information is cached. If a MonoBehaviour has a specific method it is added to a proper list, for example if a script has Update method defined it is added to a list of scripts which need to be updated every frame. During the game Unity just iterates through these lists and executes methods from it." So what you're doing is essentially reinventing the wheel, minus the checks so you have more performance. Checks here include the auto-removal of null/invalid "IUpdateable"s from a list while iterating, handling exceptions and so on.
@razveckАй бұрын
IIRC this is not entirely true. There's a blog post from Unity saying they don't actually call methods through reflection. They register the methods through reflection at compile time/some other pre-processing step and there is no runtime reflection.
@anon_y_mousse2 ай бұрын
I'd love to see a whole series on this with at least one video for every engine. Might be really cool to write an engine from scratch and talk about the best ways to optimize it.
@sechmascm2 ай бұрын
The most optimized game engine is the one made for that one specific game. You only add what you want/need
@anon_y_mousse2 ай бұрын
@@sechmascm If you don't enjoy programming then fine, but some people do.
@sechmascm2 ай бұрын
@@anon_y_mousse What are you on about? lol I was saying that you have to make your own engine... I don't follow your logic
@anon_y_mousse2 ай бұрын
@@sechmascm Do you enjoy writing boilerplate code that you have already written over and over again? Even if you write an engine generically, you'll just be duplicating the preexisting engines. Better to just start writing your game, unless you're only doing it for a learning experience.
@sechmascm2 ай бұрын
@@anon_y_mousse Well, you can start from the step just below the comercial engines. No need to write a compiler from scratch, but there are existing libraries that give you control over what you want to add. I'm not even an engine purist, but if you want a comercial engine to be perfectly optimized for your project it'll be hard to find one. I know you can modify and recompile Godot (if you know C++), but Unity and Unreal Engine could be lost cases in that regard. The tech debt will carry over no matter what
@albarnie11682 ай бұрын
False advertising. this is Useful game dev.
@NeatWolf2 ай бұрын
Or, you know, just uninstall the built-in features you don't use from the package manager 😜 I appreciate the effort tho ^^
@Pitoouuu2 ай бұрын
5:35 Don't use the FPS as a measurement, use milliseconds per frame. That way, you will see each project got a (very small) boost, like 0.05 ms less per frame.
@garklein80892 ай бұрын
What is that background? It looks really cool!
@uselessgamedev2 ай бұрын
It's three sobel filters applied to a two sliding gradient noises multiplied together
@ChillaxeMake2 ай бұрын
A lot of people are just considering ditching Unity entirely.
@CadaverKuma2 ай бұрын
A gazillion quadrillion of a billion people are considering leaving unity 🤯 🤯
@kaasronald36232 ай бұрын
all your videos are good
@kaasronald36232 ай бұрын
i thought LoadSceneAsync was fine in build mode (not in editor). But maybe my scenes are not complex enough to cause stutter in build.
@julienpoulton49242 ай бұрын
did you know running a baguette through a vampire's heart is a painstaking process?
@reguret29762 ай бұрын
boids!
@JamieBainbridge2 ай бұрын
Later, the govt made Baguette Clicker the French national video game. Congratulations! 🎉🇫🇷🥖
@uselessgamedev2 ай бұрын
The original title I planned was _Paintastic_ but I couldn't be bothered to make a visual for it
@Uforik64yt2 ай бұрын
You would love Godot!
@igorthelight2 ай бұрын
Agree! But for build sizes. Defold and GameMaker Studio 2 are even better ;-) Godot export templates could be rebuilded with less modules tho - still not as small as Defold and GMS2 xD
@sechmascm2 ай бұрын
@@igorthelightyou can strip editor features you don't need from the editor settings as well
@xabblll2 ай бұрын
Hello there! As technical artist I can recommend more optimization, if you really trying to strip unity default stuff. 1. Check you Player Settings and remove things you don't use. Best examples are Video support, built-in shaders, unused qualities, Graphics API, and code stripping as video mentions. 2. Try to avoid URP/HDRP if you trying to achieve performance or small footprint. Ideally, write your own custom SRP, other option will be to keep Built-in, but obviously you will miss new features 3. Avoid default shaders such as "Procedural Skybox", "Standard" from built-in RP. Ideally write your own, without hundreds of variants Asset-wise obviously check you textures and models, in some cases sounds could get pretty big too. For example, small 3D web game I developed for game jam featured full PBR, Post-fx, 3D level, sounds & music, 0 asset optimizations, since I was out of time, but I setup project beforehand, and wrote somewhat decent looking SRP+Shader core. Surprisingly Web build come out about 20MB, when Godot games I saw was about 60-150MB, and 150+MB for most basic looking UE4 games Edit: Yes, I checked my web build with empty project, it’s 8mb
@imzary2 ай бұрын
Honestly? Unity's issue is not really that it's builded games are bloated, rather the editor itself is. God unity 2022 LTS was an absolute PAIN to use, Unity 6 is miles faster in that regard but still slower than the old days of unity 2018 & 2019
@uselessgamedev2 ай бұрын
Yeah I look forward to the switch to coreCLR I think it will vastly improve performance
@CadaverKuma2 ай бұрын
Unity 2020-21 is the fastest
@pokefreak21122 ай бұрын
man unity is so cooked, I remember back in the day before all this modular subsystem bs there was just a single unity runtime dll and a build would be like 15mb total
@CadaverKuma2 ай бұрын
Its not BS my man, they don’t appeal to you, then aight, don’t use it…
@pokefreak21122 ай бұрын
@CadaverKuma The entire point of a package system is that you can have a lean core and only include modules you need. But instead of getting leaner Unity just got slower and more bloated, that's just objectively a failure. Doesn't mean it can't still be the best engine for your usecase of course, but I think the drastic decline in popularity and share price proves I'm not alone in thinking Unity messed up.
@pokefreak21122 ай бұрын
@CadaverKuma Also apparently project tiny is _still_ in preview lmao, so that isn't even an option. I used Unity for 8-ish years and in that time they've *always* over promised and under delivered.
@CadaverKuma2 ай бұрын
@@pokefreak2112 always bringing up the price changes from over a year ago 😭.. brother, the whole team changed from the board to the ceo
@autismspirit2 ай бұрын
@@pokefreak2112 The planned switch to CoreCLR is hopefully gonna speed it back up to the levels of Unity 5. Probably gonna be in a beta next year or something
@scribemike2 ай бұрын
I don't know, man. Name your channel the way you want. But I haven't seen a single one of your videos that's useless. Just sayin'.
@tommax16262 ай бұрын
Hey, Nice!!!
@Paul-to1nb2 ай бұрын
Rider really is great. Been paying for it for a few years, never looked back.
@dawidmx2 ай бұрын
You can also change compression settings for smaller build size.
@maxlabsinc16622 ай бұрын
Could you use Project Tiny / DOTS runtime? I’ve never used it, but it might be an improvement.
@uselessgamedev2 ай бұрын
Isn't project Tiny discontinued? If not, that would be a great lead for a new default template
@ITR2 ай бұрын
@@uselessgamedevTiny turned into DOTS, but it's not tinying the same way
@johnrossporter34392 ай бұрын
Did you know that you can disable many of the default things by going to Package Manager->Built-in?
@Drastonar2 ай бұрын
This
@NeatWolf2 ай бұрын
Came here to say the same after watching 2 minutes - that's...a bit embarrassing ^^"
@PoisonedAl2 ай бұрын
Why is your project still so large? I got a 3D, first person horror game with sound and music down to 38Mb!
@successor02 ай бұрын
HOW
@PoisonedAl2 ай бұрын
@@successor0 Leaning on a style using low poly and a few basic textures run through a shader.
@joaopedromonteiro25172 ай бұрын
He probably didnt compress the textures
@gorlix2 ай бұрын
@@successor0also check build logs it shows which assets have which size consumption
@surdno57962 ай бұрын
Unity Player alone is >30mb. All your assets, scenes, resources and managed libraries fit into 8MB? Bullshit.