JevaEngine - Underground

Hey, I just wanted to show off a game I am making with an isometric game engine I am working on in Java - primarily deployable as an applet. All graphics assets are credits to OpenGameArt.

The engine consists of a Map Editor, Dialogue Editor, the Core engine and the RPG Engine extension as of now. It implements JavaScript as the scripting engine for NPCs\entities and is easily extensible into an RTS or RPG.

Some of the latest features of the engine I can remember:

  • Fully Scriptable, scriptable scenes, events & NPCs (Scripts are written in JavaScript - go figure)
  • Centralized Server Networking Implementation for Online RPG Games. Entity scripts, world triggers etc work seamlessly off and on server.
  • UI Is entirely skinnable and customizable - Jeva Core provides a solid infastructure for most general UI components.
  • Basic particle engine (implemented primary for attack\heal\projectile effects so not too fancy, but can handle ~30000 particles on the very low-end machine I develop on)
    -Entities can save states and reload states (essential for game saves). States are can be saved on an integrated back-end that works over GameJolt API for Achievements, Scoring and Cloud Saving
  • Fully capable quest system & dialogue system (dialogue can be complex with various pathways which effect any internal variables of the character (i.e. moral))
  • Most of the engine is entirely extensible - with logical partitions in implementation logic between Java and external scripts.
  • Map Editor & Dialogue editor
  • Dynamic lighting and scriptable weather subsystem
  • powerful debugging console - very powerful user interface via scripts to engine. Both through the console and entity configuration files.

kNLXVcxmFSM

pmf7vrsz0TY

O___________________O

How much did I just read…

Lol. It’s a log, you don’t have to read it all.

You can just ask me if you have any questions - I just put the log there because I thought it might be interesting to some.

I had some spare time, lol ;D

But you might want a short summary of what you’re actually talking about to avoid tl;dr responses.

Yeah, you have a good point. It is an exhaustive read that is neither well summarized or presented alone. I am finalizing a few features right now - when I get that done I’ll upload some solid gameplay footage for it & better improve the description. Until then, it’s all night ahead with a solid cup of Java (Coffee)

Thank you for your detailed informations. OpenGameArt is a nice source of free 2D and 3D artworks. You can post your game on the Java Game Tome too.

What do you mean, tiled?
I don’t like the swearing in the game, delete it

I pressed Ctrl + F and searched for the text ‘tiled’ in my post, and I can’t find it. I don’t know where you got it from.

I am not going to delete cursing in a video game of which I administrate on your account - if it is offensive to forum users here and is a violation of forum guide-lines I will sensor it from the forum (actually, I’ll probably remove such material all together since it isn’t worth my time.)

Haha you dont know what ‘tiled’ is? You have got a lot to learn bud…
Ok, cursing in a game = bad game for me, so I will dodge this topic from now on…

I normally don’t respond to trolls, but I feel like my point about cursing is a general point worth making.

It isn’t that I don’t know what tiled means, it is that you asked:
“What do you mean, tiled?”

I interpreted that as, “What do you mean when you say it is tiled.”

To which I responded “I didn’t say that it was tiled.”

We can argue interpretations here, but the fact is that you haven’t constructed a proper context for that sentence and that obscures its meaning.

Cursing allows one to develop character and express emotion in that character. Now, I’ll admit that I am not a great writer (I am a programmer not a writer) - but before you argue cursing in writing with me, please take it up with Stephen King first, than maybe we can talk about it.

This game is dark in nature, so before you get offended by the cursing you may want to take a second and look at the big picture.

Unacceptable attitude, seriously. You’re going to go to someone’s else’s WIP topic and just order them to removing cursing from the game? And then you chastise them for not knowing something on a forum that’s supposed to be for learning? I don’t want you on this forum.

Apologies @Jeremy - most people here are not as arrogant or rude as Herjan. If you have a question, most will answer it helpfully.

+1 to Jimmt.

I loved the scenario, seems really fun!
I would just would say to you implement a flame thrower and hm, make it bigger so the black borders dont show up :stuck_out_tongue: ( i guess that goes without saying :(,sorry )

But i really liked it!

It’s alright, I know that generally this is a great forum. I’ve been lurking for a while lol.

Thanks for the reassurance though.

@Andre Lopes Thanks for the feedback. When I created that map I hadn’t yet done the optimizations required to render larger maps (I haven’t started optimizations till yesterday). With the latest optimizations I can render much larger maps so the boarders aren’t a problem anymore.

Entities can now have their states stored and recovered via scripts. This is particularly useful for the player, where there inventory has to be saved\recovered inbetween loading worlds.

Since the filesystem implemented assumes read-only access to resources, states are loaded via a particular component of the filesystem and general resources like sprite sheets through the other. This partition is intuitive as it allows one to implement state management systems that work with a cloud or server. This will be useful for when I want to store game save states onto the GameJolt cloud.

I didn’t have the time to develop a larger map to show off optimizations, here is the latest play through of the game.
BEWARE Strong language - and poor writing - ahead.

kNLXVcxmFSM

I’ve done tons of stuff today:

  • Implemented a basic particle engine for blood\projectile\healing effects
  • Added Character menu screen that shows level\equipment
  • Fixed several UI bugs (actually, mostly this week I have been profiling and tracking down bugs)

It is a quick particle engine implementation, it can handle ~30000 until the lag gets pretty bad. I can optimize in a few places but I won’t bother because I won’t have more than >1000 particles on the screen at any point in time with the game I am going for.

Anyway, here are a few clips of the particle engine in the game doing some stuff - they still need a bit of fine tuning:

Attacking (Blood effect):

Medium amount of particles

Absurd amount (15000-30000) particles on the screen:

I’ve implemented some cool new features (mainly dynamic lighting - you don’t see it until the end because there are a few bugs I am working out of it) I also improved the combat system a bit (you’ll see me use two different weapons - both of which are scripted)

Course Language & Animated Blood in the below video (the blood particles on the main menu was just some testing with the particle engine - I do intend on removing it)

Quite interesting. :slight_smile:
Did you mention the underlying graphics library ? Sorry, this thread is a bit too messy.
Another target technology beyond Applets ?
Applets are dead…

You’re right this thread is a complete mess. Lol. I’ll work on cleaning it up.

It is using Java2D - I’m going to try and stay at Java2D unless I really hit a brick wall in terms of performance (I’ve had to jump through a few hoops, do some trials to determine the quickest route to get something done in Java2D but its worked out so far.) Especially since the machine I develop on is really low-end.

Applets are dead - but I think Java is killing them with all those bloody “Your computer will explode if you press okay - DONT PRESS OK” warning messages that pop up. I’m still thinking about how I’ll deploy the game - but I think I’m going to give applets a try.

IMHO applets are really a waste of time and effort. The amount of potential players gets reduced to a fraction near zero.
Nobody will install Java just to play another Indie game.

The JRE is a requirement either way.

There really aren’t any special requirements to get a java application to run as an Applet (aside from the obvious tendency to avoid the need for elevated permissions etc) so I’m not too afraid to target an Applet and then swapping to a different method of deployment. Keeping dependencies short wherever possible.