Clouds of Rain is the first indie game from Graphic Line Games. We're a small swiss indipendent team of 3 people.
In Clouds of Rain - The storm is rising - you will play with many characters, each one with its own story. You will explore various regions, prepare yourself to fight different enemies and navigate through the skies.
The story: In the skies of a forgotten world, a decadent civilization will consume every resource, including the Leviathans, huge creatures that fly over the skies since the first dawn of the sun. They were once considered Gods but now they’re hunted for their spinal fluid. Only the Sky Watchers fight for their salvation, but the number of Hunters is increasing day by day. Time is running out: the storm is rising.
Your bushes look great, a lot of bluprint work goes into them. Do you have to manually scale and rotate each one when you put them in your world so they dont look all the same after a while?
yes, clearly rotation and scales are important for good composition quality, as well having multiple different meshes, for example even the cuts in the mesh seen at the beginning of the video help to make everything more cohesive.
@@graphiclinegames4843 thanks. the aesthetics looks 100percent awesome. random question from a beginner that has never actually used unreal engine before, those alpha maps at 14:25, if you were smart at this kind of stuff, could you use the same method on a character to make them look like they have fur that waves in the wind, the maps would be a curved triangles instead of leaf shape maybe with some strands? if probable would this be a cheap or very expensive way to create a furry character compared to other methods in your estimation? also i think it could be a sneaky way to not have to spend time applying detailed textures on the model and just have a couple of simple base colours and cover them up with the alpha maps, especially for maybe a cell shaded style game
Interesting question, technically I think it could work but I've never tried, consider that I'm also not very familiar with unreal, in fact I'm developing the character now and I'm having more than a few difficulties, so maybe I'm wrong, we should try :P
I just discovered you today and I think what you're doing is madness, the level of detail, the quality control, the complexity, and diversity... it is so dope. It's very inspiring going through your vlogs. I'm also a noob to Unreal and game dev. Would it be ok if I mailed you questions from time to time?
thanks for the message, right now I'm super busy between the game, the RU-vid channel, my work and family, but if I can find time I'll try to answer you :)
Oh yes! but not if you study the level design inch by inch, study the graphic style by doing endless tests, and many other beautiful things, what fun is there in doing it in an hour? :D
@@RM-ep2dc unreal kinda does that automatically with world partition. What I mean is how are they handling lods. Are they all low or is it a nanite landscape with auto lods, is the water just a plane or are we using the experimental water plugin or are there some assets that may work better together rather than clashing? I can see that the grass and rocks are custom and at least the grass looks to be foliage painted on, but does this apply to is other pieces. Like the trees are they foliage instances or static mesh based also the rocks are those places meshes, or taking advantage of some form of procedural to save time? Is there any kind of world partition, level streaming involved or just one big map, and how exactly large is the map after all of the meshes or instances are placed? How long does it take to get from point a to point b before and after objects are placed? It's been one year. But did we do this part time or full time and are we using any ue5 specific features? Those kinds of questions.
1. Hierarchical Level of Detail (HLOD) HLOD: Combine multiple objects into a single proxy mesh at a distance to reduce draw calls and improve performance. 2. Virtual Texturing Virtual Texturing: Use virtual texturing to manage large textures efficiently, reducing memory usage and improving streaming performance. 3. Nanite Virtualized Geometry (Unreal Engine 5) Nanite: Utilize Nanite for handling highly detailed geometry efficiently, allowing for massive amounts of detail without a significant performance hit. 4. Ray Tracing and Lumen (Unreal Engine 5) Ray Tracing: Implement hardware-accelerated ray tracing for realistic lighting, reflections, and shadows. Lumen: Use Lumen for dynamic global illumination and reflections, which can provide high-quality lighting without precomputed lightmaps. 5. Async Loading and Streaming Async Loading: Implement asynchronous asset loading to prevent hitches and ensure smooth gameplay. Streaming Levels: Use streaming levels to load and unload parts of the world dynamically based on player location and actions. 6. Shader Optimization Shader Complexity: Optimize shaders to reduce complexity and improve rendering performance. Material Functions: Use material functions to create reusable and efficient shader code. 7. Multi-threading and Task Graph System Multi-threading: Utilize multi-threading to offload heavy computations to separate threads. Task Graph System: Use Unreal Engine's task graph system to manage and schedule tasks efficiently. 8. Data-Oriented Design ECS (Entity Component System): Implement data-oriented design principles, such as ECS, to improve performance by optimizing data access patterns. 9. Network Optimization Replication Optimization: Optimize network replication to reduce bandwidth usage and improve multiplayer performance. Prediction and Interpolation: Use client-side prediction and interpolation to provide smooth gameplay in networked environments. 10. Profiling and Analysis Tools PIX (Performance Investigator for Xbox): Use PIX for in-depth performance analysis on Xbox platforms. RenderDoc: Utilize RenderDoc for frame capture and analysis to debug rendering issues. Intel VTune: Use Intel VTune for CPU performance profiling and optimization. 11. Level Streaming World Composition: Use World Composition to manage and stream large worlds. Sub-levels: Break your world into smaller sub-levels and stream them in and out based on the player's location. 12. LOD (Level of Detail) Meshes: Use LODs for static meshes to reduce the polygon count at a distance. Foliage: Apply LODs to foliage to reduce complexity when viewed from afar. Textures: Use mipmaps for textures to reduce texture resolution at a distance. 13. Occlusion Culling Precomputed Visibility: Use precomputed visibility volumes to cull objects that are not visible to the camera. Distance Culling: Set up distance culling to remove objects that are too far away to be seen. 14. Efficient Use of Materials Material Instances: Use material instances instead of unique materials to reduce draw calls. Texture Atlases: Combine multiple textures into a single texture atlas to reduce texture fetches. 15. Lighting Optimization Static Lighting: Use static lighting where possible to reduce the cost of dynamic lighting. Lightmap Resolution: Optimize lightmap resolution to balance quality and performance. Distance Field Shadows: Use distance field shadows for large-scale shadowing. 16. Foliage and Grass Optimization Foliage Tool: Use the foliage tool to efficiently manage large amounts of foliage. Cull Distance: Set appropriate cull distances for different types of foliage. Clustered Rendering: Use clustered rendering for grass and small foliage to reduce draw calls. 17. Physics Optimization Collision Complexity: Simplify collision meshes for complex objects. Physics LOD: Use physics LODs to reduce the complexity of physics calculations at a distance. 18. Profiling and Debugging Unreal Insights: Use Unreal Insights to profile and analyze performance. Stat Commands: Use stat commands (e.g., stat fps, stat unit, stat scenerendering) to monitor performance metrics. GPU Profiler: Use the GPU profiler to identify and optimize GPU bottlenecks. 19. Asset Management Asset Size: Keep asset sizes reasonable to avoid memory bloat. Streaming Textures: Use texture streaming to manage texture memory efficiently. 20. Code and Blueprint Optimization Blueprint Nativization: Convert performance-critical Blueprints to C++. Event-Driven: Use event-driven programming to avoid unnecessary ticking.
@@ThePrimordialArts ty! I do know what they are though. I just want to know particularly what the OP is doing step by step. I know how to do it myself. But everyone has a different process in how they approach level design in unreal. And I'm always interested in other's pipelines as what they feel comfortable or just wanting to tackle first depending on project
Thanks for the comment, so: I'm right now editing a devlog video where I explain the creation of the map in detail. the landscape is not nanite for now, I will try to convert it in the future for better performance. I haven't used World Partiton yet, do you recommend it? I can't find a tutorial that suits me, especially for verticality, but I haven't looked much about it. water is an asset taken from the marketplace ;) it is a spline for the river and a plane for the lake (or sea) effects, waves, etc. are managed by shaders. maybe in the future I will do a tutorial on how I managed to implement it in my project. for the grass I used RVT, where each blade of grass takes the color of a texture that I painted on the landscape, I made a video about it, you can find it in the channel ;) the bushes and trees are not positioned with the folage tool but by hand, mesh by mesh. nothing is procedural ;) for now it is a single map of about 1km square, with verticality, mountains and deep canyons (explorable) I've actually been working on it for more than a year, because on a conceptual level I started arlier with various drawings, I have a full-time job and a one-year-old daughter, so I try to work when I can.
great stuff! i think this tutorial could be even better if you explained your reasoning behind some shader operations, because otherwise its more like copy+paste instead of learning how to build billboard systems for your needs yourself. thanks anyway!
Thanks for the comment, as said in the video I don't know much about shaders, it's the result of various trials and errors taken from other tutorials. Here I explain my method where I found a solution that works for my needs. I will try to improve in this aspect, thanks for the advice.
thanks for the comment, as said in the video I'm not super skilled about shaders, it's the result of various trials and errors taken from other tutorials and tests i did. Here I explain my method where I found a solution that works for my needs. but I will try to improve in this aspect, thanks for the advice
Great Tutorial, let me also help you speed things up a bit You can press LMB + S = Create Parameter LMB + A = Create Add LMB + E = Create Power LMB + T = Create Texture Sample LMB + U = Create Texture Coordinate LMB + O = Create 1-x LMB + P = Create Panner LMB + D = Create Divide LMB + V = Create Vector 3 Param LMB + N = Create Normalize Those are some of the more frequently used shortcuts
thank you so much GLG but i got a small problem i love so much anime and i love realistic as well but in some way i'm not satisfied with all my stylized results, when i dont want to do a realistic project, and want it stylized, it all tend to look bad, trees, rocks, characters can't even be placed together in the same scene, since i'm a solo dev and i dont want to use external assets, how can my art style match the whole scene?
it's a problem that I sometimes have too, especially in rocks, you have to work a lot on the textures and the model, smoothing it sometimes makes everything more stylized, even a black outline could be interesting. I still have to experiment with this too ;)
I'm also starting stylized 3d arpg developing solo. I've listed all the tasks and actually there is nothing i could estimate as impossible! Yes, there will be limitations to sound design and animations as it requires larger team, but overall all the tools are presented in unreal. I really believe that statement "do only small games, never try making your dream game" is actually misleading. If you know what are you doing the success is inevitable. And it will not take 10 years if approached correctly. I will take a linear story approach in non-open world - i was really impressed by ffix storytelling with all of playstation 1 limits it telled beutiful story. Your videos inspiring and informative for me so like and sub)
Thank you so much for your time for this nice message. You're right, nowadays Unreal provides many tools that make development easier. and creating the game of your dreams has never been so within reach. But creating a game with a team or alone will always be a very difficult undertaking, I think it's very important to be aware of what you can do and the time you have available, because you always have to do x3 of the estimated time :D I say it from experience because it took us 5 years to make our first game. A """simple""" 2d RPG. and in my initial plans I had to develop it in much less time :P One piece of advice I can give is to try to create a community during development, because the most difficult thing in making a game is not creating it, but selling it, having a small fan base to start with I think is an excellent first step. FFIX is one of my favorite games, as well as my wife's favorite game. It's a big part of me and in fact was a huge inspiration for our first game, clouds of rain. store.steampowered.com/app/1383200/Clouds_of_Rain/ out of curiosity here is the link to our first project :) good luck with your project, I wish you the best!
Awesome tutorial! Would you mind making a tutorial about your waters and rivers? Not just the materials, but also how you create the meshes. Are you using the ue5 river plugin?
thanks! I am trying to create content that explains step by step how I implement the various graphic aspects, such as water, grass, interactions, trees,... and then perhaps in the future create entire scenes step by step. With a little patience everything will come, because I don't have much time available between a little girl who turned one yesterday, a full-time job and the development of my indie game project :D
Thank you so much, these comments are a huge inspiration. More tutorials will arrive slowly :P I think I have some very interesting content in the coming months.
In addition to proposing videos related to the development of my indie game project, I am trying to create content that explains step by step how I implement the various graphic aspects, such as water, grass, interactions, trees,... and then perhaps in the future create entire scenes step by step.
The fact that you have a full-time job and a family is crazyyy. I'm only in college and I worry about having no time to make a horse game on the side, but now you've truly inspired me to continue and stay motivated :)
Thank you so much, your words are truly beautiful. It's not always easy to find motivation but when you find something you really like doing everything becomes easier :)
I know you said you were using some form of nanite and lumen. How much of it is nanite. Is it just the meshes, or is the landscape a nanite landscape? Is some things populated using some form of procedural like pcg or is it all hand placed or painted meshes for grass and trees? Last question: how big is your landscape in unreal units? 2k, 4k, 8k and how do you keep it optimized?
sorry for the late reply ;) Nanite is used for everything that is rock and solid objects, such as wood for example. I didn't use nanites for the landscape, although perhaps it would be convenient for me to better optimize the map. nothing is procedurally generated, because I wanted the map to be 100% handmade, the grass is painted on the landscape based on certain textures. I honestly don't remember the resolution of the landscape. I should check, I'll let you know. To keep everything optimized I always try to keep the fps under control, especially after very heavy additions to the map, such as water or trees.
As i REMEMBER, YOU MAKE ALL THESE MODELS AND TEXTURES BY YOURSELF? How do you feel it ,all your project PERORMANCE WISE if I can ask? I assume it run smoothly, ofc depends whar PC specification you have also. Are these textures 1-2k?More? OFC good job ,happy to see your project is constantly growing
For now I'm using models by modifying them slightly, I'm trying to create custom textures to apply to the modified meshes. The resolution changes depending on the size of the rocks, the average is around 1k/2k, the performances are decent for now, the water is the thing that gives me the most problems in this regard.Thank you for your comment.
Its teally goid looking? How do you achieve such style, visual effect? It look kind of cartoonish-in a goog way. Do you use some postprocessing, shaders? Pcg, low poly assets? Really like the style you shown here
For the visual part of my project I was inspired by the studio ghibli style, where they manage to make the stylized style very "realistic" with a very high level of detail of each single component. To achieve this result it is mainly a work of color grading and texture. The Lights and polygonal models are quite realistic for now but maybe I will change them slightly in the future, to accentuate the stylized style. I was also thinking of adding some black outlines to the edges, butI have to evaluating the performance and style, in short, it's all very much a work in progress :)
Really love how your map looks! I'm the author of the hit-detection plugin called "Miss No Hit". If my plugin would be useful for you in any way, I would be happy to assist you!
I tried to take inspiration from Ghibli especially with regards to the color grading of the grass, environmental lighting, and the attention to detail for the various natural elements present in the scene. In the future I will try to improve the rendering of rocks and solid objects, to try to get closer to their style.
@@graphiclinegames4843It feels really noisy compared to what a Ghibli scene would be. Your eye isn't drawn to any one particular place because you don't really have contrast where it needs to be. Also I would say the scale of some of your items might contribute to that too.
I'll delve into tutorials on how I created grass, trees, bushes, light and would like to do a similar scene (similar to this video) step by step. In the channel I have already presented how I managed to recreate Ghibli style rocks, it takes me some time because I am developing the game and I have various videos in preparation. I think during the second part of the year I will start producing more video tutorials. stay tuned.
Good video, may i suggest adding a fade out and a outtro screen at the end? It basically ends too abruptly. Look at other channels for an example where they fade into the "watch next" sort of screen with cards for recommended, or playlist/similar videos. The fade out (sound and image) part and the extra seconds for it are done in editing and it's literally a drag and drop for most video editing apps, the other is from the video settings (cards) in YT studio/video manager tool. And about the AI voice... +1 to the other comments, doesn't really fit it. Good luck :)