creator cover Magomet Kochkarov

Magomet Kochkarov

BADCOM - a place where bad guys create good games
Magomet Kochkarov
0 of $ 1 117 money raised

About the creator

My name is Magomet Kochkarov. I'm a game developer from Russia. In my spare time I develop code snippets that could be used with Conitec GameStudio A8 and share them with my subs in YouTube and GitHub. 
You can find me here:
Best regards!

Moving in circles with collision detection

Recently my subscriber requested a very challenging movement code. He wanted to have a player controller that would move in circles but with collision detection. The challenging part is that collision detection provided by the game engine is linear! Means that player would always end up moving out of the circle...
After spending a night with this challenge, I came up with a tricky but nicely working solution! Instead of trying to move the player directly in circles, I move it towards the point on the circle!
This is how I did it (picture below):
* find 'angle' at which player is currently standing relative to the circle via atan2(y,x)
* from that 'angle' find position on the left and on the right of the player
* move player towards that position but only if we have input from player
Show more

Water waves + splashing sound effects

Another day - another code snippet.
Today I've created some nice module that helps to add water waves with some nice splashing sound effects into my subscriber's project! It uses build in region system that comes with game studio to check if player's feet have entered the water.
It's a very simple effect, but it adds a lot to the over all atmosphere of the project.

Breakable walls!

Today I've made some breakable walls. Sound effects are a bit off, but my job was to create physical wall parts + simple smoke effect. Game Studio A8 uses physX 2.x but destructions (APEX?) were never implemented... So I had to do all by hand.
What I've done:
1) create unbroken wall model (thanks to HEN)
2) create broken wall model
3) create wall parts to fill all the gaps in broken wall, so it visually matches unbroken wall
4) fill up the unbroken and broken wall models with those wall parts and create a bone at the center of each wall part
5) in the game when the wall gets destroyed I change unbroken wall with a broken wall and create all wall parts at the bone positions
6) apply physics to each wall part
7) create smoke effect at each wall part model
8) play sound effect
So at the end I had a very simple (and always same) destruction effect, but at least walls parts (debris) are actual physical objects. This system could be used with different model sets, the only limitation is it should have the same number of wall parts (6) and bones with similar names.
Show more

Cutscene part 1

It's been a long delay in my post due to my health issues. But guess what? I'm back and recently I've been working on this awesome cutscene for one of my subscibers! It's only a first part of the cutscene, the second part is going to be published in a next few days, so stay tuned! 
Creating this cutscene was especially challenging for me, because it's my first ever try to create something like this. All scenes had to be hardcoded one by one, with all the sound effects being triggered one after another at the certain percentage of the animation scene.
Hopefully this is not my last time working on something like this, because despite it being really challenging at the times, I really enjoyed it! The end result was really rewarding!


Today I've accomplished another code-snippet. This time it's a credits that is made of blocks! Each block has a title and can have different type of alignments! It adjusts itself to screen resolutions and scrolls from top to bottom. This was a bit tricky to create, but at the end it was 100% worth it!

You can see it in motion here:
Show more

Falling Leaves

Another day another code snippet! Today I've created a small but very useful code snippet for my sub. It creates falling leaves around given spawn position (placed via world editor) within defined spawn box. 
You can see it in action here:

Trap plates !

All platformers need to have trap plates of some sorts! So this is what I've created for my sub! All it does is fades out and becomes passable, so player (or other npcs) will fall through it to their death. Logic is quite simple, I activate them with a short raycast that I projects from entities origin downwards to an extend that raycast's 'end' position is slightly poking from entitie's lower bbox edge. On activation it has 3 states. Activation (when it fades out), counter (5 seconds) and fade back in state.

You can see how it all looks here:

Paradox box!

Today I've been creating a nice little effect for my sub. It's a falling down paradox box! It was highly inspired from one of the boss fights from PS2 game called Mega Man X8. The behavior of the box is quite simple, it randomly spawns around a given position, plays some fancy animation and then lands onto the ground. Unfortunately I can't give any details on how exactly this is going to be used in my sub's project. Only thing I can say is that it's going to be a boss fight!
Here is how it looks like in action:
Show more

DooM autoaiming

Recently I've decided to recreate doom 1 autoaiming in GameStudio 3D aka Acknex 8. It's been awhile since I've been working with it, but I've never accomplished this task. I've seen a very nice video on the youtube where decino explain in details how autoaiming in doom worked and I decided to give it a go! It turns out to be much easier than it seems.
So the logic is quite simple, but it yet might need some tweaking:
1) I scan in front of player's camera for any shootable entities (in my case enemies or props). Scan cone has following parameters width = 10 degrees, height = 120 degrees and range 1024 quants. All found entities are saved into the array.
2) Since scanning ignores all the level geometry and detects only shootable entities, I additionally need to check if entities which are found within the scanning cone are visible or not. To do this I use a raycast from camera to each entity one by one. And here comes the trickiest part, since some parts of the enemy's bbox might be hidden behind level geometry, I don't simply raycast to it's origin position. Instead, I have 6 points per each entity. They are : center, head, top right corner, top left corner, lower right corner and lower left corner. So auto-aim will try it's best to aim at enemies bbox center position, if it's not visible, it will try to aim at the head, and if it's not visible too, then it will try to aim to any visible bbox corner.
3) Last thing we need to check for is the distance to found entities. Since we want to shoot the closest one to the camera. 
Show more

Subscription levels

Basic subscription

$ 0,12 per month
Buy me a coffee
Go up