Better tooltips
- can now specify where the tooltip appears
- can show stats of item and abilities
- bigger and more readable
Better tooltips
Hi all,
It took me longer than expected but I pretty much completed the roadmap I established earlier in Jan this year (minus a few bugs) so it is time for another retrospective:
I’ve also manage to do a little bit of promotion on a couple discord channel and made 3 small dev post on DEV.TO :
I was trying and see if anyone is actually interested in this project, as there is no point in building something that will never get used or serve no purpose, so let’s check the numbers:
That was a fun exercise to do even if I dont really know what these numbers means as I have nothing to compare too, but they are growing overall, so I guess that’s probably a good thing.
There is alot of stuff of other local branches that I’ve worked on but not showned yet for the simple reason it is to complex for my current skillset and/or just not working correctly currently:
I will sum this 5 month sprint with: It is alot of work in building a basic 3d multiplayer rpg, and To realistically be able to “finish” or get it close to a playable prototype, I’m going to need a lot more time (which I don’t have a lot of), or get help from other people for things I’m not very good at (like level design or character animations for example).
This said, I have no idea how to get help? And would anyone even be interested in helping/contributing? Where would I start this process?
In all cases, I’m going to keep working on it as much as I can, whether I find help or not, and will prepare an updated roadmap for the next 6 months in the coming days.
Lastly, a big thanks all the Babylon.js community, and especially @mawa for all the encouragement and help
31 stars
Glad you recognize this Makes me feel a bit less old and useless I think I’m not just the only one here who told you that the amount of work, the pace and the results you achieved are beyond (often way beyond) the average. You undoubtedly have great skills; not just in dev, but also PM, organizing things, keeping with a roadmap and overal for the ‘Make it happen’ factor .
So I guess for anyone interested in working with you on this project, these should be reassuring. I hope you will find your contributors and I believe a good place to start with for building your team might be just here, in this very forum. Honestly I don’t have much time and I’d like to work on some other projects (including a TD game) but I will continue to support and follow your project and if, here or there, I find I can give some useful tip, comment or small contribution, I shall be happy to do so. Meanwhile, have a great day and congrats again for all you’ve done already
This is amazing to see where you are at and It hope some ppl in the community will help get this project going even further
@jeremy-coleman A man of few words Thanks!
@mawa Thanks! Note that having a roadmap without a deadline date is cheating a little
Thanks @sebavan , I’m sure some people will chip in but I may need to advance the project a little more before that happens.
Hi there,
I’ve worked on the next roadmap, should be a little more realistic this time around:
Mostly trying to finish the items implementation and improving the AI.
Roadmap: @T5c · GitHub
Cheers,
Orion
Did the UI refactor involve making it use BabylonJS GUI or is it HTML?
I used Babylon.js gui for all the UI. It’s quite effective once you get the hang of it
Agreed. And then, with ‘the Editor’ or the ‘Figma plugin’, now new in version 5 with even more awesome features, we have something real solid to use also in productivity. Long live the BJS GUI
Funny you mention the FigmaPlugin. I just forked the code for this project and if I have time I will use the figma plugin to spice up the ui for this game
Ooooh that’s going to be so cool!
@oriongu Love seeing your roadmap it is super nicely organized
How did you go? I haven’t used the figma plugin yet and curious if it can improve the worflow?
Check out “GOAP” (goal oriented action planning). You can make super smart (looking) agents that follow entire action plans. idk maybe sth like:
And the best thing: There is zero transition logic. The goap solver figures out the action plans for you! No FSM complexity. Your game seems like the perfect use case for it.
btw using (an adapted version of) this one: (GitHub - wmdmark/goap-js: A proof-of-concept implementation of Goal Oriented Action Planning in JavaScript)
Very interesting way of doing AI. Thanks for sharing @Joe_Kerr
About finite state machines, I realize now it is not very flexible and creates lots of code duplication (still much better than my previous nested if and buts everywhere).
Didn’t have a go yet. I took a look at the code and my main issue is I don’t have a nice way to port the existing UI to Figma first so was thinking about adding a Babylon To Figma function into the plugin!
lol, errm, sorry. You know if you have opened some tabs. Get interrupted, get some coffee, a pee break. I kinda meant to post the GOAP idea over at @Alexander_Sosnovskiy Village Craft thread.
Haha makes more sense now
This one is not going to be as fun (no screenshot or funky stuff), but I thought I should still share.
So, I’ve been working on improving AI to allow different types of spawning, but I first need to prepare the ground, this is what I came up with:
Every map has a associated JSON key (under shared/data/locations.ts) and you can setup your spawn points following the rules below:
[
{
type: "global",
behaviour: "patrol",
aggressive: 1,
description: "will randomly patrol along the navmesh",
points: [],
radius: 0,
amount: 5,
race: "male_enemy",
},
{
type: "area",
behaviour: "patrol",
aggressive: 1,
description: "will randomly patrol along the navmesh within the defined points",
points: [
{ x: -14, y: 0, z: 3.6 },
{ x: 3.7, y: 0, z: 3.4 },
{ x: 3.7, y: 0, z: 15.3 },
{ x: 13.45, y: 0, z: 14.63 },
],
radius: 0,
amount: 5,
race: "male_enemy",
},
{
type: "path",
behaviour: "patrol",
aggressive: 1,
description:"Will patrol along a path of points going back and forth (not sure about this one, maybe once it gets to the end it should go back to the first point?)",
points: [
{ x: -14, y: 0, z: 3.6 },
{ x: 3.7, y: 0, z: 3.4 },
{ x: 3.7, y: 0, z: 15.3 },
{ x: 13.45, y: 0, z: 14.63 },
],
radius: 0,
amount: 1,
race: "male_enemy",
},
{
type: "point",
behaviour: "patrol",
aggressive: 1,
description: "will randomly patrol along the navmesh within the defined radius around a point.",
points: [{ x: -8, y: 0, z: 14.7 }],
radius: 5,
amount: 5,
race: "male_enemy",
},
{
type: "point",
behaviour: "idle",
aggressive: 0,
description: "will spawn on a point and stay idle, maybe useful for potential NPC's?.",
points: [{ x: -9, y: 0, z: 15.7 }],
radius: 0,
amount: 1,
race: "male_enemy",
},
],
Upon map being created on the server, the new spawnController.ts will be in charge of spawning and setting up AI behaviour. I will need to add a few more states, but it shouldnt be too hard to update my AI to cater for these new behaviours.
It feels a little naive, buit it should be a good base.
This exercize is showing me the need of a map editor
That’s it folks,