(January 2021) Monthly WIP Screenshot Thread

Fighting game in progress - Added Japanese voiceovers, billboard sprites for hitting and text, health bar, custom camera management, 60 seconds timer limit and slow motion in dramatic moments.
The Ninja model’s Blender project is about to be contributed to JME’s store as soon as I find a way to reduce its texture’s size. The target is to reduce the overall size of this GLTF model to 25 MB or less

14 Likes

The latest progress of porting the game 《counter-strike online》:



Screenshot of the original game:

14 Likes

Looks cool :+1:

Any chance for showing us a video?

Also, about the second screenshot, is it on phone?

1 Like

Next time the entire video is uploaded to youtube, this game is developed for android. :slightly_smiling_face:

5 Likes

I like what I see. Hope I will find some time this year to go on working on my hobby project.
@adi.barda is it intented, that the camera sometimes is below the ground ? Maybe there should be a defined minimum on the Y (?) dimension ?
@JhonKkk the second screenshot reminds me the guys in public transport after late shift or on my way to early shift especially on weekends.

1 Like

Looks really good!!

1 Like

No. I will need to address that

Here’s a little something for you to put in your games.

12 Likes

Working on a block plotter script that I can feed it a 2D island texture (procedurally generated with this tool) and get a voxel map out.

Here is an early test. Borders are yet a bit buggy :wink:

Input

output

next going to add the water.

6 Likes

Maybe this is useful to you:

A spherical layer + a Fractal Sum layer will get islands very similar to that.

…and if those results are pleasing, those two layer types have super simple math to generate them.

Edit: easier links:
http://mythruna.com/MapMaker/MapMaker-20120204-Windows.zip
http://mythruna.com/MapMaker/MapMaker-20120204-Linux.zip
http://mythruna.com/MapMaker/MapMaker-20120204-MacOSX.zip

Edit2: examples of what I mean after 10-15 seconds of clicking:

I can provide instructions on how I got there… the parameters are a bit of an art. The terrain can also get much more realistic than that with different fractals, layering, etc…

6 Likes

Thanks :slightly_smiling_face:

Will take a look.

Note: the tool saves/loads an XML descriptor of the model and I think a .raw file that goes with it… which is basically a raw dump of 1024x1024 elevations.

…but if you like the results of just the spherical + fractal sum, it’s about 5-6 lines of math to recreate that in code. I can share if needed.

1 Like

I started a quick test application to see how JME3 is. I’ve been working on a remake of a 80’s RPG in Java using LWJGL3 library. I wrote it from scratch over the last 3 years.
I’m not a game programmer, started in the 80s with C and assembly but ended up writing business software. Never wrote a game before, never had the need for the advanced math a game needs also.

The last year, I’ve not had much time to work on anything. With the crisis going on it has been hard on the business and then on top of that we have been hit 3 different audits. All kinds of business and governments are trying to find money they lost from all the lost revenue this year to make up for the millions and millions caused by the shutdown.

So I decided to try and make a simple game to get use to JME3, to see if I wanted to switch my game over to this engine and see if it makes life easier. Not sure over the 3 years, the engine has many features that JME3 but of course it leans towards my “Not so real 3d RPG game”. 80s games where not true 3d game. So basically everything is a billboard kind of, Just a bunch of quad with texture mapping on them.
The engine I wrote is code complete and is beta testing. But I have been leaning towards JME3 for months now.

SO I took the last 2 weeks and wrote up a REMAKE of the 80s TimePilot. It is 85% complete. Would have been faster, but the learning curve to figure out how to write correctly for JME3, was a learning curve. The tutorials, are okay but written by someone that know the system and like most tutorials today DO NOT explain WHY things are done certain ways, or alternatives. These are options that actually teach a person instead of HOW TO Video. I think a lot has been lost in the actual Tutorial arena that happens on YouTube and etc…

Only two things left out are High Score w/names editing and Squadron launching. Everything else is completed and mostly tested.

So far I’m liking what I see, expect for what it was not designed to handle. Like this game it really is a 2D game in a 3D World. I used 3d world with the camera above the plane. The plane just like the original game, doesn’t move, everything moves around the plane. If you know the game it had 3 layers for clouds, I just used 3d spacing over 0, -5, -1 for the layers. Simple solution.
I didn’t want to use the GUI layer to create the game.

I just wish there where more 2D features. Like better Sprite sheet support, I know there is Atlas Sprite and a few people have done other things. All a bit complicated for me. I just took the Lighting shader and copied it into my project and add 3 variables that handle sprite sheets. NumCols, NumRows, textPos. A quick math and you can adjust the textcoords to draw only what you need. No need for all the other stuff, something I like.
The other option is texture flipping for horizontal quads textured objects. (Never located an option). So I just altered my lighting shader to support a new variable. HorFlip. It indicate horizontal flip or not. So simple to just do 1 - textcoord.x. This draws everything in reverse.

The last things was a progress bar based on texture. Saw many just based on a color, but the original game had “Planes” for the progress bar to indicate when the Boss will come out. It only draw so much of the bar and so sometime only partial picture will be draw. Since this was a Gui item, I took the unshaded shader and add a new variable progressBar. It holds a value from 0 - 1. Then checked is textcoord.x > progressBar to discard pixel. This way my horizontal progress bar that is textured shows up draw correctly, with part of the right hand chopped off and still using Alpha values.

On the ideas above, if you have better faster solution, I would like to hear them.

Here are some screen shots using JME3.

PS. Tried upload multiple screen shots, but “New Users” are not allowed to upload more than on screen shot per post.

8 Likes

Not sure if new users are limited when using imgur or something like that.

It stopped me. I didn’t try multiple replies to see if it is just one screen shot per message.

Second Screen Shot.

4 Likes

Last screen shot.

8 Likes

Automated Anti-Spam immune system. A very short time of normal forum interaction will clear that restriction.

BTW, your ‘Time Pilot’ looks delightfully retro-primary colors. Is that emulating CGA 16-color?

Not better really just different: everything you described could have been done in the mesh.

The advantage of custom materials + material parameters like you’ve done is that it’s easy. Easy to make, easy to think about. Just spawn a new object with its own material and set some parameters. 5,000,000 sprites, 5,000,000 separate objects and separate materials.

And that’s the disadvantage. With a mesh based approach you can batch it all into just a few meshes and then just manipulate the parts. The down side is that it’s not as simple to code from an “I like to play with separate objects” perspective.

JME’s BatchNode can help with the mesh based approaches but can feel a little too magic when things don’t work exactly right.

Thanks for the idea. If I move forward on converting my RPG game, batchNode is perfect for this. It is a 3D dungeon with very simple Meshes, They are just Quads with same just about 6 different materials. Each dungeon can be up to 16,000 meshes with out frustum.

Simple game like Time Pilot, is not an issue, Objects are in constant removal in the game and with only having about 60 meshes on the screen to render at a time, there is not a GPU that can not handle it.

But the RPG is a good fit. I download the samples from GitHub and I’ll check it out.

1 Like