Scifi Rogue - top down / 3rd person shooter game

:see_no_evil_monkey: :saluting_face: :rofl:

@Symbitic Thanks for asking :slightly_smiling_face:
Unfortunately the license of some of the assets used wouldn’t allow open sourcing the full project. I’m happy to discuss the techniques used, also note that the ECS system is already open source. I am “extracting” some reusable code logic into a separate gamelib folder - maybe that could become a separate open source library.

2 Likes

Doing some “Beta” test of the Kosh’s beam attack:

PG: MagicRay | Babylon.js Playground

Finally a good “practical” use case for me to get my hands dirty with NME :smiley:

9 Likes

I was trying to play again but for some reason 3rd person mode wouldn’t work just the top-down view.

With 3rd person I could see this error in the console:

Thanks for reporting @AncientA :folded_hands:
Seems like a minor timing change after updating dependencies, and me not properly checking in the code - fixed now.

2 Likes

Yep, all good now!

1 Like

them bois scary af comin’ at you, thank goodness for corners

1 Like

“The Kosh” is coming:

He is big, but still without a brain :brain: - and can’t die :smiley:

3 Likes

That works for me :smiley:

1 Like

Feels a bit like being a brain surgeon :brain::

export function setupBetakoshBrains(scene: Scene) {
  let frame = 0;
  scene.onBeforePhysicsObservable.add(() => {
    ++frame;
    const playerXform = queryXforms(['player'])[0];
    const playerPos = playerXform.xform.absolutePosition;
    playerPos.y = 0;
    const activeBetakoshes = queryXforms([betakoshBrainComp, animsComp]).filter(
      (bkosh) =>
        bkosh.xform.isEnabled(false) &&
        bkosh.betakoshBrain.health > 0 &&
        Vector3.Distance(bkosh.xform.absolutePosition, playerPos) < 20,
    );
    ...
1 Like

Hey!

Just wanted to mention that @labris and I have ported nearly all YukaJS examples to babylon.js, so it should be super easy to get started. Yuka’s a powerful JS library for game AI. It covers pretty much everything you’d need for bots, pathfinding, and behavior, etc.. Definitely worth a look!

image

babylon.js examples:

Be sure to check out this showcase minigame as well!!

8 Likes

Thanks @roland, think I actually came across this quite a while back - looks like it would be worth looking further into :robot: :brain:

1 Like

Amazing work, @pjoe !

Could I ask how you generated an image like this and if you need to prompt a certain way to have the 3 nice poses? Thank you :smile:

2 Likes

I use a control net to steer the image generation to make the front/back/left. As input I give it a depth map, that I made from a standard character base mesh, rendered in Blender. I use ComfyUI to set this up with Flux Dev as the model. For prompt I include something like this in the negative prompt: variations, multiple choice Hope this helps :slight_smile:

2 Likes

Latest update:

  • Full on BetaKosh Boss Fight (he’s a tough one)
  • Levels are now progressive, i.e. start small and get bigger and bigger
  • A number of bugfixes

Check it out at: https://demo.scifirogue.com

6 Likes

Amazing! Thank you, @pjoe !

1 Like

Of course he is tough lol!!

2 Likes