• Register

Game developer from Poland. Creator of Ben The Exorcist. Always working on something

RSS My Blogs  (0 - 10 of 19)

Banana

For most time of this past weeks, I was out of the town so I couldn't work as much as I would like. Gladly Alex created one model so I can show you something :)

In the programmic topic, I spent some time on refactoring code responsible for deciding where to spawn current player. I was able to centralize this in mostly single responsibility class, so it should work as intended.

SpawnAssasin

TLP - Week #6 (AI)

ksybek Blog

Another week focused on working with AI. Detecting spawn location in-house is already working. Character is looking for exit by simply visiting each room and he remembers last 10 that he visited. Thanks to that he is not falling back to often. He pickups all items that come in a range of his sign and in the end he runs to the exit gate. Now the most interesting part will start - adding an opponent AI and improving both of them at the same time :)

Here a little screenshot of Behavioral Tree for base AI:

AI Simple

TLP - Week #5 (AI)

ksybek Blog

One more week focused on AI and it will be a lot more - I'm sure of that. The purpose of this project is to create some really cool AI so I' gonna use experience I gained working on Ben The Exorcist to make this AI even better.

For now, Ai is able to perform almost all actions that player can, use doors, use objects, add them to equipment. It is not able to create new recipes for now, but it will be quite easy to implement so I don't worry about it. In my opinion, AI is finding exit too easily comparing to a real player, I will need to work a little more on it.

During this week I was working hard to utilize an equipment system for Scientist character. And I need to say that it is almost ready. In this process, I decided to create Animation system first (you know, let it look cool from the beginning :)). We are not gonna use any skeletal mesh so I thought about some abstract system based on timelines a linear interpolation. So, in fact, I'm also coding animations right now :)

Here is an example of Opening doors:

DoorOpenAnim

The inventory system is almost ready, or at least few functions are working as they supposed. It is possible to add picked up an item to inventory, it will be displayed on the toolbar, calculated amount and stuff like that. Also, some base for crafting system is also ready, so if you pick up an item the system will display options what you can craft from it.

Here you go with few items and 2 recipes on the end. I think that I will change the toolbar for vertical orientation.

InventoryRecipe

For this week I worked on interaction with objects and I've set up some first room block designs. So, for now, I already have content generation for rooms like:

  • Hall (1728 variations)
  • Bath (162 variations)
  • Bar (3 variations)
  • Saloon (72 variations)
  • Dining (16 variations)

All these variations don't include pickable items generations that is also working but not set up fully.

HighresScreenshot00003

HighresScreenshot00004

HighresScreenshot00005

BTW. Those white balls are hands :)

Design

This week we spent some time on overall gameplay design. Design for the crafting system, objectives, abilities is ready, as well as 2 first characters - scientist and ninja.

Art

Alex was busy (mostly playing Deus Ex :P) so no new assets were created this week...

Gameplay

I have created spawn system, thanks to it we can choose where to spawn our character. Another thing is that you have a winning condition for scientist character - you need to get out of the house and reach the gate.

Green places show where you can be placed

About AI - from now on it detects doors and can walk through them. Also, it can mimic all the movement of our character if is in a specific state

I've decided that I will write an update each week, daily is definitely too often... In my opinion, one bigger update is better than few short ones. So let's start:

1. AI - In UE4 we have a great component for AI Perception. I've decided that I won't use... why? Everything that is universal will not work as great as system dedicated for selected purpose. In this case, I need only to check if another character is visibility cone. So I wrote my own component and I'm checking this by sphere collision in front of AI. Thanks to the fact that it is a component, I'm also using it in my main character :)

2. First assets that appeared in game are doors and frame, all assets will be created by Alex and I'm sure that they will be top possible quality. Here is how it looks like:

doors

3. Procedural - now we have a fence generated procedurally. For now, they are simple placeholders but it looks something like that:

Fence


XYZ - Second floor

ksybek Blog

Today I made something quick. It doesn't mean it was simple but that the generation system that I'm writing is easily extendable :) Right now I'm able to produce any number of floors with proper configuration (but only moving up, basement floors will be added in future).

The current process of house generation looks like:

1. Build space map

2. Randomize base floor with checking in space map

3. Check for any upper floors connectors that were built.

4. Check collisions of each room and add windows.

UpperFloor1

UpperFloor2

UpperFloor3

In my opinion, it starts to look like house, weird one but still house :)

XYZ - Floor with windows

ksybek Blog

Not as much work has been done as I planned. The easiest part was adding windows to current rooms, simple detection of collision in the second pass and here we go. The more challenging was looking for a little bug in calculation of entrance, but from now on we won't encounter a situation where doors are blocked by wall from another room :)

So to sum it up, the current process of house generation looks like:

1. Build space map

2. Randomize base floor with checking in space map

3. Check collisions of each room and add windows.FloorWindows


Here is how my space map looks like:

EntranceDebug

0 are free spaces

1 are occupied by room

2 represents an entrance that is not connected


XYZ - Quick Summary

ksybek Blog

Hello everyone,

I was silent for almost a year, some things happened so I would like to share it with you.

After releasing Ben The Exorcist we had a really positive feedback, the only thing that you were complaining was difficulty level on a high level. We analyze the whole process, we wrote down what we did good and where we could improve ourself. With current (2-3 people on the board - depending on project phase) we decided to create another game. In middle of project we sold rights to it to other company, so I can't write much about it, but it will be hopefully released this year :)

With few hours of free time, we decided to start another project, because, why not? :) It is in design phase and I don't want to share whole plot and mechanics on this stage. I decided that I will try to regularly write a blog and describe a progress of our new secret project. If this sound interesting for you feel free to visit this profile from time to time.


For today... In the game, let's call it XYZ , we will have a lot of procedurally created content and most of the game will be played in a big house. Here are some screenshots what I was able to achieve with only 3 simple blocks.


ProcFloor1

ProcFloor2

ProcFloor3

ProcFloor4