Future: Showcase Video/Game

Sometimes bad things need to happen before change happens.
We’ve been thinking about quite some time on how to make jme more popular again, because currently we’re a really small niche.
We’ve formed the idea of showcase, but back then I could not gather enough momentum, no one really cared.
Now things are different, so I thought I’ll give it a try again, this time involving the entire community.

My idea was to release a high quality engine showcase video proving that we’re more than just a PlayStation 2 engine, graphics wise. I thought we can combine this with an actual game (so the video is just a screencap), where we show off the whole ecosystem. The game will be Open Source, so everyone can see how those things are achieved.

My plan is to make it like these theme park rides, which ride slowly through some scenary and you don’t even know where too look at because there’s so much to discover and then you hear a sound, turn around, and see a lot of other different stuff. Combine this with like some kind of museum style with different rooms.

You can either move around as you want or you can use the automatic mode (which is for the movie), which will just move the camera for you.

For one room, I’ve imagined some kind of bloom showcase, based on TRON. You are in a completely dark room, but [I don’t know how yet] some motorcycles will pass you bye very closely having a bright colored light with bloom, leaving a trail. The light will really bloom over a lot. Apart from the bloom, this will also be a showcase for jmePhonon which is a SteamAudio binding, kind of like hyper-stereo.

Then I imagine another room, where monkeys are about to discover fire. You see monkeys and hear some far thunder and upon entering the room, a lightning strikes their wood and they start jumping around confused and you hear loud thunder and maybe some full-screen quad flashing. Here we’ll see effekseer fire probably but certainly for things like the smoke, maybe even some kind of slight fog. We will also see animation for them and have phonon again, like you can hear them scream if you get close to them (and if not you hear reflections and stuff, the fire, the thunder, you know.).

Now what about you:
In general what do you think about this? I know it will be a big project and assets are key, which most of you aren’t professional with, but I guess it’s important for the future and a big sign. Our current assets/screenshots just shine a rather bad light and the video might be seen by potential new users.
There’s been discussion about that the engine code/API is problematic, but that’s for another story and given the success of 3.0 which had all these issues, I guess we mostly lack marketing at first.

Can you commit an idea or two? Maybe you can also think inversly, how would you bring in project x.
For instance we should bring in Minie, I think we can have some ragdoll fun, maybe also something with terrain and realistic 4x4 vehicles, maybe some jungle? Who knows. Bring it on!

I guess that can be a really interesting project on multiple fronts (we’ll learn about issues with jme, build up a documentation on how to achieve X and Y, work collaboratively and see what’s possible already).
And maybe we are even lucky enough for paul to compose some music :slight_smile:

13 Likes

Sure. I’ll wait until the visuals and stuff are started to make some that fits.

3 Likes

i like the idea :+1:, its not easy project, since for Marketing purpose, the graphics need look professional.

the TRON idea is really nice.

Could help with some PBR showcase(scene since we only had Hovertank Test one…) or TRON one
Generally almost everywhere we should use PBR imo.

i think we even should show Community libs in actions(like you mentioned some in your post), since some of them feel like part of the Engine. like Minie and PBR Terrain or AO Parallax.

not sure if we will gather most interested ideas or not, but will share own ideas too:

  • [Recent one that could help jme-vehicles lib] A Vehicle with cloth physics on it, drive through ragdolls.(on collide) - kind of Minie stress test
  • PBR Showcase - find really nice Metalness Car on Sketchfab for free.
  • A dark room, all time Ambient changing / DL changing, and in Center, Table(or just lay on ground) with little PBR Terrain of yaRnMcDonuts - we can use https://cc0textures.com/ for textures of terrain
  • Room with wall of Ricc AO Parallax bricks. (in center of Room there could be some rotating column to show feature even more.)
  • A room like in known “deadruns” when you need go via obstacles that try make you fall or something.
  • A room with physics based particles(there was lib) - smoke that go out from room doors

Generally, for project overall, IMO need nice looking PBR models. There could be others too, just to show.

Here are some of my suggestions(we can search for them together):

There are many Free CC-attribution / etc models

Please note we need to choose ones that are not from(made based) on some film/game, probably could, but im not sure, so need care - so if someone know if something is some game/film based or just cant be used due some specific law, let know.

(sketchfab.com/3d-models/130-d9485f5360224e9dbaafd24b2eec0f1a)
28k tris

(sketchfab.com/3d-models/hover-bike-0c6162f865dd497fb2f6d025945d05dd)
9.3k tris - (For a TRON room, just need make glosiness → invert to roughness and little metallic setup)

(sketchfab.com/3d-models/wild-west-motorcycle-6038a0b13fbe434f901af27fec8391ab)
37.4k (but its based on some game/video i assume?)

(sketchfab.com/3d-models/9-mm-5124e7fe60fb4d3ab62460609d23f365)
3.7k tris - (for FPS room showcase)

(sketchfab.com/3d-models/sci-fi-sniper-rifle-2d1bef3aa9ae47c5aee26cc3f032ab31)
31,2k tris - a lot, but it will be near camera so. for FPS showcase
(attribution, but - “Feel free to use but please remember to give credit to Hakob for the concept.” also)

(sketchfab.com/3d-models/wooden-table-acd1cef307b94803846d624b251a4e63)
300 tris

(sketchfab.com/3d-models/blue-eyeball-free-18915d2f17a2431fbefeb3eaf4411f16)
1.3 tris - could be used in some crazy scene where Eye is always looking at player and animated to change eye pupil to be bigger and smaller depend how close player is.

(sketchfab.com/3d-models/dieselpunk-hovercraft-43fcdb424fe749ae8a576e9b29983d8a)
6.4k tris(would just need provite more credits about 2d artist too)

(sketchfab.com/3d-models/handgun-animation-059f0191761341db815816bafc3e79a4)
14.9k

There are many ideas, but we also need to know assets for them (if need). Thats what i mean.

We also should’nt use many of assets, just some, but good ones to show it can look really nice.

5 Likes

I say a github repository with many small/medium games rather than or in addition to that one big show case. Those games will serve also for testing/templates/kick starters for others to use.
We should have all kind genres - racing / fighting / open worlds / space shooters, platformers even 2D. Worlds pulled out from OSM etc. And also benchmarks - games with many objects / huge worlds / extreme physics etc to prove that we can cope with high class games.
Let’s start a Game Jam at ITCH.io with a restriction for using only JME3 engine, maybe set a small prize too to attract more developers…

WDYT?

4 Likes

Actually me and Ricc thought about it like a year ago, but the idea kinda died off. We came at a conclusion that the best solution would be a sci-fi corridor leading to air-locks which would then load rooms with different effects . Much easier to start, build and maintain. Many model could be brought from BlendSwap

2 Likes

What about Paul’s Space Bug project? :slightly_smiling_face:

2 Likes

This is a very good idea. If the player cannot move but just look around we can reduce the complexity a lot and we can build better scenes and interactions, since we know from which perspective the player will see them. It will be also possible to easily convert it to a vr experience.

We can integrate the two ideas. We can have a railway to which the player is connected, that passes through everything, and have interactions, buttons, etc to open doors, pickup objects… If you have seen the oculus rift introduction tutorial you know what i mean.

I think this is very feasible, if we encapsulate the logic into modular controls as much as possible, everyone who wish to partecipate can write their own control without interefering with (or knowing) other people code.

We can agree to have a bunch of common controls that share important infos (eg. CameraControl that has head position, view direction etc) and then have everyone submit their additions as form of selfcontained controls and spatials.

The downside of this is that some code might be duplicated in controls made by different people, but it’s an ok price to pay.

4 Likes

We can integrate the two ideas. We can have a railway to which the player is connected, that passes through everything, and have interactions, buttons, etc to open doors, pickup objects… If you have seen the oculus rift introduction tutorial you know what i mean.

I were trying to find some assets for it, here are some that might help:

Modular assets - so can be created any way

First one looks nice i suppose(i assume floor reflection could be done with shader):
[SF Hallway - Download Free 3D model by Alex Ace (@luckysalt) [9a57302] - Sketchfab]

[Top Down Scifi Industrial platforms - Buy Royalty Free 3D model by rakshaan (@rakshaan) [8624542] - Sketchfab Store]

[Space Ship Hallway - Download Free 3D model by yeeyeeman (@yeeyeeman) [e97dce0] - Sketchfab]

here is not high tech, but also could be used as non-si-fi:

[Victorian era-inspired modular environment - Download Free 3D model by Ignacio (@tasius) [e5d9e13] - Sketchfab]

[Victorian era-inspired modular environment kit - Download Free 3D model by Ignacio (@tasius) [e69f66e] - Sketchfab]

I think it’s a great idea, especially now that the engine has the new animation system and good pbr support.

In my short experience trying to market my game, better animations and good PBR scenes seemed to be the thing that got the best feedback, and unfortunately I got primarily negative feedback about the graphics before I switched to PBR and started to use more models from skilled artists, so I think its also a good idea to use lots of creative commons licensed models on sketchfab like you mention.

But I think now JME could make a really nice demo video if we use its full potential.

I could try to get my decal & decal effect system worked into the project some way. I have mostly been dragging my feet releasing it because I made the code when I was new to JME and its not the cleanest nor easiest to use, but it works enough that it could at least show off some nice graphical effects, and that could also give me a reason to tidy it up for a clean release sooner rather than later.

We could do something like a scene where a large entity like a dinosaur gets struck with a blunt object, and has a bruise/blood decal applied to them and then add puddles of blood on the ground to match some blood particle emitters spewing out of the wound.

2 Likes

Fine with me, but the real issue is who is going to start it and supervise it. Also don’t think big. The keywords should be ‘minimum viable product’ for starter.

3 Likes

If this is how you plan to do it, then it could be a good idea to set some milestones, and release a new video with each milestone. Then you can focus on making just the first 1 or 2 rooms really nice for the first milestone/version.

1 Like

Note: another idea for a “connecting” scene would be an overhead rail train car or something. Like at the beginning of Half Life… that enters transition tunnels between the apps. In the interactive mode, it could stop at stations that let you off.

Entering the tunnel could completely drop the previous scene and load the next ones and the tunnel entry/exit points could just float in space for scenes that were more outdoors… but it still supports indoor scenes, too.

Also, the automatic fly through mode is pretty straight forward in that case.

I liked the sci-fi corridor idea also but it seems like you’d need to have ‘air lock’ style areas if you want to have scenes load/unload… and I kind of think that in the long run, that’s probably desirable.

Scenes could be structured as a single root app state that’s attached/detached during the tunnel transition. That app state could add and remove whatever other child states it wants. It could even use something like CompositeAppState for this. SiO2/CompositeAppState.java at master · Simsilica/SiO2 · GitHub
…since that allows easily building a single app state that more or less acts like an application with default setup and teardown of the children.

I think whatever the approach, someone (not me) should take lead and create a basic version of the connector app with the transitions in place for easy hook-up. That would let folks their modules in the right ‘environment’.

Note: for movement, you guys could also use something like SiO2/MovementState.java at master · Simsilica/SiO2 · GitHub
…which allows pluggable movement handlers to be switched on the fly.

For my part, if you guys DO use Sio2/Lemur/etc. stuff, I promise to be extra-responsive to bugs/feature requests related to this project. Other than music, a few ideas, and maybe some random bits of assets, “responsiveness” is about all I can contribute. (Hmmm… I guess that already sounds like a lot of things.)

5 Likes

Hi guys,
I agree with @adi.barda on the implementation of many small sample projects with the restriction of using only JME3 Engine which you can easily download from the official site where you can find all the necessary documentation. “The product you advertise must be clear and easily accessible and must convince everyone can use it.”

I would propose to take inspiration from the tutorials promoted by Unity and create a project like this: FPS Microgame - Unity Learn. It is based on a ‘Doom’ style FPS, with

  • Simple movement mechanics and modular and customizable weapons.
  • An inventory to change weapons.
  • Enemy AI based on basic behaviors such as patrolling, chasing and attack.
  • A pretty challenging boss fight.
  • A basic system of collecting ‘items’ such as ammunition and health.
  • Modular and customizable levels and game objectives.
  • To complete the picture a very simple and intuitive GUI, sounds, particle effects and shaders.

With this project you can illustrate many basic concepts used by most video games and demonstrate that the implementation challenges can be easily overcome with this engine

Alongside this project I would certainly add a project based on the physics of vehicles like Rocket League Questo è Rocket League! | Rocket League®.

And finally lots of small videos based on jme-test use cases.

I think this is a good idea but is separate from what this thread is discussing. Perhaps it needs its own thread?

The thing is, that game templates are actually a LOT of work to do well. It’s a good idea but it’s not the same thing that the big showcase is trying to do.

The showcase only has to look pretty. It doesn’t need to be pretty.

Code templates need to be easy to understand, well documented, etc… That’s a lot more work than slamming some AAA-level assets together with some existing libs and making something that looks cool.

The show case is meant to show people that JME can do more than PS1 style graphics. Code templates would be a teaching tool.

3 Likes

You’re right too, I didn’t understand the mission’s goal well :sweat_smile:

I think whatever the approach, someone (not me) should take lead and create a basic version of the connector app with the transitions in place for easy hook-up. That would let folks their modules in the right ‘environment’.

Yes, you are 100% right, need simple “connector” first for all Demos, so others could use it while creating rooms(or use it in separate demos if it gonna go @polinc way).

Its not like we have a lot of time(since we dont have), so agree, this project should be minimal as possible, but in same time maintain good graphics and show capability/libs/possibilities. It is not small project, but if we will properly split it into “Tasks” where each task can be done by single people, then its very possible. Thats why i like “connector” idea, if we would want separate Demos, then anyway i think similar way like some “basic” code to extend would be nice to lower production time for each Room.

@capdevon And yes need what you say, but Templates are different topic, we have jMonkeyEngine Templates · GitHub
But would also need much more advanced templates than just “startups”.
But again, its different topic.

Here we just want show a Nice Demo that show JME can have awesome graphics, and have nice libs/tools that allow you make really good games. For example physics is also very important.

Agreed. “Looking good” is in fact the very highest priority. To me, a ‘scene’ can do whatever ugly and/or unsanctioned things to look good… as long as it fits in the connector framework and plays nice there.

If:

  1. no one has put something together by Sunday night
  2. I finish my water prototyping this weekend
  3. folks are ok with Lemur as the UI and using a couple SiO2 utility classes

I can take a hand at putting together an initial connector app with a couple dumb placeholder examples of “open space scene”, “open terrain scene”, “indoor scene” as example placeholders to show how those would connect. (Like, literally blue cube equivalents of those.)

It would use the tunnel idea but could be adapted to anything with an ‘air lock’ style concept where ‘air lock’ length could vary based on load times.

3 Likes

Maybe I can help with the new animation system (if that is going to be used) plus animating (using mixamo.com animations) a bunch of humanoid characters from Skecthfab.

3 Likes

Those models

I see you are a man of great culture :thinking:

3 Likes