#Tabletop Games

1 messages · Page 5 of 1

bitter kayak
#

It's meant to be formal

#

But in what context

worthy sparrow
bitter kayak
worthy sparrow
#

It is all done by code

bitter kayak
#

But what he did was he replicated a bunch of cards on Y and them seperated them by individual cards and finally randomised transform on Z but can add X

bitter kayak
manic topaz
# worthy sparrow what

I think the suggestion was just to add a bit of random rotation so the stack isn't so perfect looking.

worthy sparrow
manic topaz
#

I have no idea.

worthy sparrow
bitter kayak
#

It's telling that each one has to move to only two positions

worthy sparrow
manic topaz
#

Why do you want it to always be specific?

#

And, uhh... I believe you can do that in a few specific ways.

worthy sparrow
manic topaz
#

You could possibly set the specific seed, that might work.

#

You could pregenerate all the numbers you need and just put the list in the code.

worthy sparrow
worthy sparrow
#
    private float[] predefinedRotations = new float[64] {
    -0.0167f, -0.0980f,  0.0650f, -0.0403f, -0.0263f, -0.0613f,  0.0132f, -0.0677f,
    -0.0751f, -0.0134f,  0.0124f, -0.0651f,  0.0106f, -0.0290f,  0.0916f, -0.0817f,
     0.0957f, -0.0176f,  0.0008f, -0.0704f,  0.0438f, -0.0620f, -0.0317f, -0.0953f,
    -0.0321f,  0.0935f,  0.0958f,  0.0489f, -0.0993f,  0.0880f,  0.0742f,  0.0542f,
    -0.0642f, -0.0801f, -0.0171f,  0.0771f,  0.0156f,  0.0473f, -0.0535f,  0.0047f,
     0.0419f,  0.0650f,  0.0614f, -0.0535f,  0.0746f, -0.0567f,  0.0604f,  0.0110f,
    -0.0628f,  0.0177f,  0.0036f,  0.0917f, -0.0917f, -0.0672f,  0.0967f,  0.0664f,
    -0.0699f, -0.0542f,  0.0078f, -0.0686f, -0.0352f, -0.0901f,  0.0423f, -0.0843f
    };```
worthy sparrow
manic topaz
#

You need 52 numbers, so you just have a random generator give you 52 rotation offsets and then add them all to an array in your code.

#

Or however many.

#

Then you just have it check the rotation for the array given the number it is in the stack.

#

Completely consistent rotations for every stack.

manic topaz
#

Not bad!

worthy sparrow
worthy sparrow
#

This is how I "draw" textures

manic topaz
#

Okay.

bitter kayak
bitter kayak
#

The rotation can be more exagerated to make it more believable with multple players

bitter kayak
#

On uno people don't care to position their cards corrects as well with any card game

worthy sparrow
bitter kayak
worthy sparrow
#

It isn't worth the hassle

bitter kayak
#

Well it's more of a wasted feature

manic topaz
#

I think there comes a point where you're adding too much code for too little reward.

#

And it sounds like for Dana this is that point.

bitter kayak
#

I don't care the difficulty as long as it's rewarding

manic topaz
#

I don't disagree.

#

I'm just saying.

#

There's a balance to everything.

#

Believe me, I know about little details. I added such a thing to how the fruitpress works, haha.

bitter kayak
#

The thing I hate about gaming is that a lot of gamers don't care about small details

worthy sparrow
manic topaz
#

When I was messing with the fruitpress one thing that I did was make it so that you could release the screw at any point, but in order to maintain that same "screw it all the way down to juice it" functionality I made it so that it will only squeeze out as much juice as you have screwed it down. So, say, 50% screwed down gives only 50% juice.

#

But I went a couple steps farther, and made it so that when you unscrew it will stop squeezing, but for a second or two a bit of extra juice will keep dripping out.

#

And I made it so that the rate at which juice flows out of the mash is dependent on how much juice can flow out of the mash.

#

Think of how wringing out a rag gets a lot at first but a little after a moment.

#

So effectively it rushes out quickly but slowly the amount lowers until it's only dripping out near the end.

worthy sparrow
#

I'm even using the same colors as actual pigments from the game

manic topaz
#

All this to say, I get that little details can be important.

#

And I think Dana does as well, honestly.

worthy sparrow
#

Red is cinnabar and black is carbon black (coke, charcoal)

manic topaz
#

But I can imagine various code and design reasons why the random rotation might be a bad idea and only the one reason why it's good.

worthy sparrow
#

I'm yet to add different shapes for held cards

bitter kayak
bitter kayak
# worthy sparrow

It's quite straight up and slighty that doesn't compesate the messiness the players play

bitter kayak
worthy sparrow
#

Playing card interactions are implemented through ground storage

#

Any card game is played inside ground storage, no exceptions

#

The only problem is I have no idea how to rotate first placed card

worthy sparrow
bitter kayak
#

It's unnecessary

worthy sparrow
#

I mean rotate it facing to player

bitter kayak
#

Nvm

worthy sparrow
worthy sparrow
#

I forgot to write that I fixed this issue

manic topaz
#

lol

#

Fair.

worthy sparrow
#

Now I need to implement logic for placing cards upside-down

worthy sparrow
worthy sparrow
manic topaz
#

Nice

worthy sparrow
#

The first card has too much cards

#

I probably better remove both symbols

#

I think for a lot of cards i could also remove rank and suit and show only pack instead

#
"tabletopgames:itemdesc-playingcard-symbol-rank-{rank}-{color}",
"\t",
"tabletopgames:itemdesc-playingcard-symbol-suit-{suit}-{color}",
"<br>",
#

Card symbols (for discord search)

worthy sparrow
#

For crafting recipe I would need to add a pack of cards

#

It would disappear and give deck of cards on right-click like scrap weapon kit

#

Also shuffler

#

So three new items, playing cards are one of them (because it is technically a single item)

worthy sparrow
#

@bitter kayak The main problem with random rotation is possible cheating like this

#

I have yet to figure out how to make your own cards render as blank cards for other players

#

Because third person view exists

worthy sparrow
#

@manic topaz Do you know where I can find inventory server events?

manic topaz
#

No, sorry.

bitter kayak
bitter kayak
worthy sparrow
bitter kayak
#

You should have any idea about the concerns and concepts when it comes to debugging (hopefully)

worthy sparrow
#

I can't find a way to place flipped card

#

I can do that when you stack cards on each other though

bitter kayak
bitter kayak
#

Why it didn't work

worthy sparrow
worthy sparrow
# manic topaz No, sorry.

What is more intuitive for tool modes?

  1. Left / right mouse click for adding card before or after another card (52 cards = 52 slots)
  2. Empty slot between every card (52 cards = 104 + 2 slots)
#

X is card
O is "empty" tool mode

  1. XXXXXXXXXXXX
  2. XOXOXOXOXOXOX
worthy sparrow
worthy sparrow
manic topaz
#

I have no idea.

old crown
#

I think traditional card art is fine. As far as cheating, have you considered a “hand” item? A special group of cards a player holds could hide the cards. Then you don’t need to add any more logic to the cards themselves to make them hidden. (I don’t know how viable this is.) SS13 does a similar thing with card “hands” to obfuscate contents and make drawing/playing cards less cumbersome.

Also how do you switch cards to all of the suits/values? I feel like using tool modes as chess pieces do will let players cheat by changing their own cards.

#

Also would it be possible to eschew a shuffler item and just allow players to shuffle decks with ctrl(or shift)+mb2?

worthy sparrow
worthy sparrow
old crown
#

Ah, cool, okay.

worthy sparrow
#

Cards are just one item

old crown
#

well, depending on the game you're playing, you could have a hand bigger than the size of the quickbar

#

however I understand it might not even be necessary

#

my thought was that the cards could be obfuscated in the hand and the player holding it could right-click to see the cards

#

or something

#

¯_(ツ)_/¯

#

I apologize if the idea isn't helpful

old crown
#

ah ok

worthy sparrow
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

It's more if the cards you play no matter the direction it will always play be faced on you

worthy sparrow
#

Insane hack to make flipping of cards work ```cs
[HarmonyPatch(typeof(BlockEntityGroundStorage), nameof(BlockEntityGroundStorage.putOrGetItemSingle))]
public static class putOrGetItemSinglePatch
{
[HarmonyPrefix]
public static void Prefix(BlockEntityGroundStorage __instance, ItemSlot ourSlot, IPlayer player, BlockSelection bs)
{
if (!player.Entity.World.Side.IsServer())
{
return;
}

    bool flipCard = player.Entity.Controls.CtrlKey;
    ItemSlot hotbarSlot = player.InventoryManager.ActiveHotbarSlot;

    if (flipCard && hotbarSlot?.Itemstack?.Collectible is ItemPlayingCard card)
    {
        PlayingCardInventory cardInventory = card.GetInventory(hotbarSlot.Itemstack);
        if (cardInventory.Empty)
        {
            hotbarSlot.Itemstack.Attributes.SetBool("flipped", true);
        }
    }
}

}```

worthy sparrow
#

If card has other cards on top of it, you get them the same way as if they were placed on table

bitter kayak
worthy sparrow
bitter kayak
#

Just another small detail

worthy sparrow
old crown
#

Could you make the cards sit straight if you put them in the center spot of the ground item? It seems fine as it is, I'm just wondering.

old crown
#

understandable

dense elk
#

this looks great holy crap! I can't wait for our first server poker night

worthy sparrow
#

@bitter kayak ```cs
public MeshData GenContentMeshForHand(ItemStack itemstack, ITextureAtlasAPI targetAtlas)
{
MeshData contentMesh = null;

    PlayingCardInventory inventory = GetInventory(itemstack);

    if (inventory.Empty)
    {
        return contentMesh;
    }

    float translationX = 0;
    float translationY = 0;
    float translationZ = 0;
    float rotation = 0;

    foreach (ItemSlot slot in inventory)
    {
        if (slot.Empty) continue;

        if (slot.Itemstack.Collectible is not ItemPlayingCard otherCard)
        {
            continue;
        }

        if (otherCard.GetOrCreateMesh(slot.Itemstack, targetAtlas, EnumCardPlacement.Hand) is not MeshData containedMesh)
        {
            continue;
        }

        int slotId = inventory.GetSlotId(slot);

        rotation -= 0.1f;

        Vec3f rotationOrigin = new Vec3f(0.2f, 0, 1.2f);
        containedMesh = containedMesh.Translate(-0.5f, -0.5f, -0.5f);
        containedMesh = containedMesh.Rotate(rotationOrigin, 0, rotation, 0);
        containedMesh = containedMesh.Translate(0.5f, 0.5f, 0.5f);

        translationX += (slotId / 1000) + 0.01f;
        translationY += GetStackingTranslation(slot.Itemstack);
        translationZ += (slotId / 1000) + 0.01f;
        containedMesh = containedMesh.Translate(translationX, translationY, translationZ);

        if (contentMesh != null)
        {
            contentMesh.AddMeshData(containedMesh);
        }
        else
        {
            contentMesh = containedMesh;
        }
    }

    return contentMesh;
}```
bitter kayak
#

Is there a cap to holding cards

worthy sparrow
#

5 cards

#

Anything lower is meh (3, 2)

#

wtf (5 and 6)

worthy sparrow
bitter kayak
#

Have you tried to make a experience of you holding cards

#

And convert it into a function

worthy sparrow
bitter kayak
#

The holding cards should narrow the visibility of the symbols when you have many cards.

bitter kayak
worthy sparrow
#

lolcs float GetRotationStepForHand(int total) { switch (total) { case 1: return 0; case 2: return (float)total / 7f; case 3: return (float)total / 11f; case 4: return (float)total / 15f; case 5: return (float)total / 20f; case 6: return (float)total / 26f; case 7: return (float)total / 30f; default: return (float)total / 25f; } }

worthy sparrow
#

Damn

worthy sparrow
#

Card code is way too complex

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

It's when you open creative inventory

worthy sparrow
worthy sparrow
#

16 cards

worthy sparrow
bitter kayak
#

Better but I think you have to release another version if you give them the update to optimise the cards as they can be FPS hungry

bitter kayak
worthy sparrow
#

Limit is 64

bitter kayak
worthy sparrow
worthy sparrow
worthy sparrow
#

Once you have it in any slot or placed

#

It is very fast

bitter kayak
#

Good

#

Since meshes with lots of polygons can be quite demanding on performance

worthy sparrow
#

Vanilla shingle pile has much more cubes

bitter kayak
#

😆

#

How he can do that

worthy sparrow
worthy sparrow
worthy sparrow
#

@bitter kayak

bitter kayak
bitter kayak
worthy sparrow
bitter kayak
#

No UNO?

worthy sparrow
bitter kayak
#

As well as your tabletop game you showed

worthy sparrow
bitter kayak
worthy sparrow
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

You already implemented the chiseled boards with custom hitboxes

bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

I think there's more ways to use cards

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

Another tool mode...

#

It's kinda weird that it's development hell

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

Like stacking them like in mahjong?

worthy sparrow
#

I tried

#

Not technically possible

#

Domino too

bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
bitter kayak
#

Like remove 40, 12, 34, 28

worthy sparrow
#

@manic topaz

manic topaz
worthy sparrow
manic topaz
#

Neat!

worthy sparrow
#

A lot of people are going to see this cringe 💀

#

Card code is literally cringe

bitter kayak
worthy sparrow
#

@hardy adder Could you help with brainstorming card code

hardy adder
#

What are you trying to do?

worthy sparrow
# hardy adder What are you trying to do?

I need help with imlementing AddPrev and AddNext```cs

public enum EnumCardModeAction
{
None,
/// <summary>
/// Take card if mouse slot is empty
/// </summary>
Take,
/// <summary>
/// Replace card if mouse slot is not empty
/// </summary>
Replace,
/// <summary>
/// Add new card before current card if mouse is not empty and Ctrl key is pressed
/// </summary>
AddPrev,
/// <summary>
/// Add new card after current card if mouse is not empty and Shift key is pressed
/// </summary>
AddNext
}

private void ProcessToolMode(ItemSlot slot, IPlayer byPlayer, int modeIndex, ItemPlayingCard mainCard)
{
    //bool ctrlClick = byPlayer.Entity.Controls.CtrlKey && !byPlayer.Entity.Controls.ShiftKey;
    //bool shiftClick = byPlayer.Entity.Controls.ShiftKey && !byPlayer.Entity.Controls.CtrlKey;

    PlayingCardInventory cardInventory = mainCard.GetInventory(slot.Itemstack);
    if (cardInventory.Count + 1 <= modeIndex) return;
    if (cardInventory.NonEmptyCount == 0) return;

    ItemSlot mouseslot = byPlayer.InventoryManager.MouseItemSlot;

    // clone main stack because it is dangerous to manipulate with it
    // also kill inventory to avoid duping whole deck and possible stack overflow
    // main slot should ALWAYS be first slot
    ItemStack firstStack = slot.Itemstack.Clone();
    firstStack.Attributes.RemoveAttribute("slots");
    DummySlot firstSlot = new DummySlot(firstStack);
    ItemSlot[] slots = new ItemSlot[] { firstSlot }.Append(cardInventory.Slots).Select(x => new DummySlot(x?.Itemstack?.Clone())).ToArray();

    int prevIndex = modeIndex - 1;
    int nextIndex = modeIndex + 1;

    EnumCardModeAction action = EnumCardModeAction.None;

.....
}

#
.....
for (int slotIndex = 0; slotIndex < slots.Length; slotIndex++)
{
    bool isActualIndex = modeIndex == slotIndex;

    // Take action
    if (isActualIndex && !slots[slotIndex].Empty && mouseslot.Empty)
    {
        if (slots[slotIndex].TryPutInto(api.World, mouseslot) > 0)
        {
            action = EnumCardModeAction.Take;
        }
    }
    // Replace action - swap mouse with target slot
    else if (isActualIndex && !slots[slotIndex].Empty && !mouseslot.Empty)
    {
        ItemStack temp = slots[slotIndex].Itemstack.Clone();
        slots[slotIndex].Itemstack = null;
        slots[slotIndex].Itemstack = mouseslot.Itemstack.Clone();
        mouseslot.Itemstack = null;
        mouseslot.Itemstack = temp;
        action = EnumCardModeAction.Replace;
    }

    switch (action)
    {
        case EnumCardModeAction.Take:
            {
                if (slotIndex > 0 && !slots[slotIndex].Empty && slots[slotIndex - 1].Empty)
                {
                    slots[slotIndex - 1].Itemstack = slots[slotIndex].Itemstack.Clone();
                    slots[slotIndex].Itemstack = null;
                }
            }
            break;
    }
}
.....
#
.....
switch (action)
{
    case EnumCardModeAction.Take:
        {
            if (slots.Length > 0 && !slots[0].Empty)
            {
                ItemStack newFirstStack = slots[0].Itemstack.Clone();

                // Shift slots left
                for (int i = 0; i < slots.Length - 1; i++)
                {
                    slots[i] = slots[i + 1];
                }
                slots[slots.Length - 1].Itemstack = null;

                // Update inventory
                for (int i = 0; i < cardInventory.Count && i < slots.Length; i++)
                {
                    cardInventory[i] = slots[i];
                }

                slot.Itemstack = newFirstStack;
                cardInventory.ToTreeAttributes(slot.Itemstack.Attributes);
            }
            break;
        }
    case EnumCardModeAction.Replace:
        {
            if (slots.Length > 0 && !slots[0].Empty)
            {
                ItemStack newFirstStack = slots[0].Itemstack.Clone();
                ItemSlot[] newSlots = slots.Skip(1).ToArray();

                // Update inventory
                for (int i = 0; i < cardInventory.Count && i < slots.Length; i++)
                {
                    cardInventory[i] = newSlots[i];
                }
                    
                slot.Itemstack = newFirstStack;
                cardInventory.ToTreeAttributes(slot.Itemstack.Attributes);
            }
            break;
        }
    default:
        break;
}

slot.MarkDirty();
mouseslot.MarkDirty();
byPlayer.InventoryManager.BroadcastHotbarSlot();```
#

I have implemented only Take and Replace currently

worthy sparrow
hardy adder
#

One sec

worthy sparrow
#
public enum EnumCardModeAction
{
    None,
    /// <summary>
    /// Take card if mouse slot is empty
    /// </summary>
    Take,
    /// <summary>
    /// Replace card if mouse slot is not empty
    /// </summary>
    Replace,
    /// <summary>
    /// Add new card before current card if mouse is not empty and Ctrl key is pressed
    /// </summary>
    AddPrev,
    /// <summary>
    /// Add new card after current card if mouse is not empty and Shift key is pressed
    /// </summary>
    AddNext
}```
hardy adder
#

So you want to add a card in the first empty slot?

worthy sparrow
#

In both AddPrev and AddNext

hardy adder
#

Oh

worthy sparrow
#

You can see comments mention Ctrl and Shift keys

hardy adder
#

So you have to get to the next slot, replace it and copy each other card to the next one over

#

Same for addprev but with the previous slot

#

Also checking for edge cases like being in the first or last slot

worthy sparrow
#

Maybe I should also check if last slot is empty

#

Because it would make no sense to move whole inventory if last slot is empty

hardy adder
#

Ah yeah you could move the slots starting from the last

worthy sparrow
#

idk actually

hardy adder
#

I thought you were manipulating an inventory, like moving the cards between different slots

worthy sparrow
#

I just don't know how to do it better

#

@scenic hornet Do you know how to add item between slots?

hardy adder
#

Why not shift the position of the elements after it

hardy adder
#

Copy them and replace the next one

#

So start from the slot after the last full slot, bring in the item before

#

Stop at the insertion point and add the one you need to add

#

If last full slot is the last slot then do nothing

#

Then addprev and addnext need the same function really

#

One just adds before the other after

worthy sparrow
#

I probably should move all logic from first for to for in last switch statement

hardy adder
hardy adder
#

Nice

worthy sparrow
# hardy adder Nice

Now it is mess```cs
for (int slotIndex = 0; slotIndex < slots.Length; slotIndex++)
{
bool isActualIndex = modeIndex == slotIndex;

// Take action
if (isActualIndex && !slots[slotIndex].Empty && mouseslot.Empty)
{
    if (slots[slotIndex].TryPutInto(api.World, mouseslot) > 0)
    {
        action = EnumCardModeAction.Take;
    }
}
else if (isActualIndex && !slots[slotIndex].Empty && !mouseslot.Empty)
{
    // Add prev action
    if (ctrlClick && slots.Last().Empty)
    {
        action = EnumCardModeAction.AddPrev;
        break;
    }
    // Add next action
    else if (shiftClick && slots.Last().Empty)
    {
        action = EnumCardModeAction.AddNext;
        break;
    }
    // Replace action - swap mouse with target slot
    else
    {
        ItemStack temp = slots[slotIndex].Itemstack.Clone();
        slots[slotIndex].Itemstack = null;
        slots[slotIndex].Itemstack = mouseslot.Itemstack.Clone();
        mouseslot.Itemstack = null;
        mouseslot.Itemstack = temp;
        action = EnumCardModeAction.Replace;
        break;
    }
}

switch (action)
{
    case EnumCardModeAction.Take:
        {
            if (slotIndex > 0 && !slots[slotIndex].Empty && slots[slotIndex - 1].Empty)
            {
                slots[slotIndex - 1].Itemstack = slots[slotIndex].Itemstack.Clone();
                slots[slotIndex].Itemstack = null;
            }
        }
        break;
}

}```

scenic hornet
scenic hornet
#

Just be aware that it is still an O(n) operation.

scenic hornet
#

That happens.

#

I have no idea how many times I have thought "who the hell wrote this shit?" only for git blame to point at myself. 😄

worthy sparrow
scenic hornet
dark iron
#

This has playing cards right?

worthy sparrow
worthy sparrow
dark iron
#

Poker with the boys is gonna be so lit

#

Good shit my dude

worthy sparrow
#

40.000 downloads

worthy sparrow
worthy sparrow
worthy sparrow
#

I found perfect sound for unpacking box of playing cards

real chasm
#

Magnus the Red: "Stop. Flicking. Your. Caaaaaaaaaaaards."
Tzeentch: <Long,pregnant pause.> "Flick flick fli-"
Magnus the Red: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRRRRGH!"

real chasm
#

If the Emperor Had a Text To Speech Device. Kitten and Tzeentch Play a Children's Card Game.

worthy sparrow
#

I only need to add ItemShuffler next

real chasm
#

Noice.

#

Can't wait to throw down a Solitaire table.

worthy sparrow
worthy sparrow
real chasm
#

Unfortunate. I'll find other things to do with them,then.

worthy sparrow
#

I probably need to add molds for pouring metal pieces (omok, chess etc.)

real chasm
#

Game of Ur?

worthy sparrow
#

I implemented lower parts of chiseled pieces exactly for this (ok i did it for hounds and jackals)

worthy sparrow
worthy sparrow
#

Once I add shuffler, it will accept only chiseled pieces, chiseled boards and playing cards

bitter kayak
worthy sparrow
#

But it is incredibly hard to do

bitter kayak
#

---ENG---Mod that adds the ability to insert any image into the world.
The frame can accept links to:* Bmp* Gif (only the first frame will be shown)* Jpeg (jpg)* Pbm* Png* Tiff* Tga* WebP
Fram setup:Enter a link to the imageSpecify the anchor point (start) (ideally, if auto image size is enabled, you should use

worthy sparrow
bitter kayak
worthy sparrow
worthy sparrow
#

I can make them smaller, but I don't want to

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
hardy adder
#

I wanted to do something similar for a map item

worthy sparrow
hardy adder
#

Me neither but I didn't know how to do a lot of things in my mods before I tried

#

Not saying you have to do it ofc, just that I think it's possible

#

vanilla work items have a more complicated renderer so maybe the renderer isn't that hard

#

While ui would be a very simplified version of the map ui, and you already made it so you can draw on a map

worthy sparrow
hardy adder
#

idk I never played with meshes, only copy pasted code

#

I think work items and iron blooms are a good example of items with custom renderers, idk if there’s others

#

Iron blooms just use a flat image (weirdly enough, it’s not from the item model, anything with an iron bloom class willlook the same)

worthy sparrow
#

i can't use renderer for that

hardy adder
#

Could be easier then idk

worthy sparrow
hardy adder
#

Aren’t you already rendering textures on the cards then

#

With meshes

#

Maybe you can convert a set of pixels from whatever format you gather it into one

worthy sparrow
#

I named it as "Set of playing cards" for now

#

idk

worthy sparrow
#

It is a consumable

#
Contains a deck of 52x playing cards in Vintage Story style (no jokers)```
hardy adder
#

Are you asking what to name it?

worthy sparrow
#

This is description

worthy sparrow
hardy adder
#

I think pack is fine

#

Since you get a deck out of it when you consume it right?

hardy adder
#

I think using pack and deck distinguishes between the two well enough

#

Maybe other users have better feedback idk

worthy sparrow
#

Here are lang keys

#

I will add two jokers then

worthy sparrow
worthy sparrow
worthy sparrow
hardy adder
#

It looks a bit goofy, maybe you can get a better angle? Perhaps a different wolf color variant would make the face easier to see idk

bitter kayak
#

Joker yes

hardy adder
#

Or do you have other mobs you can use for them

#

Could be something like this lol wolfbait2

worthy sparrow
#

I can't export it

hardy adder
#

I used inspector on browser

worthy sparrow
worthy sparrow
#

52 cards + 4 jokers by default

worthy sparrow
old crown
#

would it be worth releasing playing cards as a separate module? that's alot of file...

worthy sparrow
#

The most heavy part in the mod is models and textures

old crown
#

ah ok

worthy sparrow
#

Although models are super simple, they are not heavy

cosmic egret
#

I appreciate you remembering 😄

worthy sparrow
#

Updated mod logo

hardy adder
worthy sparrow
worthy sparrow
#

@drowsy ether Do you want to disable piece rotations?

worthy sparrow
# hardy adder Make comparison with bricklayers lol

my todo list:

  • Card rotations in ground storage and on normal boards (calculate from player yaw)
  • Shuffler as an item container that can store one set of items (no duplicates)
  • IShuffleContainable for custom shuffler logic (e.g. cards)
  • mesh rendering: EnumCardRenderType.StackFlipped (attributes.GetString("forceRender") == "StackFlipped")
  • mesh rendering: EnumCardRenderType.StackFlippedExceptFirst
  • attributes.GetBool("forceFlipped") == true to always keep card deck flipped until one card is left
  • Crafting in a barrel: 56 blank cards + 2L of green dye to make classic card deck
  • Crafting in schematic tool modes: 64 blank cards per parchment
worthy sparrow
worthy sparrow
#

i could name it as blankcard

#

loljson { "type": "item", "code": "blankcard", "attributes": { "types": { "material": "parchment" } } }

worthy sparrow
#

Here are dropped card from underneath btw

worthy sparrow
worthy sparrow
# hardy adder Make comparison with bricklayers lol

😂
@bitter kayak

[
    {
        "code": "tabletopgames:playing-cards-vs-pack-from-green-dye",
        "sealHours": 24,
        "ingredients": [
            { "type": "item", "code": "game:dye-green", "litres": 1 },
            { "type": "item", "code": "tabletopgames:blankcard", "quantity": 56, "attributes": { "types": { "material": "parchment" } } }
        ],
        "output": { "type": "item", "code": "tabletopgames:pack", "attributes": { "types": { "type": "playingcards_vs" } } }
    }
]
bitter kayak
#

🤔

#

Why it's green?

worthy sparrow
worthy sparrow
bitter kayak
#

Fake Money for Games

worthy sparrow
bitter kayak
#

It's for games like monopoly

worthy sparrow
bitter kayak
#

Bcs of green dye and maybe a way to add how much it's worth

bitter kayak
worthy sparrow
#

I love all textures I make

bitter kayak
worthy sparrow
worthy sparrow
#

@manic topaz Barrel doesn't support attributes, so sad

worthy sparrow
#

Literally nothing about barrel here

#

I mean it works but still

hardy adder
#

Shouldn’t the recipe require a more involved process than just dunking them in dye?

hardy adder
#

Just my opinion, but I would rather have a grid recipes with quill and some dyes. Of course, if there was in-world crafting that would be even better but I don’t have a good suggestion for that

worthy sparrow
worthy sparrow
#

@ionic rune What would you do

#

I don't want super complex playing card recipe

#

I want the recipe to be believable at least

#

And accessible

#

i can make in-world recipe, grid recipe, barrel recipe or tool mode recipe (in schematic)

ionic rune
# worthy sparrow <@348480374218948608> What would you do

Create an overly involved dyeing process to prepare the paper before you ever think about putting symbols on them. Then I'd create stamps that you use to put shapes and patterns on the cards.

Do you remember who you're asking? XD

worthy sparrow
#

Because my mod already allows to do all of that

ionic rune
#

... LOL. Got my own projects under way, my dear woman.

worthy sparrow
#

Maybe for traders

#

lol

#

I can make that pack be sold by traders

worthy sparrow
#

I don't mind making complex recipes for everything in the mod

#

To implement what you suggested, I need to add support for liquid recipes inside in-world crafting recipes

worthy sparrow
#

I could implement a deal with devil to get cards in the game

#

/// <summary>
/// A consumable item that summons devil when consumed.
/// </summary>
public class ItemDealWithDevil : Item
{
  onConsumed()
  {
    summonDevil();
  }
}
worthy sparrow
#

So only stamps are left

#

I could choose stamp type through tool mode lol

worthy sparrow
cosmic egret
#

So you already have bowls that hold multiple items yeah?

worthy sparrow
#

Go bowls

#

They are canon

cosmic egret
#

And chisel able boards?

worthy sparrow
cosmic egret
#

Is there a feasable way to combine those features, to allow players to make "bowls" on their game boards?

#

This would allow people to make games like Mancala without you needing to directly implement them

#

I don't know how you would go about detecting that within a chiseled block, maybe could do a material check and a tool where the player determines what material in a block counts as a "bowl"

However I don't know the extent that this is possible, I have no knowledge of the C# side of Vintage modding.

worthy sparrow
real chasm
#

I can apparently chisel myself a Royal Game of Ur board,and pieces.
Now,if only I knew how to play.

cosmic egret
#

If you can read sandskrit there's some published tutorials from Irving Finkle. kek

cosmic egret
worthy sparrow
#

Playing cards are going to be the third most massive update after chiseled pieces and boards

manic topaz
worthy sparrow
#

"Pre-historic screenshots"

bitter kayak
#

Why you did have domino?

worthy sparrow
bitter kayak
worthy sparrow
#

They were half-baked

#

They were never finished

worthy sparrow
worthy sparrow
bitter kayak
#

It's a custom card or just a preset?

worthy sparrow
#

I'm making it for advertising the new update

worthy sparrow
#

@bitter kayak

bitter kayak
worthy sparrow
worthy sparrow
worthy sparrow
dark iron
#

Cant wait to play poker with the boys during a blizzard

cosmic egret
#

I can't wait to steal all my friend's gears in poker.
Trick is to always carry a hangun for when they get rowdy and you need to give them a choice kek

bitter kayak
worthy sparrow
bitter kayak
#

Documentation to upload your own cards?

worthy sparrow
worthy sparrow
worthy sparrow
bitter kayak
#

👍

worthy sparrow
# bitter kayak 👍
"ingameerror-shuffle-empty-slot": "You don't have the cards right now. Can't shuffle emptiness!",
worthy sparrow
bitter kayak
#

Keybind to show cards

#

Also UNO Switch is now possible

bitter kayak
# worthy sparrow

Can you add a tool mode for the cards to have alternative texture?

worthy sparrow
bitter kayak
# worthy sparrow Why

It's bcs of the way you can switch to another side of the card also keybinds are needed for it

bitter kayak
#

But I don't know how it can be added

worthy sparrow
#

It can only shuffle chiseled things

#

not cards

#

Cards can be shuffled separately

bitter kayak
worthy sparrow
worthy sparrow
#

I could add bag as shuffler

#

literally sack

bitter kayak
# worthy sparrow Give examples

I restore a 1950's Casino Card Shuffler. I wonder through all the rust how much black jack did this antique restoration play?

If you have something you would like me to restore send me an email at [email protected]

Watch Next:
I Restore A 125 Year Old Rusty Bread Maker!
https://www.youtube.com/watch?v=mbbOVXHKU2I&list=PLKBhLSKogW5-...

▶ Play video
worthy sparrow
bitter kayak
#

A bag can do the job

#

But it's mostly just using the bowl function and adding a rng system

worthy sparrow
worthy sparrow
worthy sparrow
worthy sparrow
dark iron
#

Guys will see this and think “hell yeah”

worthy sparrow
dark iron
#

(Badass playing cards)

worthy sparrow
dark iron
#

Is that the bell?

worthy sparrow
dark iron
#

Lmao

#

Peak

worthy sparrow
#

@bitter kayak

#

VariantGroups would just kill your PC if I did that

#

But I use attributes, so it isn't a problem

bitter kayak
#

Yea

worthy sparrow
#

I think I have idea how to do that

#

I will rotate it

#

This is what it should look like

bitter kayak
worthy sparrow
bitter kayak
#

Using code to scale down visually?

worthy sparrow
worthy sparrow
bitter kayak
#

Like those clay molds

worthy sparrow
#

Then unpack them

#

Like a bundle

#

Make them unpackable until they are baked

worthy sparrow
#

Then choose letters, numbers etc. in tool modes

#

It may be cool to have 1000+ stamps for every single letter, number and symbol, but it is nighmare to maintain

worthy sparrow
#

it already took me insane amount of time and I didn't even write logic for it

#

Planning card crafting is extremely hard

#

I better spend time on something much more productive and interesting

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

Red, Black for the cards symbols and numbers

worthy sparrow
bitter kayak
#

Any cheap alternatives?

worthy sparrow
#

Blue is 5nd most expensive

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

Yes

#

There's mods that add more recipes to dyes

worthy sparrow
#

That way they would be used for cards only

worthy sparrow
#

Or is this one better?

bitter kayak
#

2

worthy sparrow
#

Okay

worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

The one that displays the logo instead of the one with the software

bitter kayak
worthy sparrow
bitter kayak
#

It can be a way to make new cards modular?

worthy sparrow
real chasm
real chasm
#

Magic the Gathering. Never heard of it?

worthy sparrow
real chasm
#

Wow. That's a first for me.

#

Card game,basically. One I know would be impossible to emulate in a VS mod.

#

Still,I see cards,I think MtG.

real chasm
#

Because it's closer to RPG than something like poker or solitaire.

#

There are six "colours,"which are sorta analogous to suits. White,black,blue,green,red,and colourless. And,besides colourless,they can be mixed.

#

And then there's the literal thousands of unique cards.

#

The texture atlas and ground storage mechanics can't support a game.

worthy sparrow
worthy sparrow
#

who said that I would use texture atlas

real chasm
#

RE: Thousands of unique cards. Beyond that,standard play imposes no numeric limits on what can be on the board at any given time,besides what's printed on the cards.

worthy sparrow
real chasm
# worthy sparrow What board

Aah,sorry. Generalized term. The game is played on a tabletop. Some people use play mats. As for limits,the game imposes no numeric limits beyond: No more than four copies of any specific card in a legal deck,besides cards known as Basic Lands (Plains,Swamps,Islands,Forests,and Mountains). Text printed on a card is treated as divine law and is explicitly allowed to override codified rules,permitting specific cards to tighten or loosen this limit,or impose limits on how many of what may be in play.

#

Also,a legal deck is no larger than sixty cards.

worthy sparrow
real chasm
#

It used to be unlimited,until someone showed up to a tournament with a deck so enormous it needed two porters to carry,to say nothing of the shuffling time. After that,it became, "No larger than handheld." That proved too fluid,so the maximum size was further reduced.

worthy sparrow
#

Playing cards in the mod have no game logic at all

#

They only have stacking behavior and that's it

real chasm
# worthy sparrow So what

Ten turns in,each player has,on average,ten basic lands and up to fourteen permanently in play cards.

#

There's no space on the table.

#

In VS,at least.

worthy sparrow
worthy sparrow
worthy sparrow
real chasm
#

MtG is a fun game.
I think it's out of scope of your mod.

bitter kayak
#

I already suggested that a while back but no

worthy sparrow
worthy sparrow
bitter kayak
#

You changed ideas?

worthy sparrow
bitter kayak
#

oh

bitter kayak
worthy sparrow
bitter kayak
#

Cool

#

But how about the old rendering of the cards where you have a pile of it

bitter kayak
worthy sparrow
bitter kayak
#

What's the amount of rotation the cards can have when placed

worthy sparrow
bitter kayak
#

How much rotation it can be turned to rotate the placed card
15-15, 30-30

bitter kayak
#

First card is rotated at 0° degrees
What's the closest value for the Second card to rotate

worthy sparrow
bitter kayak
#

What if I placed on another slot of the table but not sure the rotation of the card.

#

:p

bitter kayak
#

Can you show the code of the rotation when the first card is placed?

bitter kayak
#

So it doesn't have a cap when it comes to individual rotations like.
I can place one card at 12° or 67°

worthy sparrow
#

Only EnumCardRenderType.Stack doesn't rotate cards except first card

bitter kayak
#
  1. Does no cap on rotation affect performance?
  2. Can it also apply when you play your own cards faced against the player?
bitter kayak
#

When I do a 360° does it reset to 0°?

worthy sparrow
worthy sparrow
#

This is how much items the last update will add

bitter kayak
#

Is there a easier way to have controls less dependant on keybinds?

worthy sparrow
#

I wrote network code specifically for hotkeys

bitter kayak
#

Yes but it can also work but I'm figuring out to how make the controls more intuitive without adding keybinds

bitter kayak
#

I have a idea when you want to play the cards.
Making the cards interact with your mouse with just clicks

#

Probably not your thing

worthy sparrow
bitter kayak
#

Theory:
Make the cards have a invisible interactive UI where you can access a cards individually.

#

That's how card games are I think

worthy sparrow
bitter kayak
#

Does VS UI support alpha value?

worthy sparrow
bitter kayak
#

Make each card have it's own UI hit detection, make it fully transparent

worthy sparrow
bitter kayak
#

No

#

It's a rough idea

bitter kayak
worthy sparrow
#

If someone makes PR with all the code for it, sure, but I won't do it myself

bitter kayak
#

For me it's not even worth to add

worthy sparrow
#

Yeah

bitter kayak
#

🤔 Can you switch the cards location while in your deck of cards?

bitter kayak
#

To organize numbers and Colors

worthy sparrow
bitter kayak
#

nvm

worthy sparrow
#

I recorded like 1000 videos with cards

bitter kayak
#

I forgot damn

worthy sparrow
#

I'm chiseling poker right now

#

and then monopoly

worthy sparrow
#

I can make them stackable like cards

bitter kayak
worthy sparrow
bitter kayak
#

Tokens are a currency but they're pieces of the game

worthy sparrow
#

I can add them as separate item anyway

bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
worthy sparrow
bitter kayak
#

No just in real life

worthy sparrow
bitter kayak
worthy sparrow
#

No

#

No one would use it

bitter kayak
worthy sparrow
#

And you didn't even play the mod

bitter kayak
#

Do you even know someone who did

worthy sparrow
bitter kayak
#

I test the mod for bugs and exploits

#

Like with the bowl being able to have any item

manic topaz
#

“Did you play this specific game in the mod?”
“No not this one.”
“So you don’t play the mod.”

#

Wild convo tonight.

worthy sparrow
manic topaz
#

lol

worthy sparrow
#

6500 lines of code

#

wtf

#

It was about 4600 very recently

worthy sparrow
#

There is like literally nothing

#

So I tested every new item and I think it is ready for release

manic topaz
#

Just set the field value.

worthy sparrow
manic topaz
#

I see.

worthy sparrow
#

@bitter kayak

#

Shiny gold ingots instead rusty gears because they look much cooler

worthy sparrow
#

@bitter kayak I just released new version, go test it

bitter kayak
#

The mod is compatible with more alloys :D

#

Uh...
-The keybinds repeat twices
-The second keybind overlays the hitbox of the text

#

Shuffling breaks the textures of the cards

#

Combining all the cards with the broken shuffled cards and the ones you removed it only affects one slots but not all slots

#

It would be cool to make bits of metal, crystals and meteoric iron being accessible with chiselling or even when making boards

worthy sparrow
bitter kayak
worthy sparrow
worthy sparrow
bitter kayak
#

Which is when you have a card exposed but your deck is a shuffled one
But you can only do this to one slot

worthy sparrow
#

Shuffle it again

bitter kayak
#

It worked but god you change stuff

#

Which I can't keep track of everything

worthy sparrow
bitter kayak
worthy sparrow
#

I wrote all changes in changelog

bitter kayak
#

Since there's some games that have that rule

worthy sparrow
worthy sparrow
#

@cosmic egret

cosmic egret
#

Yes?

#

😄

worthy sparrow
worthy sparrow
cosmic egret
#

I've not had the chance, I've been doing some IRL work in my workshop. I'll go load it up in SP and give it a try though 😄

cosmic egret
#

Small bug I've noticed, when placing down a joker

#

Actually it appears to be for all cards

#

Also I think something is double calling the shuffle card thing

#

Other than that I'm loving the cards 😄

cosmic egret
#

Ah all good

#

It was lovely though! Is there a way to roll multiple dice at once? Or should I place them down one at a time? For something like farkle

worthy sparrow
#

I don't know how to make all of them roll all at once

cosmic egret
#

🤔

#

Would it be possible to make a dice cup or tower, where you load an inventory and then right click it, and it'll place all the dice down (rolled) on the grid like in the dice trays?

#

Just a thought, totally fine if it's not something worth perusing

#

and it's a minor detail. it's not like I can't play dice games hahah

worthy sparrow
#

The problem in adding that is that you can do the same thing without dice tower

cosmic egret
#

True! I forgot about the hopper/chute

worthy sparrow
worthy sparrow
#

So if anyone can, please tell me if they work

cosmic egret
#

I'm several weeks out on a new server probably, I'm still trying to get my head around the filestructure for the oregen stuff. Once that's done it's all relatively easy math but between work and hobby stuff I've been slow.

worthy sparrow
worthy sparrow
cosmic egret
worthy sparrow
#

This is very strange

cosmic egret
#

No other mods installed. 1.20.6 and superflat world

worthy sparrow
cosmic egret
#

hm

#

I'll reload and test it again in 10-20 min

#

It... works just fine now

#

Okay. Well

#

Nope! Got it to work, it's to do with the Jokers

#

Yeah, joker related, then it causes all other cards to have an issue.

worthy sparrow
#

So strange

cosmic egret
#

Maybe it has something to do with their suit?

#

🤔

worthy sparrow
cosmic egret
#

That's my point, maybe there's something unhandled for "Suitless" cards?

#

Idk

worthy sparrow
#

As long as rank is joker, textures should work

cosmic egret
#

hm

#

I'll have to look more at it later, I've got a few things to do for now.

worthy sparrow
#

Okay

dark iron
#

Time to play poker with the boys during winter

worthy sparrow
dark iron
#

We can make it work

#

We’ll just use nuggets

cosmic egret
#

Or gears 😄

#

or coins from the coinage mod

#

that would probably work best, given they can stack on the ground like gears

worthy sparrow
dark iron
# cosmic egret Or gears 😄

Well thats what we can bet with
But for the actual chips, id say nuggets that correspond to different values would work more

#

Like copper for 5, bronze for 10, iron for 20 and so on

cosmic egret
#

True, although using the Coinage mod might be a nicer implementation of that, especially if you can stack (the smallest) coins individually like on the dice tray! 😄

old crown
#

we use copper gears :^)

#

poker nights at the grain silo

dense elk
#

CANMarket is pretty dope

worthy sparrow
dense elk
#

it's the money/shop mod we use, really lean

#

it's where the copper gears rag mentioned come from

worthy sparrow
#

Oh right

dense elk
#

lol sorry I also didn't realize that rag mentioned it like two days ago

bitter kayak
#

Dana how to even make pieces made of stuff that doesn't have blocks

#

Like minerals and crystals

worthy sparrow
bitter kayak
worthy sparrow
#

Use schematic

bitter kayak
worthy sparrow
#

What do you mean?

bitter kayak
#

A mineral/crystal chiseled piece or board

worthy sparrow
#

If not, then not

worthy sparrow
#

not even peak

steady junco
#

I been contemplating making a ttrpg oneshot for peeps to larp through, utilizing the dice ftom here. I just don't know what to do for a plot.
I'd love some help from the more technical or lore-savvy if they're willing to give it?

worthy sparrow
steady junco
#

Nah, I understand the mod sufficiently 🙂

#

To be perfectly honest I don't know the appropriate channel to be workshopping my ideas.

worthy sparrow
steady junco
#

Couldn't quite figure out how to work the cards.
But really all I need are the dice and I think I have them handled.

#

Thank you for the mod.

radiant berry
#

this is literally the best mod ever

#

thank you

#

if only tarot cards existed....

steady junco
#

You can add custom cards in, no?

radiant berry
#

waaait, really?

#

sweet

worthy sparrow
#

But you can make addon

dense elk
#

I'm loving the cards mod but I can't help but wonder if I'm doing something wrong. I've familiarized myself with the key combos to get it to do what I want, except I can't seem to figure out if you can draw a card face down. I could always tweak some poker rules but at the moment it seems like I can't have the dealer deal out cards without knowing what each card is. am I doing something wrong?

#

forgive me if this has already been addressed somewhere

worthy sparrow
dense elk
#

🙁 i figured there was a technical limitation to it, wanted to make sure I wasn't missing something. it'll be a simple task to have a dedicated dealer for poker nights though, or just have people draw their own cards, it's effectively the same thing afterall

worthy sparrow
#

Does anyone need wildcraft trees compatibility?

worthy sparrow
worthy sparrow
#

just noticed that the mod reached 50k

hard horizon
#

Congrats

#

I can't figure out how to make the other dice using the schematic

worthy sparrow
hard horizon
#

Planning to run Strixhaven in a server using this mod

hard horizon
#

@worthy sparrow i'm having trouble making custom boards, how do i set a scale with a second chiseled block?

#

I'm just very confused, I want to make a board at a 1x1 or a 2x2 scale

#

Like how do I define the hotbox with a chiseled block?

old crown
#

I can show you my custom board if you think that would help.

#

Left is the collsion board, right is the decorative board.

#

You can make each 'tile' on the board any height.

#

But to make it one space, it all needs to be the same material.

hard horizon
weak aurora
#

is the config supposed to be null? or is there supposed to be something there?

worthy sparrow
#

It shouldn't be null

weak aurora
#

well for some reason its null on my end, would removing the file and restarting the world work?

#

i had configlib mod on and tried editing the config from ingame but then it crashed, so i checked the config outside the game and there is nothing but the word null.

weak aurora
#

doing so did not infact work

#

and without config lib its still null >.>
infact only having the tabletop mod on just gives a null config in modconfig folder

#

what is it supposed to have in it?

worthy sparrow
#

try new version

weak aurora
#

there is a config now~

#

debug and client work

#

i say its working now and works with configlib :3

tidal venture
#

Hey! Does this mod contain d16? I know at one point you said you wanted to add it, but I wasn't sure if you ever got around to it. It's used in wargaming a good bit, and I was thinking about how with chiseled boards, one could chisel some sweet terrain to wargame on.

tidal venture
#

Okay! Thanks for the quick response.

#

I saw your messages here about modelling the d10, and I saw you were having some... certain difficulties due to its unique geometry.
I think it'd be helpful to note that despite the somewhat-similar appearance the d16 shares with the d10, the d16 is a much simpler geometry since its faces are triangular instead of kite-like.

worthy sparrow
tidal venture
#

I know, I've worked with the particular geometry myself in Blockbench instead of in VSMC. Still much better than the kite faces, and having to do extra to clean up the edges.

tidal venture
worthy sparrow
tidal venture
#

I'll see what I can do.

worthy sparrow
tidal venture
#

I was just gonna throw together a mockup on Blockbench, then show you the proportions.

tidal venture
#

I just have to have a few minutes to get off the phone and get set up at the computer. My monitor died a few weeks back and so I'm using my VR headset as my main display in desktop link mode.

#

I'll also check out that link you sent.

#

So what exactly are you struggling with?

worthy sparrow
tidal venture
#

So I just did a very quick mockup in Blockbench.

#

Of course this looks messy, but you'll want to not texture the parts...

#

... - here in the red and blue triangles.

#

The width of a rectangle is 7 units, the height is 10.

#

The origin point is...

#

The angle is...

#

-53 Z
- but depending on the axis you are working on from, it could be +53, and in X instead of Z.

#

Then you could use more boxes to tidy up the edges to hide the jagged, pixelated UV from the rectangle.

worthy sparrow
#

Look at D10 model

#

just open it in VSMC or blockbench

tidal venture
#

I don't know how to navigate Git. Can you private message me the file?

#

I guess why I don't understand that it doesn't work this way, is that geometry is a universal aspect of all objects.

tidal venture
# worthy sparrow tried to make D16

What it looks like to me, what you're doing here is positioning all triangles along a perimeter, and then angling them in till their points meet.

tidal venture
#

Instead, do one face.

worthy sparrow
#

Although i made D10 with help of star shape

tidal venture
#

Angle it towards the center vertical axis, until the top point reaches the axis marker.

worthy sparrow
tidal venture
#

If the triangle has too shallow of an angle, your triangle is too short.

worthy sparrow
tidal venture
#

Yeh, I see what you're doing. You're making it much harder on yourself. Let me eat, and I'll try and clear it up.

worthy sparrow
#

I made all dice this way

#

I don't use easy ways

#

just open d10

worthy sparrow
tidal venture
#

Oh.

#

Ahaha!

#

Alright, well I'll look at the d10.

#

I just got done eating.

tidal venture
#

You've like... really gone the hard way.

#

Alright, so I can still help you get the right geometry.

worthy sparrow
worthy sparrow
worthy sparrow
tidal venture
# worthy sparrow I tried to make it look as real as possible

Right. It looks good, too.
You just have still taken a harder route in even establishing the geometry.
I'll adjust my idea, and then I can show you a trick, and you may consider trying to implement it.
You'll be able to continue your method of designing individual faces, but the trick will make it less work assembling the faces into a complete shape.

worthy sparrow
#

at math too

tidal venture
#

Yeh, that's fine. This is a trick that will help you.

#

It looks like the first thing you've done is work on the perimeter. The red line here. Right?

worthy sparrow
#

Yes