- Видео 63
- Просмотров 219 197
Nanotech Gamedev
Добавлен 15 дек 2022
Do you want to make video games? 🕹️
Below the iceberg ⛰️ of beautiful visuals and unique sound effects of a video game, there's is an deep underwater structure full of secrets, made of 0's and 1's full of infinite complexity 🧬, where the answers lie hidden only for those brave enough to dive deeper, I know many and many of those secrets, so you should come with me on this journey!!
Yes, this will be a long journey, a game needs so many different elements, you can easily loose yourself in this path, it is not for the faint of heart. You will wear so many different hats at once that will drive you insane, I promise you, but don't loose hope and keep focused on your goal! 🏆
Technology has evolved so much lately that you can make games even as a solo developer, yes it's possible! Godot, Unreal, Unity, it doesn't matter the tools! 🔧 Grab a game engine, follow some tutorials, structure your ideas into a coherent project, make a prototype and polish it to your final game...
Below the iceberg ⛰️ of beautiful visuals and unique sound effects of a video game, there's is an deep underwater structure full of secrets, made of 0's and 1's full of infinite complexity 🧬, where the answers lie hidden only for those brave enough to dive deeper, I know many and many of those secrets, so you should come with me on this journey!!
Yes, this will be a long journey, a game needs so many different elements, you can easily loose yourself in this path, it is not for the faint of heart. You will wear so many different hats at once that will drive you insane, I promise you, but don't loose hope and keep focused on your goal! 🏆
Technology has evolved so much lately that you can make games even as a solo developer, yes it's possible! Godot, Unreal, Unity, it doesn't matter the tools! 🔧 Grab a game engine, follow some tutorials, structure your ideas into a coherent project, make a prototype and polish it to your final game...
Godot 4.4 Dev4 Update on RTS Project & Game Re-Planning : Back to a Prototype
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/NanotechGamedev/ . You’ll also get 20% off an annual premium subscription.
As Godot 4.4 dev4 is released, it's time to talk about where the Rts series is going and what has happenned, been working full time so that is why the video uploads have been a little slow lately as well, but let's decide what will happen to the future videos on the Rts Series,
While other project videos may appear with different topics, it seems the Rts is still the most popular, as such we will continue working on it,
This video was sponsored by Brilliant.
As Godot 4.4 dev4 is released, it's time to talk about where the Rts series is going and what has happenned, been working full time so that is why the video uploads have been a little slow lately as well, but let's decide what will happen to the future videos on the Rts Series,
While other project videos may appear with different topics, it seems the Rts is still the most popular, as such we will continue working on it,
This video was sponsored by Brilliant.
Просмотров: 1 873
Видео
Godot Easy Inputs W/ Code Only - Godot 4 Tutorial on Actions and Input Management
Просмотров 38621 день назад
Usually we manage inputs through the input map in the project settings, however on this tutorial I am going to show you how to manage and build the inputs of your game through code only in Gdscript, taking advantage of the input integers defined in the global scope for the input devices, The main advantage is a simple script that could be copied into any project that will work out of the box, a...
How I made a Third Person Camera on Godot 4 (Part 2) : Coding From Scratch - Third Person Series
Просмотров 223Месяц назад
Let's finish the camera system for our Third Person Prototype with the camera code itself, we need to take care of rotations of the camera, zoom and tilt effect, while we don't use the springArm3D yet, it will proove useful for collisions which we will handle soon, we are also going to use for the zoom effect. ▶ Check it out in Itchio for the project files without code for a quick start: nanote...
How I made a Third Person Camera on Godot 4 (Part 1) : Coding From Scratch - Third Person Series
Просмотров 414Месяц назад
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/NanotechGamedev/ . You’ll also get 20% off an annual premium subscription. Let's make a Third Person Camera system in Godot! New series for a new project type, which I am will be posting tutorials as I work along a project, also to be posting more about it, planning on bringing as the RTS series, lot's of cont...
One Set of Tricks & Secrets - Godot 4 Clean Coding & Templates Tips : Godot Scripting Tutorial
Просмотров 8782 месяца назад
If you want to yet improve your coding in Godot, here is a set of tricks and secrets to do it, I will be showing you how to use and build script templates, why are they useful, how you can organize your code with some structure ideas, how to achieve clean coding with naming convetions for variables, objects and filepaths, how to use regions on your code and fold specific parts, how to highlight...
Project Structure & Architecture - Code Folders with OOP approach : Godot Tutorial
Просмотров 2,9 тыс.2 месяца назад
Hey I am back with a new video, will be posting again regularly with new stuff, this time it`s about project folders, yes they are that important, After a while looking at older projects and a video presentation by Martin C : ruclips.net/video/Nsjsiz2A9mg/видео.html I realized how my projects were displaying and prioritizing the wrong type of information on it's highest level, this was second n...
What is the fastest way to get distance between two objects? Godot 4 Tutorial - GDScript Perfomance
Просмотров 2,4 тыс.5 месяцев назад
NOTE: Although this video shows you how to benchmark your functions, the fastest way to optimize your code can be caching information outside of the looping methods, and depeding on the amount of operations executing inside the same looping function the math can drastically improve the perfomance. On this project if I stored the global position outside of the looping function and execute the ma...
Advance your Code in Godot : Apply 3 Principles for any Project - Gdscript Tutorial
Просмотров 3,5 тыс.6 месяцев назад
Through the development of my RTS project I have come around some structural issues that were quite hard to figure out as I couldn't brainstorm solutions working with Godot, So on this video I am going to share how I applied 3 important principles that allowed my project to be built as I wanted. This is some groundwork to implement the AI in my project as I want AI behaviors to be controlled th...
3D Particle Optmization Tips - Godot GPU Particles Tutorial : Blend_add & Draw Passes
Просмотров 1,3 тыс.7 месяцев назад
On this brief video I am going to share some tips on how to optmize the particles we have created previously, it all revolve around changing the blend_mode and how to edit the shader to still have the same visual appearance, specially regarding alpha difference, we are also taking a look at using alpha_scissor_threshold parameter to improve the perfomance, and lastly talking about importing a c...
Gunfire Effect From Scratch - Godot GPU Particles Tutorial : Muzzlefire FX and Smoke - Full Tutorial
Просмотров 2,5 тыс.7 месяцев назад
Let's make a gunfire particle effect in Godot using free assets from scratch, if you got curious how I made the mech fire effect from the previous devlogs, here we are going to achieve the same effect from scratch, if you are interested in learning a little more about create particle effects in Godot, this video will come in handy. Links for the resources and project files from this tutorial ar...
Godot RTS Devlog : 003 - Project changes & Mech Asset Devlog & Faction System & AI Plans
Просмотров 1,3 тыс.7 месяцев назад
This is a Devlog about the RTS Project I am making in Godot where I am going to talking about what I have been working on a given time basis, if you are making games this type of content provides a useful information basis to your own projects, as you how some developers are making their own games and finding solutions to their own problems. On this one I report some of the steps in developing ...
Godot Looking at Tutorial with bones : How to bones pose in Godot - Rotation towards AI target : RTS
Просмотров 3,1 тыс.7 месяцев назад
Working on AI for my Rts project I found quite difficult to make bones rotates towards a given target, after some experimentation and research the solution was fairly easy once I understood the issue, here on this brief video I show you how to make a bone look towards a given global position using transforms and looking_at(), I decided to post this video because a lot of people give up on findi...
Godot Gamedata Tip : Processing after import - Building Gamedata Structures Tutorial
Просмотров 8107 месяцев назад
On this short video we are going to present the idea of processing your csv data after it has being imported in Godot to a autoload, the idea with this is to smartly grow the complexity of your data after it has being built, because our gamedata is a dictionary storing static information for everything we need in our game, knowing how to edit and process it, surely will benefit your project. On...
Making in Godot 3D Unit Hp Bars with Shaders for an Rts Game: Making an RTS in Godot
Просмотров 8678 месяцев назад
Now that we have a HP bar shader for our RTS units, let's hook them with Gdscript to follow the attribute stats we want from our Godot project. In this tutorial I am going to show you how you can convert, the shader instance float range to the unit hp range so the bar displays it accurately, this will allow you to update the bar automatically with gamedata stats like HP max. The Shader: godotsh...
From scratch make a 3D hp bar shader in Godot: Making an RTS in Godot - Shader Tutorial
Просмотров 8108 месяцев назад
Now it's time we work on building a 3D HP shader for our units! We don't want to mix 2D objects with 3D, so in this case it's better to make the hp bar part of the unit object as a separate mesh, in this video tutorial we are going to code the entire shader from scratch. The Shader: godotshaders.com/shader/3d-hp-bar-of-2-blended-colors/ Itch.io Profile Page: nanotech-gamedev.itch.io/
Godot RTS Devlog : 002 - Small Weekly Update : Prefabs, Gamedata, GLTF & Materials Loading
Просмотров 7028 месяцев назад
Godot RTS Devlog : 002 - Small Weekly Update : Prefabs, Gamedata, GLTF & Materials Loading
How can a gamedev target hardware for a project? This is how my crappy PC makes games in Godot 4
Просмотров 9578 месяцев назад
How can a gamedev target hardware for a project? This is how my crappy PC makes games in Godot 4
Godot RTS Devlog : 001 - Small Weekly Update : Faction System Barebones, Gamedata, Asset Workflow.
Просмотров 1,3 тыс.8 месяцев назад
Godot RTS Devlog : 001 - Small Weekly Update : Faction System Barebones, Gamedata, Asset Workflow.
Godot Object Classification for Structures in a RTS project : Better logic and faster coding
Просмотров 1,1 тыс.9 месяцев назад
Godot Object Classification for Structures in a RTS project : Better logic and faster coding
How to update lots of units AI in Godot efficiently : AI Queuing as an RTS Processing Method
Просмотров 1,5 тыс.9 месяцев назад
How to update lots of units AI in Godot efficiently : AI Queuing as an RTS Processing Method
How I did fog of war without Physics in Godot - (Concept & Code) : FOW Update Video for RTS Project
Просмотров 3,2 тыс.9 месяцев назад
How I did fog of war without Physics in Godot - (Concept & Code) : FOW Update Video for RTS Project
New Cool Features to Keep an Eye out for Godot 4.x Releases - Godot Engine News
Просмотров 4,7 тыс.10 месяцев назад
New Cool Features to Keep an Eye out for Godot 4.x Releases - Godot Engine News
Region Grid System for an RTS : Godot RTS Region Processing Part 3 - Structure & Simple Tracking
Просмотров 1,1 тыс.10 месяцев назад
Region Grid System for an RTS : Godot RTS Region Processing Part 3 - Structure & Simple Tracking
Navigation Grid System for an RTS Game : Godot RTS Region Processing Part 2 - Coding and Concepts
Просмотров 1,1 тыс.10 месяцев назад
Navigation Grid System for an RTS Game : Godot RTS Region Processing Part 2 - Coding and Concepts
How I made a Terrain for an RTS Game : Godot RTS Region Processing Part 1 - Generating Grid System
Просмотров 3 тыс.10 месяцев назад
How I made a Terrain for an RTS Game : Godot RTS Region Processing Part 1 - Generating Grid System
Godot RTS Formation Part 2 : Preview & Realtime Setup - Formation Module in Godot 4
Просмотров 1,4 тыс.11 месяцев назад
Godot RTS Formation Part 2 : Preview & Realtime Setup - Formation Module in Godot 4
Godot RTS Formation Part 1 : Basic System - Formation Module in Godot 4
Просмотров 3,8 тыс.11 месяцев назад
Godot RTS Formation Part 1 : Basic System - Formation Module in Godot 4
New & Faster RTS Navigation System for Godot : Using The Navigation Server - Tutorial
Просмотров 5 тыс.11 месяцев назад
New & Faster RTS Navigation System for Godot : Using The Navigation Server - Tutorial
RTS Without Physics Collisions or Navigation Agents - How to do it in Godot 4 : Stop using them!
Просмотров 20 тыс.Год назад
RTS Without Physics Collisions or Navigation Agents - How to do it in Godot 4 : Stop using them!
How to improve Godot Physics Perfomance? Here's an optmization trick - Making an RTS in Godot
Просмотров 2,1 тыс.Год назад
How to improve Godot Physics Perfomance? Here's an optmization trick - Making an RTS in Godot
So i managed to get it working (the problem i think, was that i forgot to mask Area3D to the unit layer, being 4), but now the problem is that my selection is inverted, so when i select on the left side of my screen, the corresponding units on the right side of my screen will be selected instead of on the left, which is very annoying lol. I also encountered an issue with my units facing backwards while moving. I don't know why this happened since i rotated my units to 180, to face the -Z face, which i understand is forward in Godot a few videos back. It was working fine until recently, i haven't updated the engine or anything. Right now i'm compensating for this weird bug by just rotating it back to 0. edit: i tried to increase the area3D to test and now when i select a small part of the screen almost all of them get selected, it feels really random edit 2: i changed nothing and the sprite moving backwards fixed itself... edit 3: ok, so i fixed the weird selection thing, and it was definitely my fault lol, i grouped the units (32) into a 3d node and then duplicated them for more units, so it didn't give me more units but instead just duplicated versions of them, so when i select 16 of the first 32, every 3d node groups had the same action taken lol, it mirrored the same command to all of them. Now my problem is 3d cursor not aligning with the unit destination when issuing a move command edit 4: i fixed that issue by just centering the 3d animated cursor sprite to the center of the map, which should've been obvious but since i saw Nano just moving it wherever i thought it was fine, it's fixed now so all's good and everything seems to be working.
I am happy that you had such weird problems and could fix them, this is how you get out of tutorial hell and start doing things by yourself, well done, those seemed like complicated issues you fixed, about the position of the 3D animated cursor, you can set the global position and not the local one, that should allow you to move them at will and still position at the right place, I may have centered it on the world origin in the scene and saved it, so I could moved it later in the world. Sorry I could have reached you sooner to help, been working during the graveyard shift so my sleeping schedule is all messed up, but I am really happy you could figure it out! If you face any more obstacles post your comments and I will see if I can help,
@@nanotechgamedev Sure thing, i'll definitely have more questions in the future haha! Don't worry about late replies, it's reassuring that you're still replying to help in the first place, and thanks for the tutorials, i legit would not have made it this far without them.
@@nanotechgamedev So i'm trying to add a lock camera to selected unit/target function using ChatGPT but it's not working how i wanted it to, because the camera base doesn't move with the follow if that makes sense, so even though the camera does follow the unit if lets say the unit moves further or closer to camera it becomes weird, and also zoom is kinda broken when locked. So if you wouldn't mind i'd like some advice from you about how you'd go about making a camera lock to selected unit. I inserted the changes in the player interface script, because i figured it needs the selection functions in the player interface to work (i only vaguely understand how units gets added to the selections so far), which i think is on the right track (i might be completely wrong lol) edit: i also just realize while the cam follows the unit, after i stop it, the camera doesnt reset to original position so it also offsets weirdly with the visibleunits_area3d, so yea my fault for using chatgpt when idk what im doing lol.
damn, this sucks i was following just fine until the selection functions, it's my fault for tackling this when i'm a complete beginner but the constant cuts around that point made it so hard to follow, now everything's kinda broken i think. i'll try rewatching the video and see if i can fix what's wrong here.
Sorry about that, I was still learning how to make tutorials, I will probabilly re-do the series with a more clear linear experience like a course approach, here on yt or on udemy if requested enough, a lot of experimentation happenned and the videos continuity suffered as a result,
The code: var new_zoom:float = camera.position.z + cam_zoom_speed * cam_zoom_direction * delta still doesn't work do you have a fix for it?
That line of code does nothing by itself so what doesn't work? It only stores the new zoom value to be used as the camera position Z later, you will need to assign it, the cam_zoom_speed is a float variable that controls the speed of the zoom, the cam_zoom_direction is a simple integer that can go between 1.0 to -1.0 to invert the zoom depending on the input of the player and we multiply by delta to account for frame gaps and differences, you could also try to increase the zoom speed to see if it works.
dude thx for vidéo !
The main thing is that you don’t burn out, continue to love what you do and be healthy.
Glad you are back on RTS! Can’t wait for more.
please don't go with a hero rts
Hero in game mechanics not visual style, having units that can be stronger than regular units and have special abilities and progressive updates based on it's survival time like XP or unit kills, or by acquiring other currency, not hero in the sense of sword and shield with a cartoon style like you see in almost all mobile games,
Refactoring sucks but the benefit of being a solo indie dev is you reap can some pretty massive benefits with low risk unless it's your only means of income.
so far my biggest take-away was how to do the FOW feature! big help on difficult feature, thanks!!!!!!!!!!!!!!!
Well it good to self improve and rework build. As long it not hurt your time and health. Good work on design it.
I an trying to implement enemy navigation in 3D space without using navmesh for a first person game. I would appreciate if you could make a tutorial on that.
You could try with raycasting or shapecasting against collisions objects, or through a combination of object distances and AABB calculations, it is possible, but you would need your own navigation algorithm or use AStar, I don't know if it is worth it to discard the navmensh altogether, for a first person game it is useful for the enemies and units to navigate around, did you had limitations with navmesh?
Sounds great, I really love the direction you are going to take with this. I too find myself always focusing on the game art when I really would love to spend more time actually working on all the rest of solo game dev stuff. Take care and stay safe.
Nice to see you still keep working :) Often times taking a step back, helps to gather momentum.
I downloaded Godot 4 days ago and i don't know a lick of coding lol, but your videos have been helping me understanding what's happening bit by bit as i follow along. I've watched like a couple tutorials so far and yours is by far the most detailed in terms of explanation that i've seen, very helpful.
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/NanotechGamedev/ . You’ll also get 20% off an annual premium subscription.
Very good tutorial ❤
So something popped up as I was working with this, for you to assign inputs with modifiers like Ctrl, Shift or Alt, you can set this for key or mouse events, because InputEventKey inherits InputEventsWithModifiers class, allowing you to set bools such as Ctrl, Alt or Shift on the instances of the InputEventKey. To do so simply access your input event and set these modifiers if you want to use them to trigger a action: var MyInputEvent:InputEventKey = InputEventKey.new() MyInputEvent.set_keycode(KEY_W) # Pressing W is going to trigger this input event; MyInputEvent.set_alt_pressed(true) # Now for this input event to trigger a action will also require the alt to be pressed; InputMap.action_add_event(&"MyActionName",MyInputEvent) # Now this event is stored inside a action, and will call it when pressed W + Alt;
Is this a Godot 4.4+ vid? I've copied this exact script letter by letter and the print statement still says: >> move_forwards [] :(
Version is 4.4 Dev4, It should work up to 4.4+ if no bigger changes are merged, make sure you watch the video as I had a bug with the matching state to input_int and it was supposed to be event_mode, but I corrected it in 24:40. If you are still getting no input_events registered, try to debug step by step your code, you will eventually find where the error is.
I've run into 2 issues: First if you don't use the beginning of the file as a check then all the dictionaries will populate from the last sheet you use. Second, the data is not reading when I try to export the project, it just says could not open directory at res://Data/ Will update if I find a solution to the second issue: SOLUTION: make the autoload for converting the csv files only run in editor using @tool and a check for in editor: if Engine.is_editor_hint(): MODULE_DATA_COMPILER.compile_csvdata_files()
The second issue of the data not being read after export is because the data files aren't being exported at all, I have had this issue before, depeding on the extension of your data file you have to include it in the export, Godot only export some extensions like .res, .tscn, you can add more file extensions in the resources section of export project settings, also be mindful of having a .gdignore file in a folder which will make Godot ignore that folder, which is useful to have project-side files only.
@@nanotechgamedev so the solution was to make it so that the csv section of the autoload only runs in the editor using @tool and a editor check: if Engine.is_editor_hint(): MODULE_DATA_COMPILER.compile_csvdata_files()
oh is the rts series over?
Not at all, I am just working sometimes on parallel projects, I am porting my RTS project to the newest Godot version, will be showing the results with an update video soon,
thank you very very much you just made my day
it's also cool that "Variant" is possible with static typing!
This.
الله يعطيك العافية حبيبي
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/NanotechGamedev/ . You’ll also get 20% off an annual premium subscription. Brilliant is a amazing online learning plataform to boost your learning process by making it easy and enjoyable, allowing you to test concepts in real time with a cool UI and a planned learning program that will reward you for completing questions and solving issues, boosting your learning process while doing it, learn new concepts and improve your skills to become a better developer. Thanks for Brilliant for sponsoring this video!
This tutorial is amazing!! Thank you
This is a great tut! I just don't get why the "zooming" inputs are kept in an "unhandled input" function, instead of treating them the same as with the movement inputs (just add a "if Input.is_action_pressed("camera_zoom_in")" etc)
Sure I will elaborate on that, thinking about a RTS, some inputs we want to be contextualized to not execute unwanted actions, and most inputs are the same, mouse controls, at that time I thought about using unhandled inputs to safeguard inputs not being used by units or the player in other context, as moving the camera or zooming is not that important, if you have clicked on a building or unit to plan a attack or building queue, I would want to prioritize those inputs, capturing them and consuming so they would not propagate to zooming the camera, so the camera zoom would not be executed, because the inputs would be handled by other nodes, So there are many ways to do this, filtering inputs to do only what you want precisely, today I would probabilly build a custom object with a finite state machine like a input master node that would exist during the gameplay, when the player would enter building mode mouse inputs and other things would be contextualized to only the building mode, that sort of thing, that makes more sense when you consider the entire game and all it's inputs and modes the player can enter, the inputs being the same however.
So far your tutorials have been immensely helpful for learning. I just want to get exposed with how to use godot and these are super helpful. I am also aiming to make a rts and these videos have been wonderful. I know how to program but godot and its nodes and how they connect to objects in the gui are kind of confusing to me. Following along has been great so far. Thank you so much for making these.
how can i see fps like you do here?
On the viewport of Godot, click on the three dots on the top left corner of the screen ": Perspective" and scroll down to where it says "View Information" and "View Frame Time", there is also a bunch of cool stuff in there. For a custom FPS counter you have to get the ticks per second from the engine with Engine.get_frames_per_second() and update a label text node.
11:29 Edge split for separate faces. 13:39 Motivations for regions.
6:00 Performance and implementation remarks.
Good job, thanks)
Dude thank you so much this video is so underrated!! I literally wanted to do the same thing but didnt know about dynamic topology and couldnt figure out why sculpting on top of the plane didnt work so I ended up subdividing and it became super messy like you said! So glad I found this video
1 year later traits are still not here :(
Yea, guess other things were prioritized in Gdscript, such as typed dictionaries,
por que usar o building_node.transform.origin ao inves do building_node.position? qual a diferenca?
Eu tinha respondido e o yt bugou, ai vai de novo, não tem nenhuma diferença, apenas que usar transform.origin é o que o .position faz, é um atalho para ficar mais facil, lembrando que tem tambem global_transform.origin e .global_position se você precisar de posições globais, e funcionam do mesmo jeito.
0:28 Code organization 6:16 Static typing 9:15 Single-line code blocks (btw this goes against the recommended Godot readability guidelines) and expression splitting 12:08 Code regions 14:17 Naming conventions 18:36 Private vs public members 23:24 Doc comments, comments inside functions, and keywords for highlighting comments 26:26 Variable scope 28:48 Static variables and functions Just a note: The ## comments are documentation comments and are used for auto-generating pages for your custom classes in Godot's documentation. You can press F1 and search for your custom class_name and it will bring up a page that follows the same format as built-in Godot docs. For example: class_name Foo extends Node ## This is a Foo! ## This does a thing func do_thing() -> void: pass This will create a Foo entry in the documentation pages, and it will have a summary "This is a Foo!", Methods section containing do_thing(), Method Descriptions containing void do_thing() and a line under it saying "This does a thing". Check out the "GDScript documentation comments" page on the docs.godotengine site, there is a lot more you can do with these.
Tu é BR né
Opa, sotaque entregou eu né. Hope you can still enjoy the content,
@@nanotechgamedev sempre entrega a gente kkkkk tu mora nos EUA? Eu moro aqui no Canadá
Moro no Brasil mesmo, que legal que você mora aí, tá vivendo melhor que muita gente kkkk
@@nanotechgamedev manda o repositorio pra copiar o codigo po
Thanks, gonna check out that template structure for my projects!
Hi, i got pretty excited about the quality of this video and decided to share it on the Godot subreddit in the resource section. The thing is, I didn't think to check with you first, which probably wasn't the best move. If you're cool with the video being there, awesome! If not, I can remove it. Either way, thanks for making such great content!
If you are sharing a link to this original video, by all means you are more than welcome to do it, thank you for being awesome!
@nanotechgamedev, nice. the post has 1.5K total views and 6 total shares. i don't think it will gain much more traction now. the upvotes are at 0 and i got downvoted by someone who just looked at the title in the first minute. unfortunately, it didn't stay visible for very long. i'm disappointed that the share didn't have more engagement, as your video is truly valuable for everyone. even after 2 years of playing with gdscript, i still learned some useful things that i had overlooked before.
Well, people are smart and they know how to find what they need, I wouldn't worry that much about it, 1.5K views for this short time is a really nice share, so good job with your post, I usually don't put too much emphasis on the views quantity, if they don't stick around or don't interact. It also isn't worth doing content for views only or worse clickbait content, we also never know what type of content can grow unexpectedly, such is the case with my first video on the RTS series,
Even when we know exactly what we're searching for, it's getting harder to find good content with all the clickbait videos out there. Experienced developers who make quality content are not interested in self-promotion or might be too busy. That makes it even tougher to find their content. Yeah, this is your RTS camera video that led me to your channel. I wasn't even looking for RTS genre, I was looking to do a debug camera with some panning on the window edges xD. But, I missed a bunch of your videos since then. That make me think that i didn't touch a RTS since (2003), the ones i liked the most was: Dark Reign 2, Battle Realms, American Conquest, Warcraft III.
What font are you using in your editor? =)
It is very pleasing to the eye isn't? The main editor interface font is a ttf font called Jura-Bold, for the code in the script editor it is otf font called Spleen 2.1.0, using the spleen-16x32 version, the main font is size 20 and the code font size 22, default ui display scale of 1,
noice
what changes were made to the input function? it isnt shown in the video Edit: it seems the scripts are too long to put into one comment so ill only add the bits that I think i needed to change for it to work as replies to this comment
func unit_entered(unit:CharacterBody3D) -> void: var unit_id:int = unit.get_instance_id() if selectable_units.keys().has(unit_id): return selectable_units[unit_id] = unit selection_update_units_selectable() print("entered") func unit_exited(unit:CharacterBody3D) -> void: var unit_id:int = unit.get_instance_id() if !selectable_units.keys().has(unit_id): return selectable_units.erase(unit_id) selection_update_units_selectable() print("exited") func selection_update_units_selectable() -> void: selectable_units_array.clear() for unit in selectable_units.values(): selectable_units_array.append(unit) credit to MrReirgen from another comment
Additonally you need to remove BoxselectionUnits_visible and add selecable_units and selectable_units_array instead, the rest of the code for them is shown in the video
cast selection needs to be deleted and replaced with selection_drag_box_cast()
also note that some of the input code is only shown when adding the animation to the unit move order sprite
may you ebashit in russian yazyc? )
nahuya
@@Papajoofable ok. ofc. pizdato anyway ) thank you. Ay dzhust podyebate )
Excellent tutorial, thank you!
Top down best tutorial about RTS I've ever come about
hello You have a video showing the basic Building system?
THANK YOU SM
If nothing happens when you use a circle on the map texture, or instead of darkness there is only a shadow, then I recommend downloading GIMP, creating a circle there and saving it. For some strange reason, different programs save PNG files differently. So the circle in Clip Studio did not give any shadow at all, the same circle modified in FastStone Image Viewer gave only a shadow, in GIMP the alpha channel of the circle gave full blackness.