Adventure Maker: No Prior Game Development Knowledge Needed!

By Zac Jackson

I remember when I first started thinking about making games. I was overwhelmed. There were a plethora of game creators and engines out there, and most of them were too complex for me to understand at the time, and it almost pushed me away from game development entirely. The learning curve seemed too steep.

I very rarely see projects being developed that are targeted towards those who know little about making games or game development, so when I stumbled upon Dream Mix’s Adventure Maker, I was pleasantly surprised. You may remember Dream Mix, as we also wrote a review of another title they developed called Harrow.

 

 

One of my favorite games growing up was The Legend of Zelda: A Link to the Past on Super Nintendo, and after watching the trailer for the game creator, I quickly picked up on how easy it would be to make something like that, and it really made me wish that something like this was more available when I started (I think the closest thing to this at the time was RPG Maker 95, but even that was a little too much for me). What is Adventure Maker exactly? That’s explained in more detail below, I also interviewed the developers behind the creator as well.  

 

What is Adventure Maker?

Adventure Maker is an adventure game creator that allows you to make games with no prior knowledge of game development, it’s as easy as dragging and dropping assets into the game and making the game almost feels like playing a game too. It’s also very customizable, the creator gives you the ability to change out the music, sprites, and art, as well as the ability to use visual scripting for advanced functionality. You can build massive worlds, and share them with others so they can explore them, and download worlds that others have created.

 

 

The first official campaign being developed in Adventure Maker, dubbed Runiya is currently on build 0.62. Dream Mix also plans to release more official campaigns after the release of the creator for backers of their Patreon.

Interview: Dream Mix

GameBorough: What motivated you to start developing games?

Dream Mix: Making some good games that have interesting concepts.

GB: What are some of your favorite adventure titles? 

DM: Majora’s Mask, Shadow of the Colossus, and (does this really count?) Sonic Adventure. Also the Uncharted series. I’m playing The Forest right now.

GB: What was your inspiration for developing Adventure Maker?

DM: Nintendo wasn’t interested in making a Zelda Maker, so that’s how it started, and then I moved to original sprites upon their request to remove copyrighted content.

GB: What are your long-term goals with the creator?

DM: It’s more of a game than an engine, to be honest. I’m not that smart yet. It works out though because my thoughts are to create a simple experience to get people into making games, even if they have little prior interest.

GB: How does Adventure Maker Help others achieve their goals?

DM: Hopefully to give them a fun game and trick them into coding with visual.

GB: What are some of the more useful tools found in the engine?

DM: Definitely the visual coding, the trigger objects, and I’m not sure if this is a tool, but an easy way to change sprites and music, and have them save with each individual adventure.

GB: Are there other tools and functionality coming to Adventure Maker in the future?

DM: I feel like there’s too much to list here, depending on what you mean by tools. It’s all pretty simplified for the most part since it’s more of a game than an engine, but I suppose the cutscene tool would be the most interesting thing to come!

GB: How can those interested in exploring Adventure Maker get started?

DM: They can become a patron at www.patreon.com/dreammix. They will get monthly builds of the game at the $5 level, and constant unstable updates at the $10 level. Donating $5 once saves your name in an email list so you will get the game on its final release.

GB: Do you have any advice for people who want to start developing their own games?

DM: Oh hell yea. I’d say if you’re interested, but don’t understand the basics, it may help to try using my game to create a short game. It’s hard for some people to grasp the basics when a lot of tutorials online talk about stuff like you already know that. I’m one of those people that struggled with this. This game is for people like me that also feel have that struggle. It’s a fun way to learn that doesn’t come off as educational. That’s what I’m shooting for anyway! I hope it helps some that struggled like I did.

GB: What other projects is Dream Mix working on?

DM: I’m currently working on Lock In (a first person, PS1 styled, Silent Hill inspired horror game). I just finished a fun little arcade game called Rutabaga, which you can get for free. The first game I completed is Harrow, which you can also get for free. For quality purposes, I should say that Rutabaga was finished in a day, and Harrow in a month. I’ve got many ideas brewing actually. Adventure Maker: Runiya is my main project right now, though.

 

Dream Mix Links:

Instagram: @dreammixgames

How to fade Particles In and Out | Unreal 4 For Beginners

By Zac Jackson

You might have noticed that when creating a new particle emitter in Unreal 4, that it spawns the particles in an instant, and they also instantly disappear. Below, we will be going through the basics of adding a particle system to your level, and playing with its emitter settings to achieve a fading in/out effect.

Note: This tutorial assumes that you already have very basic knowledge of the Unreal 4 Engine.

How to Fade Particles In Using “Scale Color/Life”

You can do this with a “Color Over Life” Module or a “Scale Color/Life” Module within the particle system settings. When choosing which module to use, you need to ask yourself a couple questions. Do you want to redefine your color? Or do you already have a color set already and you just want to modify your existing color?

Since I have a particle color and material in mind already I will be using the “Scale Color/Life” Module. We will go into more detail about this later in this tutorial.

Step 1: Add a Particle System To Your Level

Let’s start off by adding a particle system to our world. To do this, right click in the content browser and choose “Particle System” from the menu.

Once you’ve created and named your particle system (for the sake of this tutorial, I called this one P_tutorial), double-click on it to open up the particle systems emitter settings.

 

 

By default there is already an emitter setup, so we are going to edit its settings and add our own modules instead of starting from scratch.

Step 2: Add a Particle Material

Next, we need to change the material on the particle. This is what gives the particle its look. Click on “Required” on the particle emitter, and on the bottom left-hand side of the window, you’ll see things we can change in the “Details” panel.

 

 

Use whatever particle material you’d like. For this tutorial, I’ll be using a material that makes my particle look like a flair.

 

Step 3: Add A Scale Color/Life Module To The Emitter

By default, there is already a “Color Over Life” Module on the emitter that fades my particles out, so I’m going to add a “Scale Color/Life” module to help fade it in. To do this, right-click on the grey area within the emitter panel, scroll down to “Color”, and then choose “Scale Color/Life”.

 

 

Note: If you’d like to see how the “Color Over Life” Module fades the particle out, click on the module and look at the bottom right “Details” panel and to see how this is achieved, it will be fairly similar to using a “Scale Color/ Life” Module.

Step 4: Editing The Distribution Float

In the “Details” panel, change the default Distribution from “Distribution Float Constant” to “Distribution Float Constant Curve”.

 

 

Next, under the “Alpha Scale Over Life > Constant Curve” section, Add two array elements by clicking on the + sign next to  “Points”. There will now be individual parameters that we can change for each point that helps us fade the particle in.

 

 

Now, there are two key properties we need to edit. The “In Val” and the “Out Val”. “In Val” is the point along the timeline, and “Out Val” is the value of the Alpha channel of the particle. At this point in the tutorial, your particle system should be invisible in the preview window because the “In Val” or timeline point of 0 is at an “Out Val” or alpha channel value of 0. An “Out val” value of 1 will make our particles visible again.

For point 0, keep both the “In Val” and “Out Val” at 0. For Point 1, change the “In Val” to 0.5” and the “Out Val” to 1.

 

 

In the preview window, you should be able to see your particle again and they should also be fading in fairly quickly, and fading out slowly. If you want your particles to fade in slower, change the “In Val” to a higher number like 1.

Your particles should now be fading in, and then fading out!

 

Fading Particles Out Using “Color Over Life”

I have included this part just to explain how the particles are already fading out by default. Click on the “Color Over Life” emitter, and look at the “Details” panel again.

 

 

Notice that the Distribution is also set to  “Distribution float Constant Curve”. With this, there are already 2 Points set up for the curve. Point 0’s “In Val” is set to 0, meaning that’s the start of the timeline, and the “Out Val” is set to 1, so that we can see particle immediately as it spawns. Point 1’s “In Val” is set to 1, so that the color changes over time, and the “Out Val” is set to 0, so that farther down the timeline, the particles alpha channel changes to 0 and fades out.

 

More Particle Tutorials for Unreal Engine

What other particle tutorials would you like to see next? Or do you have a more efficient way of fading particles in and out? Comment below and help us improve this tutorial!

What Are Cull Distance Volumes And How Do They Work? (Unreal 4)

By Zac Jackson

Do you have a level that has too many objects in it, that seems to be loading or performing poorly? Cull distance volumes can help optimize your scene by not drawing objects (meshes) when they are small enough to be considered unimportant. Level Streaming will do close to the same thing, however, for the purpose of this tutorial, we will be sticking to cull distance volumes.

 

What is a Cull Distance Volume?

Cull Distance Volumes are optimization tools provided by the Unreal Engine that allow for meshes to be culled (not drawn to the screen) based on that meshes distance from the camera and its size. The mesh size is calculated using the longest dimension of the bounding box, and the cull distance chosen is the one closest to that size.

 

How to Use Cull Distance Volumes

Step 1:

Start a blank project or open up a blank level in your current project.

 

Step 2:

Add 3 cubes to your level: one big, one medium, and one small. This is to show you how the different properties in a cull distance volume work. You can find the cubes in the “Modes” section, under the “Basic” tab.

 

 

Scale them so that all 3 cubes are different sizes, ranging from small to large. Arrange them to be a little apart from each other.

 

 

Step 3:

Under the “Volumes” section under the “Modes” menu, select a Cull Distance volume and drag it into your level. Next, scale it so that the 3 cubes and the level are inside the volume.

NOTE: You can have more than one cull distance volume in a level depending on the size of the level, and the overall feel you are going for. This also is helpful with performance in towns for example. Adding a cull distance volume to the interior of a house so that when the player camera is outside of it, the meshes within it are not drawn is a good use of this.  

 

 

 

Step 4:

Click on your cull distance volume and navigate to the “Details” panel. This is typically found in the bottom right corner. Once there scroll down to the “cull distance volume” tab.

 

 

NOTE: The culling distance volume details allow you to change the shape of the volume itself, along with many other items of customization including size. Experiment with these, to get the most use out of a cull distance volume for your level.

 

Step 5:

Under the “cull distance volume” tab, you can see that we can add “elements”. These elements give you the option of size and cull distance. The size option is the “bounding box” size of the object (in this case, our 3 boxes), and the “cull distance” is the distance at which that size of object should cull (not be drawn). Make sure there are 3 elements set up under this tab. Each element should represent the size of a box.

I’ve set my size and culling distance elements to the following sizes, as they are the approximate sizes of the small, medium, and large boxes.

 

 

From the above image, element 1 tells the engine to cull anything below 200 in size ( remember, this is bounding box size) from a distance of 800 units, element 2 tells the engine to cull anything that’s 300 or less in size from a distance of 1600 units, and the final element tells the engine to cull anything 450 or less in size from a distance of 2600 units.

 

Step 6:

Hit play and test out your cull distance volume. If you start from far away, you’ll notice that the large box draws first, followed by the medium box, and then the small box.

 

 

Culling Foliage

If you have a bunch of foliage instances in a bigger level and would like the same desired effect as a cull distance volume, you can modify some of the settings for each foliage type that you have in your scene.

 

Step 1:

Navigate to the Foliage editor.

 

 

Step 2:

Click on the foliage mesh that you would like to cull.

 

 

Step 3:

Under the “Instance settings” for the foliage there is a “Cull distance” option. This option allows the foliage to cull in between a minimum cull distance and a maximum. This makes it so that each instance of foliage your scene tries to load slightly more random (within the minimum /maximum distance that you set) so that all foliage instances do not load all at once (if you want this effect, make the minimum and maximum values the same).

 

 

FINAL NOTE: Cull distance volumes do not work with movable objects. To see if an object has been set as movable, navigate to the “Details” panel look for the “Mobility” option. Meshes can be set to either be static or movable here.

Do you have any level optimization techniques that you’d like to share? Let us know in the comments!

Origin Story Dev Blog 005: Getting back to Development

Aannnndddd I’m back. Did you miss me? I know its been a couple months since I’ve written an update, but to be dead honest with you its because I’ve been slacking. I have not been working on Origin Story lately. Instead I’ve been playing World of Warcraft and worrying about my day job stuff.

Last night I came to the conclusion that I need to get back focused on development now. This game will never be developed if I’m slacking. So I cancelled my WoW account, and started scheduling hours in my Google Calendar. I’m also having a hard time keeping up with my laundry due to my laziness so I added that to my calendar too.

My life is scheduled all day Mon-Friday, it would make sense to schedule time for Game Development and stick to it. I Scheduled for every Monday, Wednesday and Friday. I’ll most likely do some development on the weekends too, but I’ll play that by ear.

ANYWAY

So the only “real” new updates to the game is that I’ve been working with a few others to hash out some of the “spells” that our classes will use. I’ve also got my brother helping model things now. I’m still not “finished” with the natural environment. I’m adding tiny details to the game here and there to really refine the feel that I’m going for, but I should be able to get through that fairly quickly and get to the humanoid type stuff soon.

I’m working on an “evil” type material called Doku for now that is engulfing everything in its path.

Its a small part of the story line so I can’t give too much information away about it. Once I get systems in I’ll put out a trailer or something on the story line. That may be months from now though.

I’ve been having my doubts about making this a massive multiplayer. Its definitely doable. I have a good grasp on what this project entails, however is it doable in a reasonable amount of time? I have a small handful of people who do help me a little here and there (and I am very grateful for them), but is it going to be enough? How do you go about getting people involved in your project? I need to do some more research. In the next blog I hope to have some more significant updates as this one was pretty weak. I am going to do better. I will complete development of this game.

 

Harrow – an Indie Horror from Dream Mix

By Zac Jackson

 

Have you ever had a scary dream where you are super weak and unable to run away from the scary thing chasing you? Dream Mix recreated this feeling in game form with their title Harrow.

 

 

From what we know, Harrow is a culmination of several nightmares. All of these nightmares were in an old 1995-1998 horror video game setting, much like the Silent Hill series, which seems to be a huge influence for the developer of this game.

 

 

It wasn’t the creepy screenshots that influenced me to try out this game, or the SUPER CREEPY trailer, but this message by the developers in the description of this game:

By entering this game, you are entering the embodiment of the nightmares, and because of this, you should proceed with caution.

And so I did.

Loading the game up for the first time, I didn’t know what to expect. There is no typical “Start” screen. You start by carelessly walking off into the darkness, embracing your fate. The graphics style resembles early PS1 games, and the developers really did a great job recreating that art style, which plays into the creepy ambiance of the game.

The controls are simple, WASD to move, and the mouse controls the camera, as well as running and jumping. They don’t need to be complex because this game isn’t about crazy combat or dynamic systems. Instead, the game experience is built on fear of the unknown. There are “things that go bump in the night” in this game, and the eerie sounds that play throughout it make it feel like that are just beyond arms reach, waiting in the darkness to grab you. Because of this, there may have been screams coming from my office while myself and Game Borough’s Chief Editor Tim played through it…they definitely didn’t come from us though…I’m going to blame the boogie man.

 

 

If you are interested in learning more about this game or playing through it yourself, you can buy the game Dream Mix’s Itch.io page. We highly recommend this game if you are into the horror genre. And on that note, we will leave you with this tip from the developers.

Make sure you know the full threat that you could be putting yourself in when entering this nightmare. This is not a reference to the game, but to you.

What are some of your favorite scary indie games? We’d love to hear about them in the comments!

How to Implement Source Control In Unreal 4 with GitHub

By Zac Jackson

 

Working with a team to make your project come to life? Source control allows you to make an online version of your project so that if anything happens to the content on your PC, you can always get the most up-to-date files that work in only a few simple steps. This makes Source control useful for solo developers as well.

What is a Pull Request?

Before we get into the tutorial, let’s discuss Pull Requests. A Pull Request is when someone has a fork of your project (basically a copy of it on their account) and they would like to add some of their project to yours. This becomes incredibly useful for when you have multiple team members working on the game and adding things like textures or source code from different computers.

We are going to be using GitHub for these Pull Requests. Pull Requests need to be accepted by the project owner, so don’t worry about someone adding something that you didn’t want.

Requirements:

  • Unreal 4
  • Some knowledge of Unreal 4’s user interface
  • Git Installed (download link)
  • Little knowledge of GitHub (Basically what we covered above)

Tutorial:

Step 1: Navigate to GitHub’s Website and create an account. GitHub is free for public repositories, but only 7$ a month if you’d like to keep your project private (recommended). Skip this step if you already have an account set up.

 

Step 2: Once you’ve made an account, Download GitHubs desktop application and install it. Once installed, login to the app, you should see this window:

 

 

Step 3: Next we need to create a repository. Click “Create new repository” on the left. It will ask you to name it, as well as give it a description. I chose to create this repo for Origin Story, so I named it after that. GitHub will automatically want to create a folder named GitHub in the documents folder of your computer, for this example, I made a folder on my external drive.

Once you’ve chosen what you’d like to do, click “Create Repository”.

 

 

Step 4: You should now see the window below. Next click on “Open this repository in explorer”. Once there, drag and drop your project files into this folder.

NOTE: Make a copy of your game first if you can and drag and drop that. Always play it safe and back everything up, especially when moving files.

 

 

Once you’ve moved the files, they should start to populate in the GitHub app.

 

 

Step 5: Once the files have completed moving, we can commit. A commit is a way of saying why certain files were created or what you obtained in a commit. For example, “added houses” would tell us that in that commit, we added houses.

To do this, you can click “Commit to Master” at the bottom left of the window. Remember to name and leave a description for the commit first.

NOTE: We can also create a branch and commit changes to a branch instead of the master as well.

 

 

Step 6: Now what we’ve done basically is create a “local commit”. This means our changes only affect local files and does nothing to the online version. To update the online version as well, click on “Publish Repository” at the top right of the window.

 

 

NOTE: You can choose whether the repo is public or private if you have the upgraded github account. Remember, public means that anyone can access your code and private means that only people you add to the repo can access it. After that, you can click publish.

Now all of our files are safely backed up on the cloud.

Step 7: Next, we can connect the GitHub repository to Unreal 4. To do this, open your project in the Unreal 4 engine. Remember to open the project up from the Git folder you made for the repository. Once its open, click on the “Source Control” button at the top of the screen. It will drop down a menu, click on “Connect to Source Control”

 

 

Step 8: You should now see the Source Control Login window. Choose Git(beta) from the provider menu. If you have Git installed, it should automatically find the git path. Once this is done, click “Accept Settings”. Your project is officially connected to GitHub!

 

 

If you make any changes to your project, you can click on the “Source Control” button at the top of the Unreal 4 window and then select “Submit to Source Control“ from the drop-down menu. Go through the next window’s instructions, it basically just asks you to comment on the commit before sending it to GitHub. You should now see the commit populate in the GitHub App!

 

Additional Resources

Git and GitHub have an incredible amount of supporting information and tutorials for all of your needs for team collaboration.

Origin Story Dev Blog 004: Environment Upgrades and Utilizing Space!

Hey there! Zac here with another Origin Story development update! The last one was at the end of November so it’s been a little bit. I’ve been really busy with the holiday season, but that doesn’t mean I haven’t been working on the game.

First up, I’ve been really focused on utilizing what space I have to use on the continent of Adagio. There were many mountainous areas that I felt could be places where the player could quest or run around, so I went through and added more foliage, as well as painted some textures so that they matched the zones.

Kotra Canyon is one of the smallest zones in the game when looking at it from above, but its actually a fairly big zone when you dive into it, as most of it is underground. I modeled an absolutely massive cave system so that there would be more content, even tying it into other zones like Modrogul ( lava / volcanic zone), by having lava flows from above seep through the crust and pool inside the cave. I now need to focus a bit and get more of tiny details in like stalagmites, rocks, bats etc.

I’m not really going to show a screenshot of this either, but I also added around 20 more caves to the continent. By the time I’m done adding caves, there should be 50+, I just need to model a few more variations of the caves as I’ve made them modular for customization.

Enough with caves! I also went back through, updated the water in the game to match the environment (more cartoony / animation to it) and I also updated the waterfalls. The previous waterfalls didn’t have the level of detail I was looking for, so I found some that are beautiful from the unreal marketplace that worked perfectly.

Last but not least: I figured out level streaming. Yes, to most this is quite simple, but for an open world MMO, it can be tricky. There are certain aspects that you want the player to view 100% of the time, and then there are things that don’t need to be loaded to save memory. Finding that balance can be hard when the player has the ability to openly move through the world. It’s not 100% perfect in terms of loading things for the player to see, but at least it works 100% for now.

I would say that I’m about 2-3 months away from completing the “natural” environment. I cannot wait to be done because once the humanoid aspect (houses, fences, etc) is in place, the game will truly start coming together (this is next on my list). I’ve already hashed out a fast travel system, hang gliding system, fishing system, inventory system and more, but it will be months if not a full year before I start refining that part of the game. If you are a close friend of mine, you will get invites to help me Alpha test in the near future. It will be a closed alpha to start, but once I get some of the bigger kinks worked out, I will be opening it up to the public.

Things I will be working on next:

  • Tiny details in caves – plenty of caves, just need to put in the work to make each as unique as possible.
  • Fixing all foliage errors – I still have rocks, trees and grass patches that hover in the air, this is a matter of manually finding them all and moving them, easier said than done when you have 50,000+ on your continent.
  • Making the ocean seem infinite – I’m not exactly sure how to achieve this just yet, but I have a few good idea’s to do so. This will be very important as players will be able to reach fairly high elevations during their journeys and I need the player to really feel like that are stuck in the middle of an ocean on this continent.
  • Environment audio – This is going to be quite the task, but its also the reason I figured out level streaming first. I don’t want the game to try to load every single audio sample in the game at once, just one zone at a time. Ambient audio and natural environment audio will be in the game soon.
  • Player footprints in the dirt, sand, water etc – This one is tricky, but I have a good idea on how to tackle it. This will really tie the whole environment together, especially in the Tjaard Sand Dunes, because right now it feels like you are walking through snow, instead of a desert.

Anyway, that’s it for now! Do you have any questions about Origin Story? Or do you have any constructive criticism? Comment below!

Want to read more about Origin Story?

Preview of Origin Story’s Environment (Pre-Alpha)

We released this a month ago but decided that we should recategorize this into the videos section as well. We’ve been working diligently on the natural environment. You’ll find that we’ve added oceans, lakes rivers, caves, trees, grass, bushes, mushrooms, and more!

We’ve also listed the names of each zone that can be found on the continent of Adagio.

 

 

We plan on improving the lighting, adding environment audio, adding more animation to the water materials and cleaning up “floating” objects from the foliage editor. Sometimes stuff doesn’t full align when using the foliage tools and it leaves you with mystical trees that float in thin air…which is not the most desired effect. Are we the only ones that have this issue? What other environments would you like to see in Origin Story?

CastleBound: A Harvest Moon Meets Metroid 2D Platformer

By Zac Jackson

As a solo developer myself, I grew a soft spot in my heart for CastleBound the moment I laid eyes on it. Developed by Scott Reid, CastleBound is a 2D Action Platformer with some of the simulation aspects of everyday life (like Stardew Valley or Harvest Moon) and the action/platform adventure gameplay of Super Metroid.

You can head out into the world and engage in combat against monsters, discover treasure and explore dungeons. Alternatively, you could build yourself a house, raise some cattle, and farm up some veggies in your spare time, it’s up to you!

 

 

You start the game off as a young noble who has finally returned home have been sent away as a child. Your character quickly learns that his home is now overrun with the undead and other creatures, which an evil wizard is responsible for.

 

 

What I love about this game is that it takes the art style of early RPG’s, but also features modern twists on older systems. You are able to constantly discover new abilities that will help you uncover hidden areas (which means more treasure!), as well as use a bunch of different melee weapons like swords, axes, spears and more. You can also craft weapons, armor, and other things from the items you find while you are adventuring,

There is a multitude of levels ranging from forests and castles to haunted woods and deep mines filled with traps, hazardous weather, dungeon bosses, and more.

What if the dungeon crawl isn’t fully for you? You can romance one of many characters and eventually get married instead!

 

 

All in all this game has several features that I can’t wait to try, but before I can do that, it needs to get funded.

A featured Kickstarter project, Castlebound is at ~$1800 of its $5000 goal (36% funded). Not to worry though, as there are 6 days left to go on the campaign. For only $10 you can get a digital DRM-Free copy of CastleBound on release. If the game gets on Steam, you also get a key.

 

 

Scott is determined to make this game a success even if it doesn’t get a lot of funding, which is great to hear! What do you think of this game?

How To Make a Simple Crystal Material In Unreal 4

By Zac Jackson

 

While working on the materials for some of the crystal formations in Origin Story, I was having a difficult time narrowing down simple crystal material. I found plenty of complex and complicated material tutorials that would work great for crystals, but we wanted something more simplistic. So I figured, why not write a tutorial on it? This one will be quick and easy!

Requirements:

  • Unreal 4
  • Some knowledge of Unreal’s blueprint system

Tutorial:

Step 1: Open up your project and create a new material by right-clicking in the content browser and selecting “Material”. In the example below, I named it “M_crystal”. Double click on the material, this will open up the material blueprint window.

 

 

 

Step 2: Once we are in the material blueprint window, we will first need to choose the color of our crystal. To do this, we will need to make a constant. Right click anywhere on the blueprint and type “constant” without quotes, into the search field. After you’ve found it, click on Constant3Vector.

 

 

Step 3: Now that we have our Constant3Vector we need to assign the color of our crystal to it. In the details pane of the material, there is a section called the “Material Expression Constant 3Vector” If you click on the solid black line it will open up a color selection window. I chose a light blue for this tutorial, but really you can choose whatever you’d like.

 

 

Next, we need to connect the Constant3Vector to the base color. click and hold the small white dot in the top right of the Constant and drag it to the base color.

 

 

Step 4: Right-click anywhere on the blueprint and add another constant. This time though, we only need a single Constant and not a Constant3Vector. Connect the Constant to Metallic and also to Roughness.

 

 

Step 5: We need to add light refraction. To do this, create another Constant and connecting it to Refraction. Change the value of the Constant to 2.42 as that is the actual index of refraction for real crystals.

NOTE: Refraction won’t work unless you make your material translucent. I didn’t plan on making my material translucent, but if you want to achieve a slightly different effect, do so and read “Another Option: Make it Translucent” below.

 

 

Step 6: Hit the “Apply” button in the top left of the screen and then close the M_Crystal material blueprint window.

Step 7: Time to test it out! Drag a cube on to the level from the Modes menu, under basic. Then drag your material from the content browser on top of the cube to apply it.

 

 

A cube doesn’t look much like a crystal, so I recommend using a model of one to really see what this material looks like.

 

 

There are some additional options here that we can do to our material if we’d like more variety.

Another Option: Make Glowing Crystals!

Say we want our crystals to be in a cave, and because of that, we want them to glow to add to the atmosphere of the game.

Step 1: Add another Constant3Vector to your material blueprint. Also, add a regular Constant and a “Multiply” node.

 

 

Step 2: Once you have them in, we need to connect the Constant3Vector to the “A” of the Multiply node. Then connect the Constant to the “B” of the Multiply node. After, connect the Multiply node to the “Emissive Color”.

 

 

Step 3: Now you can mess with the Constant3Vector to change the color of the glow, and the Regular constant is the intensity of the glow. So that we do not confuse this later, you can highlight the constant by clicking on it, and then clicking the “c” button on your keyboard to leave a comment. For this example, I’m going to set the glow to a deep purple, and the intensity to 10.

 

 

As you can see in the preview window, my material now how a purple glow it to it.

Step 4: Hit the apply window and you are done!

 

 

This is how mine turned out. I had to cover the opening up on the template level to block out the sun and set the intensity of the light source to be much lower to really get the full effect of a cave here, but that’s because of the way I was rendering the lighting. I would recommend rendering the lighting after you’ve done this to see the full effect. You can also add a light object to the crystal to really make it glow!

 

Another Option: Make it Translucent!

You can achieve a different look by changing the material to be translucent and adding a little bit of opacity.

NOTE: You can either leave the emissive glow that we previously made or disconnect it for a completely different look. For the sake of this tutorial, I removed it from my material.

Step 1: Add another constant to your material, and set the Material expressions constant in the details window to 0.7. After that, connect it to the “Opacity” node.

 

crystal tut 2

 

Step 2: Deselect the Constant, and go to the Details tab of the material. Under Material, Change the blend mode to Translucent.

 

crystal tut 3

 

You’ll notice now that The Refraction node now lights up, as well as the Opacity node. Your Material should now look something like this when applied to a mesh:

 

crystal tut 1

Additional Resources For Making Crystal Material

If you are looking for a more complex material I recommend this crystal material tutorial from Blueprint Games.

Don’t have a crystal to test your new material on and want to make your own? You can use Blender and follow this simple crystal modelling tutorial from Michael Novelo.