- 45
- 947 487
Shaped by Rain Studios
United States
Приєднався 2 сер 2020
Hey there, my name's Trever.
A great idea starts as a drop of inspiration, but just as the rain shapes the earth, it’s the consistent nurturing, effort, and perseverance that shapes that idea into something extraordinary.
Shaped by Rain Studios is my solo venture that exists to help driven, creative people build projects they’re passionate about through practical education, tools, and thought-provoking content.
I hope the things that I create will help you in your own creative endeavors!
A great idea starts as a drop of inspiration, but just as the rain shapes the earth, it’s the consistent nurturing, effort, and perseverance that shapes that idea into something extraordinary.
Shaped by Rain Studios is my solo venture that exists to help driven, creative people build projects they’re passionate about through practical education, tools, and thought-provoking content.
I hope the things that I create will help you in your own creative endeavors!
The Path of Ren | Official Release Announcement Trailer
► WISHLIST ON STEAM (free demo available!)
store.steampowered.com/app/1619920/The_Path_of_Ren
► DESCRIPTION
A challenging precision platformer with tight controls. Master orb abilities to conquer 300+ challenges, collect thought-provoking journal entries, and race the clock in timed trials. Dash, crystalize, ghostify, warp, and slow time as you help a boy recall a wish he was granted by a white fox.
► KEY FEATURES
- Precision platformer with tight, expressive controls.
- Mostly linear progression with side challenges and secret areas.
- 300+ unique platforming challenges.
- 50 thought-provoking page journal entries to collect.
- Timed Trials, where you can replay previous sections with time and point targets.
- Unlock outfits and customize the player to your own style.
- RPG elements & story (skippable if desired).
- Assist mode to lower difficulty through customizable options.
- Extremely challenging, but equally rewarding.
► FOLLOW THE GAMES DEVELOPMENT
🐦 Twitter/X ➔ x.com/ShapedByRain
📷 Instagram ➔ ShapedByRainStudios
🕑 TikTok ➔ tiktok.com/@ShapedByRainStudios
🦋 Bluesky ➔ bsky.app/profile/shapedbyrain.bsky.social
Thank you for watching!
store.steampowered.com/app/1619920/The_Path_of_Ren
► DESCRIPTION
A challenging precision platformer with tight controls. Master orb abilities to conquer 300+ challenges, collect thought-provoking journal entries, and race the clock in timed trials. Dash, crystalize, ghostify, warp, and slow time as you help a boy recall a wish he was granted by a white fox.
► KEY FEATURES
- Precision platformer with tight, expressive controls.
- Mostly linear progression with side challenges and secret areas.
- 300+ unique platforming challenges.
- 50 thought-provoking page journal entries to collect.
- Timed Trials, where you can replay previous sections with time and point targets.
- Unlock outfits and customize the player to your own style.
- RPG elements & story (skippable if desired).
- Assist mode to lower difficulty through customizable options.
- Extremely challenging, but equally rewarding.
► FOLLOW THE GAMES DEVELOPMENT
🐦 Twitter/X ➔ x.com/ShapedByRain
📷 Instagram ➔ ShapedByRainStudios
🕑 TikTok ➔ tiktok.com/@ShapedByRainStudios
🦋 Bluesky ➔ bsky.app/profile/shapedbyrain.bsky.social
Thank you for watching!
Переглядів: 0
Відео
The Path of Ren | Official Early Gameplay Trailer
Переглядів 2 тис.10 місяців тому
► WISHLIST ON STEAM store.steampowered.com/app/1619920/The_Path_of_Ren ► DESCRIPTION A challenging precision platformer with tight controls. Master orb abilities to conquer 300 challenges, collect thought-provoking journal entries, and race the clock in timed trials. Dash, crystalize, ghostify, warp, and slow time as you help a boy recall a wish he was granted by a white fox. ► KEY FEATURES - P...
How to Create a Quest Log in Unity
Переглядів 3,4 тис.10 місяців тому
This video covers one of the many ways to go about creating a Quest Log in Unity. The Quest Log will have a scrolling list of quests. When one of those quests is selected, details are displayed which include the quests name, the quests status, requirements to start the quest, and rewards for finishing the quest. We'll also do some fancier things like coloring the Quest buttons depending on thei...
How create a Quest System in Unity | RPG Style | Including Data Persistence
Переглядів 39 тис.Рік тому
How create a Quest System in Unity | RPG Style | Including Data Persistence
How to call C# code from an Ink Dialogue File in Unity | Ink External Functions
Переглядів 9 тис.Рік тому
How to call C# code from an Ink Dialogue File in Unity | Ink External Functions
How to make an Audio System in Unity | Unity + FMOD Tutorial
Переглядів 62 тис.2 роки тому
How to make an Audio System in Unity | Unity FMOD Tutorial
FMOD Studio Tutorial | How to Create Adaptive Audio for Video Games
Переглядів 66 тис.2 роки тому
FMOD Studio Tutorial | How to Create Adaptive Audio for Video Games
How to Create Dialogue Audio like in Celeste and Animal Crossing using Unity
Переглядів 29 тис.2 роки тому
How to Create Dialogue Audio like in Celeste and Animal Crossing using Unity
Save & Load System in Unity - Bug Fixes, Scriptable Objects, Deleting Data, Backup Files, and More
Переглядів 25 тис.2 роки тому
Save & Load System in Unity - Bug Fixes, Scriptable Objects, Deleting Data, Backup Files, and More
How to Implement Save Slots to Manage Multiple Saved Games in Unity | Tutorial
Переглядів 35 тис.2 роки тому
How to Implement Save Slots to Manage Multiple Saved Games in Unity | Tutorial
How to make a Save & Load System work across Multiple Scenes in Unity | Tutorial
Переглядів 47 тис.2 роки тому
How to make a Save & Load System work across Multiple Scenes in Unity | Tutorial
How to make a Save & Load System in Unity
Переглядів 209 тис.2 роки тому
How to make a Save & Load System in Unity
How to create a Replay System like in Super Meat Boy using Unity
Переглядів 11 тис.2 роки тому
How to create a Replay System like in Super Meat Boy using Unity
Unity + Ink Dialogue System - Save/Load, Polish, and Bug Fixes
Переглядів 16 тис.3 роки тому
Unity Ink Dialogue System - Save/Load, Polish, and Bug Fixes
How to persist variables across multiple Ink stories (Variable Observer) | Unity + Ink tutorial
Переглядів 19 тис.3 роки тому
How to persist variables across multiple Ink stories (Variable Observer) | Unity Ink tutorial
Unity typing text effect for dialogue | Unity tutorial
Переглядів 25 тис.3 роки тому
Unity typing text effect for dialogue | Unity tutorial
Unity2D Dialogue System - Names, Portraits, and Layouts using Ink Tags | Unity + Ink tutorial
Переглядів 36 тис.3 роки тому
Unity2D Dialogue System - Names, Portraits, and Layouts using Ink Tags | Unity Ink tutorial
How to make a Dialogue System with Choices in Unity2D | Unity + Ink tutorial
Переглядів 154 тис.3 роки тому
How to make a Dialogue System with Choices in Unity2D | Unity Ink tutorial
Learn Ink (video game dialogue language) in 15 minutes | Ink tutorial
Переглядів 68 тис.3 роки тому
Learn Ink (video game dialogue language) in 15 minutes | Ink tutorial
How to create a Gradient Sky Background for a 2D game in Unity (Shader Graph)
Переглядів 17 тис.3 роки тому
How to create a Gradient Sky Background for a 2D game in Unity (Shader Graph)
How to Recreate Madeline's Hair Movement from Celeste using Unity
Переглядів 17 тис.3 роки тому
How to Recreate Madeline's Hair Movement from Celeste using Unity
Bro could remade Undertale from 0 🙏
I already got confusão at 1:10, feeling dumb haha
I have no Game Events Manager, what should i do
THANK YOU FOR THIS AMAZING TUTORIAL
Absolutely brilliant. Thanks for an easy to understand video.
Unity programmers are illiterate. You don't pass GameData by ref because it is a class. What you actually passed in was a reference to the class, which is a reference to the instance.
can you for once start at the beginning?
github, I demand code to be uploaded on github, NOW (this is a joke you do what you want)
I tried following your tutorial and now keep getting the error Missing the class attribute ‘ExtensionOfNativeClass' from my audio manager
Thank you for actually making a tutorial on a properly structured system. I've been looking far and wide for something like this.
So I have many scenes in my games like level 1, 2,3 etc. how do load each scene from the main menu load game or continue button?
the background in my game just stayed neon pink even after trying multiple times what do i do
quick question - does this work with multiple scenes? (so you save data from one scene and you load it in another scene and show the data in another scene)
Thanks dude
Thanks a ton! I modified this system a bit and it works perfectly! Great tutorial
spent two days trying to get my save/load game to work. Watched this video and had it working in less than an hour! Thank you!
you are my favorite person ever
The continue button works fine for me nut for some reason when I click new game only some of the data loads properly. I have a serializable dictionary with enemies defeated that works (when I defeat them and I click continue they will stay dead and if click New game they respawn like intended) but my int for player health and bool for acquiring an item don't reset when I click New Game but still work fine on continue meaning the saving and loading isn't the problem. if it helps the player health and item bool are stored in a game manager with a public static {get; private set;} which I think may be responisble for the issue. would anyone know any possible fix for this without just removing the static because it would conflict with other scripts or at least give a reason why it wont dosen't work it would be greatly apreciated.
Thank you so much, it was a really cool and easy journey :D
+1 👍 Thank you for this series! I just Wishlisted Path of Ren, I will buy it when you release as a way to pay it back. Godspeed my dude ~
Appreciate that a ton and really glad you found the series helpful! :)
+1 👍 Thank you for this series! I just Wishlisted Path of Ren, I will buy it when you release as a way to pay it back. Godspeed my dude ~
+1 👍 Thank you for this series! I just Wishlisted Path of Ren, I will buy it when you release as a way to pay it back. Godspeed my dude ~
+1 👍 Thank you for this series! I just Wishlisted Path of Ren, I will buy it when you release as a way to pay it back. Godspeed my dude ~
What stage do you skip to make the quest repeatable? Eg. Beat 10 soldiers, collect 50 coins. Once the 10 soldiers are defeated and the quest is turned in, you can select it again?
Hey im stuck on an issue at 36 mins where the QuestPoint Game object isnt displaying the text in the console showing th OnSubmit function. I have done a bunch of debugging and the collision is being detected as intended but nothing i do seems to be registering the Submit function being pressed. This is in my own custom project but up until now i havent encountered any other issues. I have remapped the input controls to match the ones in this project and have checked the script files in this project vs my own and they seem mostly correct. Any ideas where this issue lies or nay indication of what i can do to go about fixing this issue?
thank you thank you for this whole playlist blessings be upon ye
Would this system work across multiple scenes ?
Mate... if this is intermediate-level stuff, I don't want to know how's the advanced one haha! Jokes aside, you can tell this is somehow next-level content in comparison to the rest found on the web, so first of all great job and thanks for sharing your knowledge! It is taking me days to implement a similiar system in our game, since half of this stuff was new to me (event driven architecture, try-catch blocks, data serialization, and I'm looking forward to the Save-Load video next) so it's honestly quite challenging to follow, metabolize, and get familiar with all the concepts you've implemented... but definitely worth every second of watch! As the only Tech Artist of the team getting into the challenge of developing a serious videogame (yes, I took charge of all the tech pipeline including programming), this kind of tutorials are a GOLD MINE! Thanks again for the amazing video!
I'm really glad to hear the video has been helpful! Huge props to you for getting through and learning all of these concepts, as this is definitely a tough system to implement! Thank you for the kind words, and best of luck! :)
Hey I’m stuck here 16:01 because the file is not popping up. I don’t know if I did something wrong(I probably did) but I use the same windows. Any help would be much appreciated.
since this doesn't work with the old input system, i will give the code so it works as i fixed it: using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using Ink.Runtime; public class DialogueManager : MonoBehaviour { public buttonFunction buttonFunction; public bool isQuest; private bool canContinueToNextLine = false; public GameObject dialoguePanel; public TextMeshProUGUI dialogueText; public Story currentStory; public bool dialogueIsPlaying { get; private set; } //choices [SerializeField] private GameObject[] choices; private TextMeshProUGUI[] choicesText; private void Start() { dialogueIsPlaying = false; choicesText = new TextMeshProUGUI[choices.Length]; int index = 0; foreach (GameObject choice in choices) { choicesText[index] = choice.GetComponentInChildren<TextMeshProUGUI>(); index++; } } private void Update() { if (!dialogueIsPlaying) { return; } if (Input.GetMouseButtonDown(0) && dialoguePanel.activeInHierarchy && canContinueToNextLine) { ContinueStory(); } } public void EnterDialogueMode(TextAsset inkJSON) { currentStory = new Story(inkJSON.text); dialogueIsPlaying = true; ContinueStory(); } public void ExitDialogueMode() { dialogueIsPlaying = false; dialogueText.text = ""; buttonFunction.CloseDialogue(); } public void ContinueStory() { if (currentStory.canContinue) { dialogueText.text = currentStory.Continue(); DisplayChoices(); } else { ExitDialogueMode(); } } public void DisplayChoices() { List<Choice> currentChoices = currentStory.currentChoices; // defensive check to make sure our UI can support the number of choices coming in if (currentChoices.Count > choices.Length) { Debug.LogError("More choices were given than the UI can support. Number of choices given: " + currentChoices.Count); } int index = 0; // enable and initialize the choices up to the amount of choices for this line of dialogue foreach (Choice choice in currentChoices) { choices[index].gameObject.SetActive(true); choicesText[index].text = choice.text; index++; } if (index > 0) { canContinueToNextLine = false; } else { canContinueToNextLine = true; } // go through the remaining choices the UI supports and make sure they're hidden for (int i = index; i < choices.Length; i++) { choices[i].gameObject.SetActive(false); } } public void MakeChoice(int choiceIndex) { currentStory.ChooseChoiceIndex(choiceIndex); ContinueStory(); } } there were mistakes in here that he didnt address and the only way to fix them was going to github and looking at his edited scripts
So I'm following along pretty well but at 4:53 I'm stuck. I tried recreating that exact method but I'm getting a CS0200 error stating that SaveData is read only
Thank you for all these save tutorials!!!! I was able to implement (statistics) save/load system to my game, but I encountered a problem with saving a scene with multiple interactable objects locations. I have a 3d scene with movable objects, each ofc having position and rotation. And in the game the player will change scenes connected to that main scene and go back and forth between those, which all may include interactable movable objects. So do you have any advice how would i go with saving that data between all the scenes? I tried to save the main scene object positions(only position to start with) with the unique Id method with "pretty good" success(having problems with sceneLoad and sceneUnload when starting a new game). And i guess that if all the objects in every scene has a unique ID it could work? Also another "quick" question, I wanted so that in mainmenu when you press New Game you would just load the first scene and continue with that, and when you want to save you go to pause menu and click save game and select any free save slot and the game saves to that slot. But "for some obvious reasons(not knowin what to do)" I went with these videos approach and select the slot before the new game scene loads. I guess that would need some other separate saving method to keep track of what you have done and still save between scenes but ultimately save to file when you save through the menu... God damn this saving stuff is really not so simple :D But yeah, any advice what to study and/or to do next? I guess I just continue with the world building 'till i figure out what to do about that PS. These tutorials were anyways the best thing I found out
Hey, I'm getting an error within my Script for storing the Value that I have set the Interface onto, when it calls the LoadData or SaveData, it calls "Object reference not set to an instance of an object." I was wondering why this error would be occuring as Ive skimmed back through several times and I cannot find an error.
Nevermind I was missing one line of code, "this.gameData = new GameData();" within "public void NewGame()"
@@thecopymaker2664 Dude, thank you so much for not only sharing the EXACT same problem I ran into, but also HOW you solved it! You're my hero!
when I transfer from one scene to another scene my dialogue is not working it provides an error called gameobject has been destroyed, what should I do?
Don't know if you've fixed it but you want to add a DontDestroyOnLoad function in the awake method for your dialogue manager and other game objects e.g the Panel, so these objects can be passed from one scene to another
This is an incredible tutorial. Helped me immensly - thank you so much!
I love this tutorial. Have been using this system for my project for couple of months now. But i have this problem, what if i want to have more than one save file ? and if i do have it how do i select the one i want to load ? any ideas ? any suggestions ? pls help needed.
I'm really glad to hear you find the tutorial helpful! This one is the first in a series. I recommend following the next couple of videos, as in the third video, we support multiple save files with the system. I hope that helps, and best of luck! :) Playlist link for the entire series: ua-cam.com/play/PL3viUl9h9k7-tMGkSApPdu4hlUBagKial.html
@@ShapedByRainStudios thank you so much. Im very new to coding and game developing and the save system is probably the hardest thing i had to write. Kinda changed it to save and load as many prefabs as i want and it works fine. I would really like to learn more things from you, why did you stop making videos?
@ Appreciate the kind words and I’m really glad to hear! It’s definitely not an easy system to write. I’ve been heads down finishing up my own project most of this last year, but I plan to get back to creating videos sometime this next year after my current project is in a good spot to be released! :)
Is there a reason why, in the SaveData for the coin, you remove the coin if it exists in data.coinsCollected? Is there a reason why you don't just keep it and not add it?
Thank you for the great basic information! Helps a lot.
why m bank sound files is muted in the game ??
how i create banks with my order , everytime the build is random for example i want gun shoot event = 10 but all time 7 or 5
Very well put video, it was beyond helpful. Thank you! As a suggestion, I would recommend not to use the Resources folder for this and instead create the dictionary using addressables and the LoadAssetsAsync method. What are your thoughts on that?
Really glad to hear the video was helpful! :) Absolutely, I think that's an excellent suggestion! I overlooked some of the downfalls with using the Resources folder back when I made this tutorial. If I were to redo that part of the video now, I believe I would use addressables as well.
lovely tutorial. Would you be returning to posting videos?
Thank you for the kind words! Absolutely. Or at least, I have plans to get back into creating videos once I've finished up The Path of Ren. Hopefully early 2025.
I see, Hope that your game becomes a success.@@ShapedByRainStudios
First thank you for the tutorials .. they really are well put together and the fact you go back to correct the mistakes is even better.. I was wondering at 8:03 .. you implemented an OnApplicationQuit .. if I wanted to implement an on button click event to save how would you load that saved information? Trying to make a save load and I can’t get it thanks in advance!
Wishlisted for sure! Came here after your programming tutorials. Well done look forward to its release! Will buy for sure just based on your tutorials and the work you do in those!! Keep it up!
Thank you! I appreciate that a ton! :)
Not nearly enough subscribers. The amazing way the observer pattern was used with events not tying any script to another besides the game event manager which makes sense. BTW instead of your if event != null check leave it out and use: eventName?.Invoke(passed parameters in here) that statement is saying if anyone is subscribed to me invoke my event. Anyways Amazing job! I really liked the defensive programming tactics used and will use them a lot more going forward. Will really help with the bug fixing! I learned so much and was able to implement it with no issues. Watched it about 4 times all the way through so I could truly understand how classes were used and instantiated. Thanks for your time and effort! Look forward to more from you in the future!
Thank you so much for the kind words! That means a lot and I'm really glad to hear you found the video to be useful! :)
Thanks for the tutorial, but i have a problem with using playerprefs line that doesnt works with my player character slot , any idea how to make it works?