Hello everyone.
Today, I would like to show you link between our tools we use for development.
First one is a content editor which you may know, if you watch our channel on regular basis,
where you can create game content.
Second one is level editor, which you haven't seen yet.
Where you can link that contet to actual game locations.
So, where to begin...
If I create something in content editor, I create only something like text data
and I need them to be used as real game object.
Now I'm on lower deck, which is one of first locations, that players can visit
or actually the very first one, there is going to be tutorial.
And here I can do lots of stuff.
This location is actually already designed
So I will deal with lots of content that is already placed in correct spot,
so I'll try to find something, that is not already done yet.
Okay, so what about this stuff.
So if I click on some game object, I can do things like this,
If there are no scripts attached to this object, It looks dull and it looks like it does't do anything
and serves only as decoration.
I can change type of this object and active it,
so player can interact with it.
Right now, we have three functions - transition, container and interaction.
Transition is probably pretty clear, it just move player to other location, so it will be on doors, portals etc.
Contrainer is obvious as well,
it's used for chests or wardrobes or something.
And interaction is used for other actions, after player clicked on item.
Usually a button, leaver, switch or something...
So I will show you container for example.
It has lots of parameters, that I can set, some of them are mandatory and some of them not.
ID of container is self explanatory, I pair this game object with data object I created earlier in content editor by object ID.
I'll open up content editor...containers category and lower deck,
and now I can see lots of containers we already prepared and IDs of those objects.
So for example, I will use ID 27.
(usually I have more than one screen, so workflow is much smoother)
I'll type in 27, press "data test" and let's see...
and yeah, great, object is now paired.
That "data test" button is checking if object really exists.
Next value is object group.
Nobody would like to roam aroround and click on every single object.
That's why we group some objects together
so player can interact with multiple visual objects, that should logically behave as one.
Like this table, chair and shelf for example.
If I swich to game mode (so I can act like regular player),
all these objects are linked together and behave like a single object.
So player can click on table or chair, but it does the same action.
But in the level editor, table and chair are different objects.
So that's object group.
Just a simple demostration - (typing in) AAA
(typing in) AAA again..and in this moment, if I click somewhere else,
this small bucket just inherited all properties of the bigger one.
And now we have one group.
Now about event activation.
I can say, that after player clicks on game object, event will happen.
Events are basically in-game scripts that can do almost anything.
You can summon NPS, take item from player or just really almost anything you can imagine.
And all that is done by event activation,
but of course, I need to create this event in content editor first.
Object comment is not used that often,
it's used only when we need to give a message to player.
Usually when player clicks on object that really does't do anything,
there will be default line of text,
something like "You found nothing." (Jon Snow :))
But if player should see some different text,
like if there is bag of gold behind this bucket,
I would write down something like "After searching this bucket, you've found bag of gold!"
And that is unique text, that I need to prepare in content editor
and this text have it's own ID as well.
Because we are talking about containers,
it's pretty usual that I can place a lock on container or sometimes even a trap.
Lock level was explained in one of previous videos, but simply, higher lock level is tougher to unlock.
And you do "trap dice roll" on unlocking of course.
If lock can be opened by brute force, I can set it as well.
But since it's a lock, you should be able to open it with good old key.
I'll write down key ID to container properties
and if player have correct key in his inventory, he will simply open that container.
Type of trap,
if you leave it blank, there will be no trap,
but otherwise we currently have 12 types of traps,
that are different because of effect type and target type (whole party, single character).
I'll set explosion, and after that, I more attributes appears,
namely - secrecy and hazzard level.
Higher level of secrecy makes trap more difficult to spot
and higher hazzard level makes trap more resistent to disarming and it also makes it's effects stronger.
I can also say, that this container will be hidden.
Object itself will be visible, but player will not know, that it's also a container.
Real life (or game designers life) example is a bookshelf,
I'll place a bookshelf somewhere
or I'll just use one that's already here.
Or not, because I don't want to mess with something I've already done :)
And what I wanna do is,
when some character is messing around, but he can't find anything,
he won't find anything, of course.
Take some bookshelf in wizards tower for example.
If rogue will look around, he won't spot anything interesting.
But if wizard will take a peek, there is possibility that he will find something.
I'm setting spotting difficulty level to (let's say) 2
and I place some magic book inside.
And if wizard interacts with this object, there is going to be "trap dice roll" for spotting difficulty angainst character level,
it means that wizard on level 5 or 6 should have like 90% chance to spot that container.
Or if I set level of spotting difficulty to 1, he has almost 100% chance.
And other classes won't spot anything, because he has some special knowledge.
This is applicable to almost any skill or attribute,
not only to chacter classes, typically we use perception.
Take a bunch of clothes for example and only character with high perception level can find something useful.
And as last thing, we have light.
Some objects will be placed in darkness, and I my party has no source of light, I won't be able to find anything.
Simple mechanics, no dice rolls.
Some races have night vision, of course, but let's not consider that in this case.
So that's container.
So what next.
Sometimes I need to place object, that's not placed by our visual artists,
more containers for example.
You can see lots of polygons on the floor
and these polygons are representing game hexes.
I can click on any hex and I can place some object.
Just like that, we have a chest.
And it works just like the container I've shown you before.
With a difference, that I can adjust where it will be placed and angle.
In next version of our editor, I will be able to smoothly change graphic model of that chest and so on.
In a same way, I can add some NPC.I
It works in a same way as containers.
I'm setting some properties like model and dialog.
I can pair some scripts as well, of course, but that functionality is currently in progress.
So that current version of our level editor,
I hope you liked the presentation and see you in next video.
Không có nhận xét nào:
Đăng nhận xét