Shadowdancer DevBlog Week 2 – Prototyping

Last week we made the concept document and defined the scope of our game, the Shadowdancer. This week task was to prototype the key elements quickly.

We made two non-digital and several digital prototypes this week. You might ask if this will be a video game, why are we doing any non-digital prototype?

The non-digital prototype is very cheap and fast to make and still can provide necessary information about the element we are testing. Most of the real-time games can be represented in a turn-based system.

In this article, I’ll show you the prototypes we made and the results and answers we got from them.

1st Prototype (non-digital)

In this version, we wanted to simulate the game in a non-digital way. We used our terrains and miniatures for Dungeon & Dragons Tabletop RPG, and a desktop lamp to create shadow areas. We measured the time in rounds.

Question 1: When to become invisible and for how long?

We tested several ideas in house, by playing with this setup.  We used two different types of enemy: a seeker and a sniper. The result of this test was:

  • When the player instantly become invisible when he steps into the shadows, wasn’t much fun.
  • We need to add some constricts of how and when to become invisible.
  • The game strongly depends on the level design.

2nd Prototype (art)

With these concept drawings, we wanted to explore the core visual features of the main character and the enemies. We started with the main character.

What are the core visual features of the main character?

We had two keywords: female and sneaky.

After this prototype, we ended up with a female character who resembles a halfling: small as a human child, but with a grown-up woman look. She won’t need any weapons since the game doesn’t involve any fighting feature, but she will need pockets and pouches to store the valuables she collects.

She should be joyful and cute and moderately sexy to represent the halfling-ish style. We need to show the player her connection to the shadows, this will be done through her color changing tattoos.

What are the core visual features for the enemy characters?

We had a starting point after we created the player character concept: we want our enemies to be big and dangerous looking, but not too horrible.

Seeker type enemy (melee): similar to a death knight or armored Nazgul, with a large 4-bladed two-handed mace and distinctive helmet.

Sniper type enemy (ranged): a wraith-like spirit with spiked shoulder guards, burning eyes, and a ghostly bottom part.

3rd Bunch of small Prototypes (digital)

Now it was the time to start testing our ideas in the 3D space. I made several small prototypes to learn about the requirements and solutions. At this point, I worked quick and dirty.

  • Shadow Detection: This is the most essential feature of the game, so I started with this. Fortunately, I found an asset in the Asset Store very quickly.
  • 3D Game Kit setup: We decided to use the 3D Game Kit asset for giving a frame of this project. We used it in the past, and it was surprisingly quick to work with. Setting up the game kit contained to make the enemy and the player retargetable to make it easier for us to swap out the characters.

4th Prototype (Playable Prototype)

We use basic shapes, mostly cubes for the environment. For the characters, we downloaded the Xbot and Ybot from Mixamo. Animations are from the 3D Game Kit and from Mixamo. We added background music and sound effects (enemy quotes) too.

We really don’t want to spend a lot of time on this part. The goal was to make something that resembles the game that we have in our minds. Later this will help us to keep on the same page.

We also wanted to answer several questions with this prototype.

  • Is the gameplay fun?
  • How difficult is the test level?
  • How do the invisibility mechanics feel?
  • How does the size difference feel between the main character and the enemies?

We gave this version to some of our friends and got a bunch of useful feedback.

  • The gameplay is fun, the goals are easy to understand, and the controls are OK.
  • The enemies are threatening because the protagonist can’t defend herself.
  • Jump is too powerful, we need to refactor this action.
  • The player can run off the enemies. This was intended, but we need more dangerous sniper enemies from which the player can’t run away.
  • The level should be more tunnel-like, to match our scope. The test level was sandbox-ish, it gave the player too many options.
  • The character models and enemy sounds made the players think this will be a sci-fi game. That is wrong, we have to get rid of this problem before the next playtest.
  • Improvement on AI. We need three states of alertness: no alert, alert and high alert. After spotting the player, they stay alert and search for a while.

The playtest also led to some extra questions:

  • How much control should the player have on the character movement modes? Run-walk toggling and invisible should be automatic, or controlled by the player?
  • How could the player use his creativity to reduce the time to wait for enemies to go away? For example, throwing stones to distract enemies.

That’s it for this week, hope you enjoyed this article. Next week we will focus on these feedbacks and questions. 

We’ll see you all next week!

5 genres and features you should avoid in your first game

As a first game, choose an idea that you can finish in a short time, within two months. During the development, you will learn a lot. If you want to learn the full process, you have to go through every aspect of the creation. In other words: you have to finish your game.

You might have big dreams, and you want to make the next big title. That’s totally ok. However, if you are serious about this dream, you give yourself time and opportunity to learn. Starting with a goal you actually can reach right now!

There are some genres and features you should avoid if you want to learn and improve, and ultimately finish your game. Some of these have technical difficulties, others are heavy in art resources. Let’s see which are these difficult genres and features.

Blender

5. 3D models that you make yourself

If you want to make and finish your first game within a few months, you really don’t have time to make all of your 3D models by yourself. This is absolutely true in case of realistic models. Even low-poly models can take half an hour or more to create. That’s a lot of time for this timescale.

Instead, you can browse through the Asset Store (or other sources) and find the model pack that you like. If you are making a stylized game, for example, take a look at our POLYEnvironment packages, it’s affordable and contains enough prefab to make a few levels with them.

Divinity Original Sin 2

4. Role-playing games

This game requires several skills to make. Each of them requires a massive amount of time. Because of this, it’s hard to finish within a few months.

First, you need a rule system that contains the rules for any or all of the followings: races, classes, stats, leveling progresses, monsters, abilities…etc. You have to plan it carefully.

Second, you will develop a story and dialogues. Ideally, you give multiple choices to the player. You might already see the complexity of this part, you need a strong storytelling skill and lots of time.

Third, you will actually develop the game, and if it’s your first game, you should focus on this part, but without the other two, you can’t make an RPG game.

Startcraft 2

3. Strategy Games (except tower defense)

Like in case of role-playing games strategy games are complex projects too. The design phase of this genre is quite time-consuming.  Even if you already have a good idea on paper, it might won’t work as a game, and you have to tweak a lot during the development to keep the balance and the fun.

2. Advanced AI

You can have AI in your games, but it should be dumb. Anything besides AI patrolling and using the navmesh would be overkill for your first game. Good AI takes weeks to make, and that’s a lot of time compared to the total 2 months timescale.

1. Network Multiplayer

The big scope buster. Today’s everyone wants to make a multiplayer game. Playing with friends together is very rewarding, and implementing features that allow your players to connect with each other doesn’t really seems to be a big deal. Well, it is.

As a freelancer, I worked on several networking projects. I also started an MMORPG server for fun (I didn’t finish it, and I’ll never do for sure). As a software engineer, I really like to think about the different features of multiplayer games. However, I know from my experiences how much effort it needs to develop.

Honorable Mentions

This was the five difficult genres and features you shouldn’t make as your first game, but there are others that you might want to avoid. These ‘honorable’ mentions are:

  • Procedural content
  • Isometric or 2.5d perspective view.
  • Virtual Reality
  • Adventure games (because of storytelling)
  • Puzzle games (because planning a puzzle)

Shadowdancer DevBlog Week 1 – The Idea Born

We are working in the game industry since 2014, but we didn’t publish any game of our own yet. Well, that not entirely true, because I made a small demo, called Mad Wizard for a Unity contest back then, but that was very early in my carrier. Although, we have a few never-finished projects.

In February (2019) we finally decided we will finish a game. We have a lot of ideas, but we want to make sure we can actually finish it. The first step was to determine the timescale and the amount of work we can spend on this project.

The Time Scale

Right now we don’t have any urgent project or freelancer work going on. We still need to maintain our Asset Store business and make updates for this blog. We want to rush this development, to make significant progress before the next freelance job comes in. After some calculation, we figured out we will have about 3-6 hours per day to work on this project.

The Scope

We used to play with AAA games, and because of this, our expectations were too high. This is a mistake we don’t want to do ever again. As an indie game studio, just two of us, we can’t afford this. We need to think on a smaller scale, that still motivates us. 

First, we need to find the MVP (Minimal Valuable Product) of our game and decide if we can make it or not. We can expand the game with more features at any time later, but right now we need a simple, well-outlined concept.

The Concept

You play as a thief who has powers related to shadows. To complete her assignments, you must sneak by enemies. Shadow is where you are safe, and you can use the light sources to create a path to your goal.

Short Concept Description for the Shadowdancer game

We ended up with this short description, and I really like this. We had an idea of a game that involves shadows and stealth, originally we imagined this as a realistic game, but after we discussed our possibilities we ended up with a low-poly, cartoonish style.

Some of our reasons:

  • Dotti already made five low-poly packages, that gives us a bunch of ready-to-use environment assets, and also a solid base to estimate the work for new elements.
  • Low-poly games are aging slower than their realistic looking counterparts.
  • The simple look makes shadow more recognizable, and our core feature will be based on shadows.
  • We really love the look of the stylized models with vibrant light emitters together.

Here are some reference images for the art style we want to achieve:

We will post an update about our current progress with this game each Friday. Subscribe and stay updated with our newsletter. 

When the time comes, we will select our first playtesters from the subscibers! 😉

3D Game Kit – Retargeting Extension

3D Game Kit is a good starting point to learn Unity and to create your own game. However, the first problem you can encounter if you start using this asset is retargeting. More specifically the lack of quick option to retarget Ellen and the enemy characters to your own 3d model.

I made a tutorial back then to teach you how you can overcome this problem, but the videos were long and hard to follow sometimes. So I decided I make this extension that you can download and import to your project. 

Grab the extension from Gumroad

I want to learn Unity, but where to start?

So you want to be a game developer, and ready to learn using Unity? It looks easy to start with at first glance, but a large amount of information might confuse you or even paralyzes you. If you already have this condition, take a deep breath, and read further!

Learning something always take time. You can count with months or even years. I believe, we can learn more rapidly with goals that really motivates us. If you have a game idea that you want to make, you will quickly learn the skills you need to create this game.

Before I would give you some of the best sources of learning how to use Unity and how to make your own game, let me draw your attention. When you select your learning project, avoid these genres and features:

  • Multiplayer
  • Realistic art
  • Complex AI

There are lots of blogger and YouTuber who says you should keep your ideas on a small scale. They are right, but very few of them, if any tells you why.
Pretty simple: you want to go through and learn every aspect of developing a game, instead of getting lost in the details.

This doesn’t mean you can’t start with a MOBA game if you really into this for example. But you should tear the complex features from it. You MOBA will be a singleplayer game where the enemies are controlled by an AI and are very dumb. However, you can finish it, and learn from it, and later you can expand it further.

Let’s start with my recommended tutorials.

If you like this article, and you want read more like this, subscribe to our newsletter!

Don’t forget to share it with your friends!

Dark Fantasy Kit
Update 1.1.

It was more than a year ago when we started to work on the Dark Fantasy Kit. It was a pretty big project for two people, but we did our best to provide you the highest quality asset we can make.

The asset released in August, three months later than we expected. Because of this, we had to put this massive asset aside, and focus on other projects. Fortunately, we catch up at the end of 2018. We can continue to work on Dark Fantasy Kit once again!

2019 will be great! We are planning 3-4 updates in the first half of this year. The first one is already here. Before we dive into the new release, let me thank you for supporting us. We learned and improved a lot during the development and from your suggestions and critics.

Thank you!

Let’s start with the first update of the year. We were targeting two problems with this release.

The first problem was a technical mistake with the paneled walls (version c), while the other one came up when I started to make levels with the package; the lack of props and decorations.

Paneled Walls Issue

We used multiple materials and textures to make the diagonal walls, doorways, and windows look good with the panels. We made a dumb mistake here I admit, but we were running out of time to finish the project back then, and under pressure, we made bad choices.

For the update, Dotti made a new UV mapping for the paneled walls, and I replaced the meshes carefully. In case of these type of asset, we have to avoid deleting prefabs that already exists in the previous version, and there is a chance somebody built something with it.

We also had a bunch of unused materials and textures in the original release. I got rid of them. These materials were generated by the Unity’s FBX importer and were empty and completely unused.

We also included some corner element that we missed from the initial release.

Props and Decorations

When I started to make level designs with the asset, I figured out soon we don’t have enough props and decoration in the package. Empty bookshelves and clear walls don’t look nice, and the flags become boring if you use them everywhere.

The first update contains 58 prefabs to help you to make more different rooms.

Flexibility over Quantity

Although the package contains a large number of prefabs for a single type of object, we are not satisfied with the way we are building these up. For example, we have 24 book prefabs to handle four color and six cover designs. The time you might spend on searching for the right element is hardly optimal, but right now we don’t have a better solution…yet.

We set up three prefabs little differently to test out some of our ideas. We would love to hear your feedback about these.

Book Clusters and Piles

Instead of increasing the prefab number with premade cluster and pile prefabs, I wrote a small generator script. This way you can put the cluster prefab on the screen, click on the generate button, then duplicate it and click on the button again. The result is virtually endless. You can read more about this generator in this article.

Paintings

Dotti separated the canvas and the frame, and made an atlas for the former. You can modify or create a new texture for the painting canvas very easy with any image editor software.

Table Cloth

The table cloth prefab has two separate parts: the table cloth, and the runner. You can use them on its own or together. Since the albedo texture is white, you can duplicate the material and use it with different colors.

What comes next?

In the next updates, we’ll add exterior elements to the package, like roofs and bridges. With the rounded walls, you will be able to make rounded towers or break up the straight lines of your architecture.

We are also excited about our secret doors.

Don't have Dark Fantasy yet?

Grab your copy now, and get the updates for free!

Book Cluster Generator Script

They said a good programmer is lazy. Well, I hope this is true because I was super lazy on the other day. I literally wrote a script in several hours instead of doing 10 minutes of work by putting prefabs together.

This sounds silly, right? Maybe it is, but I enjoyed working on this small script and trying to remember to the trigonometry from high-school. Let me introduce the weird and questionably useful result of my lazy-work: the Book Pile/Cluster Generator.

On the two screenshots below you can see, the very different result of a single click on a button.

So how did I end up to make something like this? Currently, we are working on the first update for the Dark Fantasy Kit. While Dotti is still modeling and texturing, my job is to test the models and create prefabs from it. We already added 100+ new prefabs, and there were multiple iterations, it’s quite a work. While I love doing this, it started to become too repetitive.

At the time I had to create a few book piles and clusters from the books she made, I just can’t start it. I decided to let rest the left side of my brain, and work with the right side, and the script was born.

How to use it?

  • Download and import it to your project.
  • Create a new prefab and add the script to it.
  • Select the type from the general settings, and add your books to the list.
  • Set the Book Parameters section. If you are using our books from PBR Alchemy Lab or from the Dark Fantasy Kit, you can leave it as it is.
  • Tweak the settings for the right type.
  • Click on the Generate button.

Pile Settings

  • Book Count: the number of books in the pile.
  • Rotation Random: determines how much rotation is applied to the books. 0 means zero rotation, the books will lay on each other in perfect order. 1 means the books are rotated very differently.

Cluster Settings

  • Cluster Width: instead of giving the book count in case of a cluster you set the width of the book cluster.
  • Slanted Random: how many books should be slanted.
  • Slanted Max Angle: the maximum angle by with the books are slanted.
  • Z Pos Random: determines the random offset applied to the book position z axis.
  • Show Gizmo: for debuging purposes.

5+1 Free Asset for Unity that you will use all the time

I use several assets for my work as a freelancer and asset store publisher. Some of them are paid assets, others are free.

There are a handful of assets that I’m using in almost every project. I would love to share them with you, because these are free, and improved my workflow a lot!

Before we jump in, click on the subscribe button! I’ll post similar articles to this in the close future. It would be a shame to miss it! 🙂

1. Cinemachine

Cinemachine is unified procedural camera system for in-game cameras, cinematics and cutscenes, film pre-visualization and virtual cinematography eSports solutions. Says the description in the Asset Store but why do you need this little asset gem?

If you have already worked with a camera in your project, you might meet with these problems:

  • Setting up and controlling the TPS camera in the right way could be a pain to code.
  • Multiple cameras on the scene for cutscenes, testing or any other purpose can take out of the control of your game camera.
  • If you have multiple cameras on your scene, multiple Audio Listener would be the problem. Removing them are not always a solution.

Fortunately, this asset provides a smart solution for the latest two: virtual cameras. Virtual cameras are dummy objects with camera settings on them. Cinemachine will take the settings from this dummy object that is active, and update the real camera with it. Therefore you will need only one Camera in your scene.

You can use as many virtual cameras in your scene as you want. Cinemachine can switch between them in multiple ways.

It has a lot’s of features that will help you in your development: the Smooth Follow and the Free Look camera options are great for TPS games, and you can create them literally with a single click! Also, have a built-in solution for wall avoidance.

For more information, visit the Tutorials and the Documentation.

If you are using Unity version 2018 or higher, you can import Cinemachine from the Package Manager. If you are using Unity version 2017, download it from the Asset Store!

2. Post-Process Stack

Post-processing is the process of applying full-screen filters and effects to a camera’s image buffer before it is displayed to screen. It can drastically improve the visuals of your product with little setup time.

You can use post-processing effects to simulate physical camera and film properties; for example; Bloom, Depth of Field, Chromatic Aberration or Color Grading.

For better understanding let me show you a before-after image from our Dark Fantasy Kit.

I used a very subtle Post-Process here because I didn’t want to hide the details of our models, just improve the colors and give the full scene little more depth.

Post Process is a powerful tool for your game and very easy to use!

If you are using Unity version 2018 or higher, you can import Cinemachine from the Package Manager. If you are using Unity version 5.5 or higher, download it from the Asset Store!

3. Screenshotter

When you finished your beautiful scene, you want to share with others. You could start the game, press Print Screen, and paste it to Gimp or Photoshop and cut the taskbar from the bottom. I did this, and I’m not proud of it. It looked easy at that time, and I didn’t really consider the fact, it will result in a very low-quality image.

When I realized this mistake, I wrote a small code to be able to take a screenshot in a resolution I want. Lucky for you, I share this little script, so you can download, and import it to your project and add it to the main camera.

Download

4. Unity Recorder

Presentation of your work in the right way is essential. My Screenshotter script helps you make a high-res screenshot, but if you want to make a good quality video from your game, you should take a look at this asset.

Unity Recorder is an Editor-only tool, so you can’t use it in a built version of your game. You can create 4K, 60fps videos with this asset. It’s memory intensive, so it’s best to create videos that don’t require user interaction, like the fly through video, I made for the Dark Fantasy Kit.

Download from the Asset Store!

5. Mixamo Animations

This isn’t directly connected to Unity, but I found it extremely useful. They have thousands of motion captured humanoid animations for free to download. The quality of these animations is in a wide range of variety.

Perfect for prototyping and for placeholder animations. Some of them are acceptable as final animations too.

Mixamo Animations

This video should help you how to download and import the animations from Mixamo to Unity.

+1. Sonniss 30GB Sound Library

I already wrote about the impressive amount of sound effects that Sonniss published. You can use this collection for free even in commercial projects.

What do you think about this assets?

Did you already know them? Do you have any asset that is free and you are using it a lot in your projects? Tell me in the comment section below!

High-Resolution Screenshot

With this little script, you can capture screenshot in any resolution.

Res Width, Res Height
The resolution width and height of the captured screenshot. You can set any number here.

Take Screenshot Key
If this specific key is pressed, the script captures the screen.

Save Path
Absolute path of the folder where the script saves the screenshot. The absolute path looks similar to this: E:\Projects\_ASSET\Dark Fantasy Kit\Screenshots

What do you think about this little script? Shoot a comment and tell me!