WoW. Impressive progress .
for all the âthanksâ âŚthough I have the feeling I didnât do much.
I will return on it a little bit later (right now is a bit busy )⌠and I let you have my shit comments (as usual ).
Things I wish I had known before I started
- Havok can take in a TransformNode into the PhysicsBody.
- You can just put boxes around a complex mesh in order to make collision computations easier.
/*
- root.glb
- displayMesh
- collider1Mesh, collider2Mesh ...
*/
const collider1Mesh = get();
const collider1TF = new TransformNode(collider1Mesh.name);
copyMatrix(collider1Mesh, collider1TF);
copyMeta(collider1Mesh, collider1TF);
const pShape = new PhysicsShapeMesh(collider1Mesh);
const pBody = new PhysicsBody(collider1TF);
pBody.shape = pShape;
//etc. for collider2Mesh...
class GameObject {
displayMesh;
colliders[];
addCollider(colliderTF) {
this.colliders.push({
node: colliderTF,
entity: createEntity(colliderTF.meta),
//physics: colliderTF.physicsBody
});
}
}
var nodeGameObjectMap = new Map<TransformNode, GameObject>();
//nodeGameObjectMap.get(raycastResult.transformNode);
collider1Mesh.dispose(); //<-- :)
Note that if you have associated material data with a collider, you can spawn different impact effects (etc.) per collider on the same 1-material display mesh.
You can now also do some optimisations with the display meshes (like merging) because they are not needed anymore for game logic.
If you are in a low poly environment, you can put this to the extreme.
Visual world:
(This is one large âmega meshâ)
Logic world:
Any thoughts or improvements welcome
Update: v0.0.3
Destruction cleanup
Brand new inventory
Check it out now
https://jokrgamedev.itch.io/demo-town-tactics
Do yell at me if something sucks or drop a feature request!
Challenge
Try if you can break the inventory. It has banking level security and architecture Seriously though: this item inventory is the most complex beast with so many cross cutting concerns all over.
What happened since the last version:
- Inventory
- More items to play with
- More fluid scene controls. Clicking and hovering on stuff feels way better now.
- Multiple player characters can move around at the same time (because why not).
- Neighbouring walls are dynamically detected now.
- Fixed wrong color of destructible debris and effects.
- Destruction smoke is less transparent now and looks way better.
- Now can predict actor stances/postures of any animation state. Not only eliminates inaccurate estimates but also saves raycasts!
- Fixed preview of walkable area showing too few grid cells.
- Shooting does not wait anymore for the projectile to hit but gets ready once the projectile left. 90% less annoyance now.
- Much nicer shadows - with a single boolean. Love you Babylon
- Now using the word ânowâ very often.
Awesome progress there I wish I could say the same on my project ⌠though, Iâm very close now
Itâs funny like your inventory kind of gives me the feeling/memory of the first DeusEx (at least for the shape of the icons and the icons themselves⌠still different, like simpler and more adapted to the overall pixelart design⌠but, yeah just something from it). I know how complex it is (and will sure try to break it when I get the time to try ) but just like that, I think (sorry) it is still a bit âmessyâ. May be you should try make it a bit better structured. I mean right now, itâs not obvious to me to make the difference between the placeholders (body and pocket parts) and the (assigned or unassigned) inventory items. If I get chance later this weekend, Iâll try to explain my point with a quick draft. But, yeah, currently, this would be my âuseless designerâ shit commentâ ⌠Iâll be back⌠Meanwhile, have a great day
Nice! I have been waiting for the update. Keep the hype going
To be honest the version I publish on Itchio is not a ânightlyâ. For instance I have a huge chunk of the strategic game already working but it is still too rough (among other considerations). The inventory you see now is the 4th complete rewrite and it took weeks to get there. So progress is actually creepingly slow.
lol, I might have maybe outsourced the structuring to CSS flexbox: like here are my components, please make them fit on screen But I think the off hand slot (bottom left) causes some of the mess. It does not really fit anywhere because of the attachment slots of the weapon slot. These attachment slots can be all around the weapon slot (ammo, scope, battery, muzzle). So the off hand slot either is in the way or does look out of place. Hm, I need to think about it some more and google image search a couple of inventories.
Oh, I think I see what you mean. Is this better:
Never ever. One thing I have learned a) to listen to and b) to appreciate the input of designers. In fact, you guys are just some sort of magicians to me like creating a drawing, design, css, layout, palette etc. literally out of nothing??? What is this sourcery
Kind of Itâs still not very clear to me, but I might be a bit dumb
Tell you what: For me, itâs likely because you are trying to bring everything into a single screen. We are used to have âcharacter informationâ that can come along with âskillsâ and can also allow to select from âthe inventoryâ. I believe this is what you are trying to do here, is it? However, this needs to be very well structured or becomes confusing. Like Iâm unsure what the empty box below âpocket slotsâ is? Is that supposed to be my âbackpack inventoryâ? What is the stash? Something that Iâm not carrying but can pick from to put in my backpack or equip when going on a mission? How many slots do I have for carrying items on a mission? Whatâs the second icon to the left in âbody slotsâ (the one with a silhouette and some sort of hierarchy)?⌠May be a tooltip when hovering these would help.
Then, (from the demo) if I select this bazooka which I believe is in âmy backpackâ (is it?), I can equip it to what seems to be the âsecondary weaponâ. Here, I believe it would be good if when you click to drag, the slot in which it can be equiped would highlight. Or else, just right-click (or something) on item to directly equip in appropriate slot. Once equipped, the item in the inventory should also have some visual fx which shows itâs equipped (vs unequipped). The first and secondary weapons could be aligned or one under the other (in my opinion - design thingy - personal opinion). I think first and secondary weapons could do with a title (âFirst weaponâ, âSecondary weaponâ). The âdismissâ text to close the panel could be replaced by just a cross/close icon.
Todayâs sunday is âMotherâs dayâ here in Switzerland and Iâm still working on the release of my scene as well; so I donât really have the time to draft a visual representation of the above comments.
Hopefully my explanations arenât all too mysterious and you understand (at least part) of what Iâm trying to say here? âŚElse, 'chat with you later and meanwhile, have a great day
Yep, Motherâs day here as well. And a sunny sunday. And she even got me some cake. My mother is the best (Well, everyoneâs mother is the best I guess).
No, not at all! If I leave you that puzzled as a player, I fâed up big times. This needs to be improved. So thanks mawa for giving me your feedback. I will be back and I am going to impress you like I never have impressed anyone before⌠(lol, keeping the pressure up. I cannot possibly f this up now. )
Update: v0.0.4
Bloody new effects (there is more to come )
Music: SOUND AIRYLUVS by ISAo https://airyluvs.com/ (OGA BY 3.0)
Next iteration of inventory (not final iteration)
AI upgrades
Check it out now
https://jokrgamedev.itch.io/demo-town-tactics
Do yell at me if something sucks or drop a feature request!
What happened since the last version:
- Cleaned up and restructured inventory (thanks @mawa)
- Tooltips over inventory slots (thanks @mawa)
- Ctrl right-click on inventory items to quick-move (thanks @mawa)
- Swap button for main-hand and off-hand inventory slots
- Highlight related inventory items of the selected item (e.g. compatible ammo of selected weapon)
- Spam clicking on item could prevent draggable clones from being cleaned up
- AI knows what choke points are
- AI can sneak up on you
- Figured out that you can store data in vertex colors - mind blown
- Speaking of which: Head shots
- More variations of blood splats
- Bigger blood splats
- More blood particles
- Gibs on walls
- Destruction debris in 1 draw call
- Started cleaning up âobservables messâ. Now a bit more declaratively and unified interface with mediated callbacks. Should lower risk of bugs.
- Pixel perfect camera switching (between Arc- and Universal camera)
- Some laggy effects are secretly prepared and will not interupt animation sequences anymore
- Substantial progress in designing/building strategic gameplay loop (not public yet).
Nice update !!!
âWouldnât it be super cool to have a fancy screen, instead of this âboxâ, showing you why the mission just ended and listing some exciting stats and achievements?â
Looking great, and very polished (no obvious bugs).
Ok, I might have been a bit lazy here⌠I thought I could get away with it until I publish the Stategic gameplay layer. There you will get a proper debriefing report. But I can add something nicer for the meantime.
Fluffy soft particles
Before (hard transitions on ground/shack/character)
After (fluffiness +200%)
Based on simondev
Huh, now this went surprisingly well:
Thanks to @phaselock and for the simple tip to just google for âvfx trailsâ
FYI, in the video that is not a real trail. It is a ribbon with a texture that gets scaled on u. Still needs some proper fade out (shader) effect.
Do you need multi-shots/repeating shots? Trail mesh currently does not support it, I forsee use cases where having the trails reset as needed might be as useful to reduce the pool of bullets+trails, ie, savings on resources and bandwidth.
You mean multiple trails in one mesh (/1 draw call)? That would be sweat
But to be fair, all the bullet stuff (and effects) I just createInstance/dispose on-demand. No real impact on fps. But then again it is not that I spawn in 1000 bullets more like 10 at max.
Oooh no wait. There could be cinematic gameplay states where a bunch of characters fire at each other at once. This might get stressful on fps!
You can already do this via shader. What I meant by multi-shots/repeating shots are like the SMG or Uzi in, say, Call of Duty where there is a sudden burst of bullets at a target. The norm is to use object pools for tracking each bullet, reducing bandwidth from object creation/dispose.
hmm, you are right. For turn-based, there wonât be many bullets on screen at once.
Currently, when a bullet resets and fires again, the trailmesh may not yet have caught up to the new position of the bullet causing visual artifacts. I think I will add a reset
method to the trailmesh class.
Sorry for the confusion!
Hey Babylon team, sorry to bother you. May I please ask whether I did do anything wrong? Can I fix this somehow?
This happens when I click âreplyâ:
nah might have been a spam in the answers chain on the post so the forum is trying to prevent over trolling but nw to answer
Update: v0.0.5
New name âX-Town Tacticsâ
Fluffy particles
Smudgy smoke trails
Flashy swing trails (first NME graph)
Explody grenades
More head/face variety of player characters
New team mate
Check it out now
Do yell at me if something sucks or drop a feature request!
What happened since the last version:
- Name upgrade: it is now âX-Town Tacticsâ
- Mission end screen (not an alert box) with some combat stats (thanks @oriongu)
- New mechanic: scanning the environment for useful loot. (Gets more useful once Stragegic gameplay loop is available.)
- New item class: grenades
- New actor class: wheeled/tracked robot (not animated yet)
- New modular (cosmetic) head components: head, hair, beard, accessories (e.g. cigar)
- Projectile impact effects (e.g. explosion of rocket)
- Smoke trails of bullets (1st iteration)
- Swing trails of melee weapons (1st iteration)
- Added some depth to bloody decal sprites
- More bloody decals on wall on heavy hits
- AI can detect bunched up player characters
- AI can use grenades
- Warmup phase to reduce âfirst-timeâ-lag by secretly rendering all meshes once
- Can detect stuff that is hanging or standing on other stuff
- Further improvements to player controller
- Accidentally spawned 50 physics explosions instead of 1 when blowing up walls (got to love Havok for shrugging this off all the time)
- Wrong UV assignment when adding to debris mega mesh
- Camera went slow poke under some circumstances
- Actor occlusion overlay was still broken - now using raycasting (needs some further fine-tuning)
- Huge architecture refactor: split game into separate loading, init and running stages. Groundwork for saving and loading savestates.
- Even huger scene state refactor: now hierarchical main states with cross-cutting effect states and declarative capability lifecycle states (what a bitch to get right but necessary because it got too messy).
- Overhaul of actors, stripping some dependencies. Actors are not limited anymore to humanoids but can now be robots, turrets or six-legged elephant-giraffes.