3D Action RPG Real-time Combat Demo - Full Source

Here’s the playable demo.


Working on better game feel and better code.

Here’s the full source on github, not super clean but usable. Feel free to use!

21 Likes

Added an interior scene, procedurally generated with blender geometry nodes
Procedural Interior WIP

3 Likes

I’ve been working on a browser-based RPG level builder.

Try out the builder demo here. Full source with the builder just updated on GitHub.

6 Likes

The in-game builder looks cool!

1 Like

Thanks! I’m working on polishing the in-game builder as well so other people can use it as a jumping off point. The builder source is here in the same repo, anyone can feel free to use it.

1 Like

A bit of an update:

Got a cool sandbox going with oblivion style npcs (still a ways to go). Kinda fun to play with, here’s a link to the demo https://game.openworldbuilder.com/

9 Likes

This is very cool! Awesome job. Keep pushing it :star_struck:

1 Like

Gorgeous!!

1 Like

So cool to see !!! the character has clearly a @Deltakosh feel https://www.deltakosh.com/?pgid=kdkhod512-4faae03f-b4b1-456b-a3a7-7e1ff33b5d23

2 Likes

This is looking gorgeous!

1 Like

Thanks everyone, I really appreciate the feedback!

@sebavan Wow you’re right that does look similar! I was inspired by the main character model in Darksiders 1

1 Like

Got a bit more of a combat system going:

It’s got a skill system with a cast bar, damage text, particle vfx, etc.

The thing I like the most is that each skill is now just a simple JavaScript object. So you could let players make their own skills easily by editing/swapping the fields.

  doubleSlash: {
    id: "doubleSlash",
    name: "Double Slash",
    icon: "/assets/util/ui/icons/skill_icons/Ice_Shard_Skill.png",
    description: "A quick 2-hit sword attack at your target.",
    animation: {
      name: "Combo",
      speed: 2.0,
    },
    vfx: "slashVFX",
    cooldown: 900,
    range: 50,
    cost: [{ type: "stamina", value: 10 }],
    effects: [new Effect("damage", 4, { delay: 0.3, sound: "Sword SFX", soundDelay: 0.28, hitVFX: "explosionMinimalSword" }), new Effect("damage", 8, { delay: 0.85, sound: "Sword SFX", soundDelay: 0.848, hitVFX: "explosionMinimalSword" })],
  },

https://github.com/open-world-builder/open-world-builder/blob/main/public/src/combat/skills/SkillData.js

Here’s the playable demo https://game.openworldbuilder.com/?scene=training

7 Likes

Or json. So you can bundle/minify your js files.

Also beware: description: "A quick 2-hit sword attack at your target. This is going to bite you later on if you have player-facing text all around your code base. Better have descriptors like “effectDoubleSlashDesc” and resolve in UI. Same for file paths.

1 Like

Epic!!

1 Like

Thanks Joe, I really appreciate that, those are great points. Definitely looking to improve the code/learn better ways of doing things in general.

1 Like