I need help with the setup of a scene

Hello, jMonkeyEngine developers!

I’m currently developing a game (or, well, rather a very early version of it) for my bachelor thesis. It’s a collectible card game and it’s got the camera perspective of games like Heroes of Might and Magic III or King’s Bounty: The Legend (see here and here). I want it to be generally 3-dimensional, so it should look more like King’s Bounty (although I won’t be able to provide nearly as fancy graphics).

Two things that are important in this context are that the floor can have different heights and units are allowed to stand on a higher position than others, so there have to be hills which only occupy one slot of the battlefield. Secondly, there are terrain modifications like forests that have to be displayed and units are allowed to occupy these slots, too.

My current objective is to set up the first battle scene for my game and I don’t really know how to start and what’s best to use. My current approach would be to create the rough scene in Blender - mainly the floor and the hills, although that wouldn’t allow me to create these hills dynamically in jME. The next step would be to create models for e.g. trees and bushes and add them either in jMonkeyEngine or Blender (can I add them in the scene composer and load the whole scene including objects like trees later in the game?). Does that sound reasonable for you? Like I said, I’d like to create the hills dynamically, too, but I guess that’s not really possible once you load a scene with a terrain, is it?

I’m probably very confusing here, mainly because I’m confused by myself at the moment. I hope someone can do anything with it. I don’t need a guide on how to create all these things, I’d just be very grateful for someone saying “yeah, that sounds good” or “no, dude, that’s pretty silly, you should do it that way: […]”. Thanks in advance to everyone who’ll try to help me :slight_smile:

Hi.
I’d take this approach:

  1. Create a heightmap of the scene you would like to make. This makes it easy to edit and it’s transferable between different tools. (Heightmaps are described in the doc section if you’re unfamiliar with them).
  2. Break down the scene into a grid of suitable size. It could be one-to-one to the heightmap resolution, or smaller. If it’s smaller, let the grid cell have the average height of the heightmap pixels contained.
  3. Assign “terrain types” to the grid cells (possibly in a Tile or Grid class). The types can be forest, grassland, desert etc.
  4. Have a “generateFeatures” method in the Grid or Tile class which loads and places suitable models on the terrain.

Hope it helps!

1 Like

Hmm.

What I’d do is to have small, low poly models of models of mountains that you can place on the hexes. This can be done dynamically provided you have some way to store the hex and what models it contains (units + terrain mods).

To make it fit better with the rest of the map, the base of the mountain could be the same texture as the hex board, so it “blends.” Also have various models of mountains to give more variation.

I think an approach where you only affect one hex at a time rather than growing a huge mountain in the middle of the board, is more suitable. It’ll also add to the visual aesthetic of the game and keep a unified style (since units will occupy only one hex).

Good luck, and post some WIP too :smiley:

Huge thanks to you, guys! I like both of these approaches and I’m sure both of them will finally help me in doing that whole stuff (as soon as I know how to use Blender, of course…) - I’ll probably stick with the easiest option for my bachelor thesis (because I’ve got only one month left and don’t know anything about modeling), but I’ll change the whole thing afterwards anyway.

So again, thank you (: