(November 2019) Monthly WIP Screenshot Thread

Continuing the infinite-world/position-plotter libraries, I’ve added grass, flowers and trees. I’ve published the world-pager and position-plotter libraries to github, but note that they are in alpha right now, meaning the API will most likely change.

I haven’t uploaded a demo of them both in action (the screenshot) yet - but will do so hopefully over the next week.

16 Likes

I started adding solid terrain and so I wanted lighting. Used SimFX sky and atmospherics but for some reason it thinks everything is hazy. Still have to sort that out.

…but it looks cool anyway. Note: I’ve exaggerated the terrain height 10x so that the normals are easier to debug:

Edit:
Pro tip! mat.setBoolean(“UseMaterialColors”, true);

The joys of coding: I got the TriangleStrip code working on the first try other than that the winding was backwards (easy fix)… but then spend way too much time tracking down a missing boolean flag. Problem was that I went straight from Unshaded to ScatteredLighting… if I’d stopped at Lighting.j3md on the way I’d have found this instantly. Instead I kept think it was planet scaling, elevation, or some other weird math problem.

Edit 2: More baby steps… got a collision shape for my terrain and loaded the car from TestFancyCar.

It’s just free-wheeling right now so it rolls around a bit on its own because of gravity.

Next is to connect up some user input and add a chase camera… but that will have to be later as I need to do ‘real life’ stuff now.

Note: terrain is scaled x2 height because it’s more interesting than the mostly flat low-res terrain.

11 Likes

I had some time Sunday to hook up some controls, a chase camera, etc… took a little of tweaking to get the car even barely drivable. I’m not sure the bullet vehicle will work in the end but maybe there is some magic that I’ve yet to find.

Here is a video of my driving around my town:

In the beginning, I’m even driving at speeds that I’m familiar with on those roads (faster than legally posted though they might be). A real car is WAAAAY easier to drive and a slight nudge to steering doesn’t cause a real car to totally spin out.

I’m still hoping I can salvage some fun here, though.

9 Likes

I don’t know how you construct the roads, but maybe add kerbs/walls/etc so you’re more inclined to drive on the road? Then you can pick a random point and set it as a waypoint to drive to.

These roads don’t have curbs in real life either.

Control issues are related to the bullet car. It’s very touchy.

I just want something that’s fun to drive around and I’m using this data to test the car because it was already there and I know the roads well. So far it’s more stressful than fun.

So… apparently the default friction slip for the wheels is like 10.5. The docs say “0.8 is a normal car and 10 is a kart-style racer”. The TestFancyCar that I copied from leaves the front wheels at their defaults and sets the back to 4.

This was the cause of almost all of my control issues basically. I set them all to four now and the car is waaaaay more drivable. I can even recover from a skid, etc. like in a real racing game. Also, simply turning the steering wheel slightly doesn’t ‘brake’ the car anymore… that was the weirdest thing before.

…now it all makes sense.

I wish I could figure out why it doesn’t work at all with jbullet because I had my eye on making a double-based jbullet for fun. Not worth the trouble for the native version.

I may have to make another video soon because it’s way more fun to drive now and I can let the car go full out on our local tollroad and it’s pretty neat. I need to add some other cars to pass and stuff. :slight_smile:

3 Likes

Funnily enough I planned to provide an example of how to add my vehicle demo cars to a game and include a couple more cars. Hopefully you can just drop those in and drive away.

1 Like

Made lots of tweaks to the driving. Added some creature comforts like a speedometer, brake lights, etc… and put some other cars on the road driving regular road speeds (for these roads). Put the terrain scaling back to normal:

It starts to venture into actually being fun. I’m still not sure it’s what I want.

Things I’ve noticed… physics randomly glitches. Sometimes the car is hard to control under the same conditions under which it isn’t. One thing that concerns me is that if the physics debug is turned on, the car’s collision shape seems to slide around relative to the car. It could all be related.

Mostly, I have no trust in BulletAppState. I’m essentially using off-the-shelf JME classes for this. I’ll worry more about the glitching if I get this to the point where I use the ECS and the SiO2 bullet integration which will improve things greatly. (This is also why the other cars on the road seem to jitter because they aren’t physics controlled by the camera is directly set by a physics object. With bullet running in a separate thread, we see some frames where the object won’t move at all if we aren’t at exactly 60 hz… where as the non-physics controlled cars will move smoothly.) I also had to account for that in the speedometer which is why it lags by a second or so.

5 Likes

I’m not sure if this is some kind of deterministic action or something, but the shape basically moves in the direction of its velocity. It kind of looks like its one frame ahead of the model or something.

I’ve noticed this occurs when the suspension settings are “right on the edge of wrong”. The only way I have managed to tune suspension is via a GUI - it’s really sensitive - or rather the range that it works is quite small.

1 Like

Used the open street map data to show some wire frame buildings. No height information so I just guess based on type.

Imgur

I also added a quick-and-dirty “inside the car” view by creating an inside texture with the windows cut out. Poor quality because the model is of poor quality to begin with… but effective enough:
Imgur

You can also look around in any of the car views and switch between views… here I’m looking left to watch that car pass:
Imgur

Edit: I hope to get to try some of jayfella’s models soon.

17 Likes

Still not abandoned project

20 Likes

I’m having fun with Alweth’s RyzomConverter

you can too:

Image derived from Ryzom Asset Repository, licensed CC-BY-SA 3.0. @Alweth is acknowledged for authoring the conversion software and providing it free of charge.

10 Likes

Chromium (cef) in jme.

Obviously the idea is not to use it to render normal webpages, but as a game ui.

15 Likes

Dayum, that looks awesome! Not sure how useful it would be for game GUIs as desktop and game UIs usually differ a bit, but for displaying websites it would be awesome!

Well the idea would be that you could create gui’s and animate them using whatever html tools exist out there. I think the rockstar games all use html for the gui’s for example.

Had some time to add solid buildings… with atmo scattering, too:

Again, I’m just taking the OpenStreetMap data and guessing at heights based on building type. Some building types are “yes”… so there is little that I can do in those cases. (Many of the parking garages in this picture show up as one story buildings… kind of funny. Parking there is bad enough already. :))

12 Likes

Here is another video from the progress of work - a fragment of the newly created dungeon level, a mob with added fire effects (you should already know it) and improved group behavior.

10 Likes

I wrote a very simple game using some assets imported from The Saga of Ryzom, mainly to see how easy/difficult it would be. The game is now part of Ryzom Asset Demos, available for free from the JMonkeyStore.

The screenshot is derived from the Ryzom Asset Repository, licensed CC-BY-SA 3.0.
@alweth is acknowledged for authoring RyzomConverter
and providing it free of charge.

9 Likes

Finally got some time this week to work on my physics engine some more. Over the summer, I gave up on getting joints to work properly (just too unstable in this type of physics engine). As a fallback for 90% of what I needed, I refactored to support shape hierarchies that I’ll later be able to animate.

It’s been a long slog through math but I finally had a chance to work out some of the details and I have it working at least with block shape to sphere collisions. (Block shapes to blocks shapes is tomorrow’s job.)

Why would I want collision shape hierarchies when I already have block shapes? For things like this:

I originally wanted to use a hinge joint but the top was just too unstable and technically unnecessary. An animated joint in a collision shape graph will get me most of what I need.

Here is a view where I’ve flipped it over:

I’ve spent too many years on this particular path so I need to start wrapping things up into something usable. This will get me most of the way there and let me salvage most of the desirements for my physics engine.

8 Likes

From what I’ve done toying with physics collisions it seems like one big bag of corner cases after another. Not fun at all but ultra rewarding when it clicks into place.

Kudos man. That is hard.