3D TileEditor

Started by iWasAdam, February 02, 2018, 08:30:40

Previous topic - Next topic

iWasAdam

Still no game decided, but the editor is coming along...


in essence with items, you have 4 of them with 16 positions and a rotation on 90 degrees. you then pick the item and the color. with 2 sliders to add bump and mix the texture. this gives lots of options for each item.

I'm working my way up the list - lights are next to be tackled. the UI will remain similar, so if you know how to use the color picker - then it will remain the same each time you see it.

I think this is more interesting as you can see how a game is created. in this case it is a very defined tile-based system. The tiles have to be designed, the code written, the editor created to give the data to the end game - when dev actually starts on it.

iWasAdam

#1
not yet, just a progression of already completed work. There is no game as such, it's currently an editor. Some of the concepts were developed using BlitzMax oodles of years back, but never made it past concept.

Lighting system now being worked on.
Here's a peek at the first 4 light types:

from the left going clockwise:
- BigFire
- Torch, with a green flame type (the lighting matches the green
- Fire - this is really just Torch but sitting lower - could possible add a height slider here... Hmmmm
- Lamp - this is not actually shown, but you can see it is a magenta light at cell 2,4

I'm going to do some visual light fx searching to see about different light effects, and see about adding them as needed.

iWasAdam

Lighting coming along plus other fx. This is 3 mist objects and a big fire:


The mist objects don't have any light, they just pick it up from the big fire (which is green).

I've added a height parameter for the lights/fx so they now have more control.

For those of a technical interest - this is a single pass forward renderer, not a multiple frame buffer one!

iWasAdam

latest editor pic

shadows now replaced with dressing - things like grass, etc. These will also have animation added to them.
shadows will be automatically handled.


iWasAdam

mmm. For todays indev shot. It's all about the tiles.


This shows a single tile with a brownish T junction, single light and 2 columns.
This tile can now be rotated 90 degrees, so there are 3 duplicates showing each rotation, and keeping all the contents correct.
There are no light blockers or shadows being used, but it's starting to show promise

iWasAdam

Hmmmmmmm. Editor sort-of working now and I can really start to brainstorm some concepts.
But here's a little something I just come up with in about 10 minutes (so this is just a feel...):


It's a prototype Colorado Lounge... From "The Shining!"

Here's the inspiration:

iWasAdam

OK. Still not any firm film ideas, but getting close now...
Editor now has fx added to the lighting for rain, snow, etc.
Here's a peek of torches with shadows, rain with lightning and mist:



Next step is to take the base tile code and make different tiles. these can then be put together to form locations. which means the start of a game

iWasAdam

it's about breaking things down into steps - think lego!

OK. Here's the first look at the (now operational) layout page (just 2 tiles are being used, a cross and a corridor):


You can see there is a grid of 11x7 - this is the 'table'. You select a cell on the table and then a tile and a rotation.
The UI is a bit clunky at the moment, but the buttons enable/disable and are all fully functional.

The key thing here are the tiles. They are being displayed correctly, with the proper rotations, colors, FX, etc

iWasAdam

Here's a second one showing different lighting and also light 'blockers' being used


the green corridors have blockers on both sides, so light wont come in or escape. if you look closely at the border between the magenta and green tiles you can just see a line where the lighting wont cross - this is the blocker.

Light will bleed around blockers though. so a door for example would allow some light to bleed through (when opened)

iWasAdam

For todays pic. It's all about the UI and User interaction:


So the green thing is your position, and the white (pulsing) things are the possible positions you can move.
Base code is in, picking responds with appropriate movement...

iWasAdam

First look with the edit menu hidden and showing 4 created 'tiles'. 2 tiles each have a single torch light. Light Blockers have been added to the tiles as well, so light/shadow propagation is being shown as well.


I think this is the first time I can say this is what I thought it would look like, but needed to put everything into place to prove it could be done, so that's a good start ;)

Also the one thing that is starting to show is the visual style. With everything starting to look 'similar', you have to work harder to stand out as 'different' in some way.

iWasAdam

OK. This has the all the dev stuff from the Jan 2018 competition relating to the 3d tile editor.

This is being developed and will be used for the basis of the entry:


Which is based on the Film "The Towering Inferno". There may be a separate thread for this game.

Currently this will show progress of the editor itself.

RemiD

#12
since i have worked on a game using 3dtiles, i have a question for you :
do you think about pathfinding and occlusion culling when you are creating your maps, if yes, what is your approach ?

iWasAdam

interesting. I have done a number of pure cell based (cellx,celly) games and occlusion was always an issue. This is mitigated by using 3d - you could possibly use 3d for 2d stuff as well?

Pathfinding is the easy bit. There are a number of good approaches:
- A*. great from going from cell 1 to cell 2 in simple steps
- Dijkstra is really good if you can find a very fast way of creating the maps
Heres a good link showing these in operation:
https://www.reddit.com/r/roguelikedev/comments/74knrh/path_finding_animation_in_2d_maze_using_4_common/

The other approaches are generally based around moving towards the player in some way.

Finally there is the node approach. where rooms have nodes and you can just travel from one base node to another - these can be good if you also throw in some random elements.

With tiles I am using a block of 4x4 as my base unit, plus additions, dressing, types, etc. This means I don't need to work at the cell level, just with a predefined set of 4x4 tiles.
The concept is solid and works very well with D&D, WarhammerQuest, and a number of other room based systems,

iWasAdam

OK. I Lied. Here's another pic.
This time you can see some newer models - the liftcore:


You can actually see the editor being used here and also see how it has already been extended.
Only one tile is being used, but it is replicated 3 times (each with a different rotation) so you can see how things look at different rotations.

You can also see that we are at 61FPS. The FPS drops when the editor itself is open, but goes back to a solid 60FPS when closed. This is in DEBUG MODE. Running without debug gives a static 60fps regardless of what is open.

You are also getting the 1st person view. It's certainly atmospheric and you can see how the Inferno game will possibly look...