So you’re working on recreating the fiery pits of hell but you are not sure how to make the basic component of hell, lava. Not to worry! We have a tutorial on how to make your own lava in Unreal 4! Creating lava is a fairly easy and straightforward process. We can use this same process to create flowing rivers, waterfalls and more! Let’s get started.
Step 1: Create a new 3rd person project, make sure that use the starter content.
Step 2:Right click in the content browser (bottom of the screen). Click “material”, name it whatever you like. Once created, double-click on your newly made material and open it.
Step 3: Now you should be in the material editor. Right-click anywhere and type in “Texture Sample”, and then choose your lava texture. Alternatively, you can drag and drop the texture you want to use from the content browser.
Step 4: Click on the newly created texture sample and look to the left side of the screen. Under Material Expression Texture Base, there is an option to choose a texture, click on this and choose your lava texture. Alternatively the starter content we opted in for that the beginning has a lava texture named “T_Fire_Tiled_D”.
Step 5: Next, right-click anywhere in the material editor again, and type in “Panner” and add it to our material. Next to the word “Coordinate” on the panner, is a little hole with a white ring around it. Click on that hole, and then click on the “UVs” hole on the texture sample, this will connect them together.
Step 6:Add another node by right-clicking again, this time add “TextureCoordinate”. Connect this node, to the panner node, specifically the hole next to “Coordinate”.
Step 7:Drag and select all nodes at once, then hit CTRL + W on your keyboard. This will make a copy of these nodes.
Step 8:Click on the texture sample you just created, and change the texture to “Basalt_N” under its Material Expression Texture Base.
Step 9:Right click to the right of your textures and add an “Add” node. Connect the lava texture to the “B” of the add node, make sure you connect it from the bottom white whole on the texture. Then, do the same for the Basalt_NM” texture, except connect its red hole, to the “A” of the add node.
Step 10: Right click to the right of the add node, then search and create a “Multiply” node. Connect the Add node to the Multiply node. Next, connect the Lava texture to B on the multiply node. Connect the Multiply node to the “Emissive Color”, Connect the Basalt_N texture to Normal as well.
Step 11:Now we need to set the values of the panners we added earlier, this is going to make our lava move! Click on the first panner, and under “Material Expression Panner” on the left, change the speed of X to 0.01. Do the same thing, for the second panner.
Step 12:Now, right click to the left of the base of our material, and add two “constant” nodes. Connect one constant to Metallic, and the other to Roughness. Change the Material Expression Constant Value of the constant connected to the metallic to 0.3. Change the value for the second constant connected to the Roughness to 0.2.
Hit “Apply at the top of the material screen and save.
Step 13: Now, in the content browser window, add a floor static mesh to our scene. You can search for this in the content browser. Once that’s been added with can drag and drop our material from the content browser to the floor static mesh.
You should now see a square with lava flowing over it! Congrats! You’ve created lava. You can move this around and put it in pockets you’ve dug into your landscape in order to make it look more realistic. you could take this same material, copy it, and change the texture from lava to water to create flowing water. Change the Panner parameters to make it flow faster / slower. If you need help with this tutorial feel free to comment below!
We here at Game Borough are more than just a site for tutorials and the latest news in indie games. We actually develop our own games as well! Our first title release (currently in very early development) is Origin Story. Origin Story will be an MMO, but not your typical WoW clone.
Origin Story? Tell Us More!
To start, this game will be brutal. Have you played Dark Souls? That’s how hard we want enemy encounters to be. Why? Because we want our player base to hate us! Just kidding, it’s actually because we want there to be more sense of accomplishment within MMO’s.
Most MMO’s that are out on the market currently focus on one important concept, the level grind. Day in, day out, slaying of mobs in order to level up to max, so that you can get into the “end game” content. We want to do away with that, and create a world where adventuring out into the unknown, is just as important as honing your skills. We want to implement a different kind of leveling, one in which is not a grind and isn’t a prerequisite to end game content.
Another thing that a lot of MMO’s do is simple targeting. You can click on a mob, hit your frost bolt spell, and no matter what, the frost bolt will hit its target. THIS IS LAZY. We feel that if you are truly skilled, then you should have to aim that spell. This is where the skill cap is getting raised.
Most MMO’s are currently moving towards a structure where you grind out the same piece of gear, over and over, just to get better stats on it. This is also extremely lazy on the development end and makes owning a specific set of armor seem meaningless. I understand that creating hundreds, if not thousands of armors and weapons is tedious and takes a lot of resources, but it’s an integral part of developing a diverse world. For that, we want the armor you are wearing to mean something. Do you remember vanilla World of Warcraft? You’d waltz into Stormwind, or any other major city and see that one guy, who had all the Naxx (level 60 Naxx was VERY hard) gear and just be in awe of how awesome they were. Gear meant something, not just the stats, but in social status. We want that again.
How Did Development Start?
The game itself started in humble beginnings, much like we are now with Game Borough. Development started in the Construct 2 engine. It was HTML based so that we could release it through browser, allowing us to widen the demographic that would be able to play the game.
2D development is tedious, every animation has to be done frame by frame, pixel by pixel. I put together an entire zone that took about 10 minutes to run through and featured castle ruins, 2 towns, random spawning birds and bugs, a day/night system and more, all on the HTML platform. Things were looking great. We were very satisfied with how the game was turning out, but we started to hit a wall.
This wall was the limitations of the engine we were using. For starters, It was extremely difficult to set up server-side systems. Implementing “instances” for multiple people to play on at once was definitely doable, but hard to achieve correctly. Somehow, we were also running into a game speed issue. The code in the game was getting so complex that the game itself started running SUPER slow. This was due to the fact that “on every tick” the system had to account for the position of every 2D object. When you have 2k+ objects in one level, this starts to get increasingly difficult for the engine to keep up with. Sure, there are ways that you can low the memory usage by making it so that things only spawn when you are close to them, but that limits the multiplayer capability quite a bit.
Now don’t get me wrong, Construct is a great engine if you are looking to create 2D mobile games or simple HTML browser games. It’s very powerful for projects that are more simple in design. However, because of the wall we were hitting, we decided to drop 2D development, and move to 3D. That’s when we started working in the Unreal 4 Engine.
The Unreal 4 Engine
Now you may be asking yourself “but why? You were so far in the 2D development process, why give up on it now?”. To clarify, we only gave up on the 2D engine itself. The game, the items, and concepts behind it, are some of the easier parts to code in. We knew that if we were ever going to make the jump to a 3D platform, it should be now. You see, none of us have ever developed a game in 3D, or Unreal for that matter. So this is a big step. We chose the Unreal Engine because of its capability for a beginner learning the engine.
The first couple of weeks were tedious and downright frustrating. The difference between developing 2D and 3D are night and day different (obviously visually, but I mean in the process). Once I got through those first weeks, I got to a point where I was able to sculpt out an island in the middle of an ocean with crappy premade textures that came with the engine. The poly count was so high that it looked semi-realistic, but hey, I had an atmosphere, I had a basic concept of lighting, and I understood how to add foliage, trees, as well as other objects. This is when I made the leap to start pushing towards the development of what I envisioned Origin Story to be. I felt comfortable.
Even though I do not have the technical know how to really push as hard as I want on this game, I have one trick up my sleeve that will allow me to complete it. My overall will to learn and create. I’ve been learning and developing games since I was around 14 years old, and lack of knowledge or understanding is not something that will stop me.
I’m nearly 60 Hours into the 3D environment development and have so much more to go. But, progress is progress and I plan to share all of that with you guys as I go along. I’ve managed to develop a day/night cycle, and sculpt out an entire continent, most of which is textured.
After I complete the overall texturing of the continent, I am getting all of the water elements in place (lakes, waterfalls, rivers and more). After that, I will be moving on to grass, trees, bushes, buildings, fences, and whatever else you can find in Adagio (The name of the continent).
What’s in Store for the Future of Origin Story?
Moving forward these dev blogs probably won’t be this long or as thought out, but I still plan on writing one, once a week. This is both to inform you guys of where we are at with development, as well as keep me in check. If I have a goal to show you where I am at weekly, then I will be driven to deliver.
Here are some of the things we will be focusing on:
Unique Character Development – We are bringing a new concept to MMOs in the character development side that we really haven’t seen. We will dive more into it later, but Origin Story will not have your typical class creation system for your character (I.E. Choice between warrior, druid, mage, etc). On top of that, there will be 3 races to choose from, these are the 3 races that inhabit the continent of Adagio.
Unique Questing System – We feel that questing systems in modern day MMO’s hold your hands too much. Where is the sense of exploration? Where is the communication? We want people to really have a sense of their surroundings in order to complete tasks, no more watching the minimap to know where EXACTLY to go.
5-man Dungeons – At launch, we want 6-8 unique dungeons for your team to explore and conquer.
10-man Raids – We feel that 10 people is “the sweet spot” from our experiences raiding in the past, in several different games. Communication will be vital for your success in the raids we implement, there will be 2 to start.
World Bosses – We want world bosses to always be on the move. They will not be in one location and have a chance to spawn in any zone (excluding the starting zone). On top of that, you’ll need much more than a 10 man group to take them down. Because of this, you won’t need to be in a raid to benefit from killing the world bosses. Everyone will be able to participate, regardless.
Player Vs. Player – We will be launching with 3 unique battlegrounds for you to cue up and play against each other. You’ll be able to earn armor that is better for PvP than raiding (on the flip side, raid gear won’t be worthless in PvP but you’ll be much better off developing your PvP set. Raid gear will still be vital for progression in the PvE environments).
Plus much more to come!
It may seem like we are alienating our player base by making the game too difficult for all to play, but that’s not the case at all. It won’t be impossible, we just want real skill to come into play, and not just how much free time someone has.
One thing you’ll also never have to worry about: Pay to win. We promise this game will never be pay to win. Every time we come across a game that was clearly made for profit, we cringe and then die a little inside. We may end up putting up an item store for things that do not affect gameplay (mounts, pets etc) but never for armor, weapons or extra spells that make your character overpowered.
We want you all along for the ride. The ups, downs and everything in between. Because of this, we will be posting about Origin Story weekly, ever new implementation, where we are at, and what to expect from it. We don’t want to delve into the storyline too much or the class system, though you’ll get a sneak
We want you all along for the ride. The ups, downs and everything in between. Because of this, we will be posting about Origin Story weekly, every new implementation, where we are at, and what to expect from it. We don’t want to delve into the storyline too much or the class system, though you’ll get a sneak peek from time to time (gotta keep some things secret!).
If you took the time to read this, thank you. I hope you are looking forward to Origin Story as much as we are! More to come next week.