Cas: voxels!
Dan: Been busy the entire day and that doesn't seem to be changing very soon...
Cas: booo
Dan: booo indeed
Brian: https://cdn.discordapp.com/attachments/380372019251773444/384622340991877121/modified_terrain.zip
less polygons
need to get a really good color palette figured out
I can grab a bunch of colors from the various other games
rott and so on
then things can be painted like a war game proper
where's the current color palette for the terrain at?
Dan: I think we use the MagicaVoxel default right now.
Brian: ok
Dan: All terrain models need to use the same palette
Brian: if Chaz is not going to work on it soon I'll get started on making a new standard palette for now
I'll be pulling from his older colors anyway
Dan: So I can pull the palette from any of the .vox files.
Brian: it's the one in bin/floor at the moment?
nope
Dan: Hmm?
Each .vox file has a palette included.
So all walls and all floors have palettes
that need to be identical.
Brian: hmm
I edited the files in the vox folder not the bin folder
Dan: You did roght
Brian: wrong colors

Dan: It's using the default palette
Brian: should be this

is there a place I can change the default palette file?
Dan: I think it's hardcoded right now...
Can fix in maybe 20 min if you want.
Brian: alright
that would be helpful but not urgent
if you ever need assets just ping me
I'll build a list of colors next
when I can set the palette the engine uses I'll move back and forth to make sure everything looks right after editing the voxel files
it would be useful to have some of the floor tiles set to common and other tiles to be rare maybe
when you generate the world all of the geometry is stitched together?
in chunks?
just the changes I made to the voxels as it make the game runs at 60FPS for me now zoomed out where before it was around 40FPS
the floor is still too detailed as are the smaller walls
Dan: All tiles are merged together.
Brian: the big grounds of terrain might be better if they are built from a few very large shapes with smaller shapes attached instead of lots of smaller walls put together
Dan: I recommend comparing the triangle count in the title bar.
Cas: hola
the RotT colour palette is not the best place to go looking as it's rather customised per-level
Brian:

Cas: using colour tints
Brian:

Cas: so is the current Battledroid scene - there are tint colours applied along the axes
so you want a relatively sane but varied set of colours
and bear in mind they have to accomodate everything from rocks to ruined villages and farms to castles and fortresses to the interiors of futuristic Droid Assault style bases
not to mention... animated palette colours
eg. blinking light sequences
and emissive pallette colours as well
so figuring out a final pallette right now might not be er particularly easy
(nor hem hem as important as doing TCB)
Brian: all of the magicavoxel features for those going to be supported?
Cas: materials?
Brian: or already are?
Cas: no
we're not doing transparency
Brian: ok
Cas: but we will do emissive
Brian: I'll need to know which features I'm allowed to use
Cas: which will basically just be done with massive HDR colour values & bloom
we were talking about bump mapping the other day though
Brian: are animations already supported?
Cas: no mobs in there yet no
just plain models for scenery so far
Dan: We got support for importing animated voxel models but no rendering for anything but terrain so far.
We got support for importing animated voxel models but no rendering for anything but terrain so far.
We got support for importing animated voxel models but no rendering for anything but terrain so far.
....... god
Cas: (uh... that message just appeared 3 x)
Dan: Yeah shitty 3G...
If you want you can add a dedicated palette .vox file.
I can read the palette from there to make it easy to swap/update it.
Brian: dedicated palette vox or png would work for me
Dan: How would a png work?
Brian: yes
well
Dan: 256x1 pixels?
Brian: you just get the color based on index
yes

Dan: Either works for me pick what's simplest for you.
Brian: png then so it can be opened in other tools too
Dan: Alright.
Cas: hmm
but... HDR colours.
Dan: Add one and commit it and i'll add it soon.
Oh...
Cas: Or are we going to use a hack and just apply 100x brightness to a subset of the colours
Dan: .vox does support HDR emissives.
Cas: well it'd probs want to support that then
Brian: it's a property of the voxel isn't it?
not the color?
Cas: no it's the colour
you specify a material for a palette entry
Dan: It's part of the palette.
Cas: glass metal or emissive
(or plain)
Brian: okay then a segment of the palette is for those markers?
Cas: well if we do R2G2B2...
that's like 4x4x4 colours 64
so a quarter of the palette can be dedicated to plain colours
and cover most uses bearing in mind we have a lot of tinting and lighting going on we don't need many shades
Brian: figure out how many colors I'm allowed and I'll make it work
Cas: try with that layout first and see how it feels
<mumbles something about sRGB that Dan can fill you in on>
the remaing 192 entries we'll reserve for future things such as emissive colours (8 of those perhaps) attachment point markers animated palette entries (various sequences) etc
could conceivably bump one or two up to 3 bits instead of 2...
if you had the choice which two would they be?
R3G3B2?
gives 128 colours and therefore still plenty for special things
er
no wait
R3G2B2
Dan: OK I got a keyboard now yay.
sRGB shouldn't be something that needs to be concerned about.
Colors should just be looking more correct than if we didn't use that so that's all.
You usually assign extra precision to green as the eye is much more sensitive to green than anything else
so R2G3B2 would be the best in that sense.
Cas: ok
Dan: However since we're using HDR it's a very good idea to avoid completely pure colors.
Cas: well 000 would be 0.01 etc
or whatever
Dan: Yeah at least SOME amount of each color should be in everything.
So don't set a color to exactly 0 but rather always use a little of each like a minimum 5 or so (out of 255).
If a color is exactly 0 it won't converge to white under extreme illumination.
That may be useful in some rare cases for emissive colors but should be avoided for the (diffuse) normal colors.
So what do we do with the palette?
Make it .vox for supporting emissive colors eventually?
Cas: .vox format probably most sensible as can then easily tweak it in Magica
Dan: Alright then
Brian: where would be best place to put builds for testing? a battledroid secondary Steam depo?
Cas: it'll probably be a bit more fiddly than that as the actual generation code was just a hack to work with my stupid rocks
me playing around
best thing to do would be to dropbox voxes
and let me just sorta play with them
Brian: ok
Cas: the project itself is under our SVN called Voxoid
Brian: I'm hoping to be able to do large setpieces which can be rare too
Cas: I'm hoping to crowdsource lots of stuff like that 😃 the world is massive 300k+ territories
Brian: user generated content support?
Dan: The engine supports placing large voxel models anywhere in the world up to 255x255x255 I think.
It's not limited to a tile grid or anything like that.
Cas: hoping for steam workshop stuff one day yes
although I'd rather not use Steams features
as I don't like them
I'd rather people made stuff for us and we sold it direct 😃
Dan: Something something genius
Brian: could do it Dota2/TF2 ish where people must follow style guides to conform to world theme then can get approved to add to the main game with enough votes + review
Cas: i'll have to see how it goes with Patreon.
Dan: I guess MagicaVoxel is simple enough to learn for random people to make some simple stuff.
Cas: there are some amazing artists on Twitter posting things
I'm keen to see what I can get even if we have to pay for some of it because Chaz can't possibly make all the art in the world
but first things first...
cards!
Brian: paying to add assets is a good model too but you would still want people to follow a style guide
Cas: Chaz will be the final arbiter
or maybe he'll tidy stuff up
(or haha just redo them :))
meantime though we need to keep working on the voxoid engine to get all the things in it we want
Brian: ah
Cas: fix up the SSAO performance etc
Brian: then that's the Path of Exile model for items
https://pathofexile.gamepedia.com/Custom_content
Dan: Can you commit the simplified wall voxel models?
Cas: excellent
Brian - drop the voxes in chat here for Dan to look at
Brian: https://cdn.discordapp.com/attachments/380372019251773444/384622340991877121/modified_terrain.zip
Cas: you not at school today dan?
Dan: I was for around 20 minutes.
That being said I gotta work on projects for now
but can get you simple fixes and such if you're held back from working due to something like palette loading not working as intended.
Should have a little bit of time in the afternoon/evening to actually work.
Brian: I can work on other things at the moment
Cas: there's no rush we need to decide what we're going to show Patreons in 2 weeks is all
and Brian's gotta get TCB into shape so we can announce it!
after we've announced TCB we can switch to a slightly more relaxing 3-week cycle coz we can release things for each game every week
Brian: ya
Cas: can I lure you on to Trello yet Dan?
Dan: Maybe tonight?
Cas: ok
all i need is your email address
Dan: I haven't used it much at all before though.
Cas: it's a piece of piss youll love it
Dan: Go with [redacted]@hotmail.com
Cas: hotmail lol
ive added you to Puppygames team
there's a few boards we have
you'll be interested in the Battledroid one
Dan: 6 130 000 tris 286 FPS ---> 1 883 000 tris 440 FPS
from the new voxel models.
Brian: nice it can be improved more still and made to look really good
Cas: the floor will be almost completely featureless
that'll improve it immensely
Brian: yeah
Dan: The reduction in triangles is immense.
Brian: flat with varied textures with some rare features
Cas: yep
Dan: Yeah go nuts with coloring.
Cas: also bump mapping...
Dan: Surface coloring doesn't force the renderer to break it up into multiple triangles.
Cas: maybes we should get that in in the next 2 wks
Dan: It can still render it as one surface.
Brian: bump mapping would look cool for hard surfaces but with slanted angles on the terrain
you would probably want a larger texture for applying that
not small textures
apply the bump texture over many ground chunks
would have to test to see what works well and looks good..
Cas: it will be mapped in world space
and probably at a resolution 2-4x the actual voxel res
we will do experiments and see
need to get Dan to code it 😃
but we are in thrall to the Trello board
must focus and not get distracted
and be realistic
cards! etc
Dan: Adding world projected normal maps shouldn't be too hard.
Cas: let's have a chat tonight about what to do for next 2wks then and get it in Trello
Dan: Sure.
I'd like to point out that I got most of my school work (3 projects and possibly an exam) during the next 2-3 weeks so we'll have to keep that in mind. =<
Cas: exactly - let's not overload you just pick something sensible to do that we can show off and not overreach
Dan: Cool.
Talk to you later then.
Cas: kk
voxels!
so...
what to actually do this fortnight then?
Dan: Right let's talk in this chat not general. xd
>I'm afraid I got more schoolwork lined up now but what should I keep working on from now on?
Cas: well behold Trello
Dan: Right we can check that out now.
Cas: subscribe to the entire Batledroid board
Dan: Board not found. =<
Cas: and also subscribe to each list
whaat
Dan: Board not found. This board may be private. You may be able to view it by logging in.
Cas: you accepted invite to Puppygames team?
Dan: I got an invinte?
invite*
Cas: sec
forgot to send it 😄
Dan: I got an account
Oh
Battledroid appeared
Cas: yep
so there it is
Dan: Magic didn't even know I already had a trello account
but I vaguely remember using it for a school course in my first year or something.
Cas: well you're now a member of the Puppygames team on it too
Dan: Yay
Cas: we need to decide what we can realistically do from the Backlog list inside 2 weeks
Dan: What's Melting Pot?
Cas: ideas that we need to talk about
then either discard or put in backlog
stuff in the backlog is stuff we're probably going to do
things at the top are highest priority
though currently theyre unsorted really
Dan: I can add cards?
Cas: yep
anything you like
put it in the melting pot
and we can talk about it
or straight in backlog if we already have 😃
Dan: hehe
I added a clean up the code card as you can prolly see
Cas: yep changes come through instantly
Dan: What's Product Done?
Cas: stuff we've completely completed
Dan: B-but SSAO isn't done yet...?
Cas: the hacky version is
theres one in the melting pot fancier SSAO
how about doign that next?
Dan: There's a couple of things that need to be done.
>fix radius bug >fix MSAA + SSAO >add double scale SSAO to get the best of both worlds >possibly work on blurring as well
Cas: k...
there
Dan: Optimizing the lights is a basic thing that we really should do.
It's mostly some cleaning up of the code to work around a couple of hacks I added.
So it's a good thing to do before we move on with more lights.
I'm assigned to those now?
Cas: yeah 😃
you need an avatar...
Dan: Code cleanup also added to sprint?
Cas: hm guess we could yes
Dan: What exactly does the sprint cathegory actually mean? >___>
Cas: a sprint is a 2-week chunk of work which we try to do everything in
we don't want to overcommit
what else could we get done in 9 or so working days?
(bearing in mind, we want to show it off to Patreons, so stuff they can see is best)
Dan: Vignette is super simple to add as it's just postprocessing.
Cas: k
Dan: I also don't think that shadowed point lights are that hard to add with the shadow map code in and all.
Cas: yeah but... we currently have no need for them
so they don't have to happen at all
Dan: [11:11 PM] princec: (bearing in mind we want to show it off to Patreons so stuff they can see is best)
But alright.
Cas: they won't see the difference between them and the cone light
bump mapping would be nice...
ive got a bump map we can use for the floor for example
Dan: I can experiment with it if you want.
Just try to apply a bump map to the entire floor or something.
Cas: well... one voxel colour or whatever
guess we'll have plenty to talk about with that
Dan: My idea for doing the normal mapping is to have a texture array of normal maps preloaded
and each palette entry has a normal map index.
Cas: yup - one per palette
aye
just hard code it
palette colour 1 = bump map layer 1
etc
Dan: One normal map per palette entry is a bit harsh and could affect performance very heavily.
so going with an index is better I reckon.
It may be simpler that way though.
Cas: hm
actually no
Dan: It depends on the resolution you want for the normal map too.
Cas: coz ground say uses like 5 colours but only one bump map or 2
resolution should be about 2x the res of the voxels say?
32x32 in a tile
and we'll use 128x128 say
Dan: I think ahving more than that is a good idea or we'll get filtering artifacts within a tile.
I think 128x128 is too low as well.
We'll get obvious repeating artifacts.
Cas: hm
no we won't!
Coz the cone light makes it look different from all angles
It's alreayd in Battledroid now in 2D
hm
Dan: Hmm we'll see I guess.
Cas: though I do mix up the tiles
so maybe not
Dan: Anyway I can at least do some experimenting.
Get you a quick preview of how it would look.
Cas: kk