SamSuka
Puppygames
Puppygames

patreon


Transcripts

25th November 2017

Cas:   voxels!

Dan: Been busy the entire day and that doesn't seem to be changing very soon...

Cas: booo

Dan: booo indeed

27th November

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


Transcripts

More Creators