PDA

View Full Version : [Suggestion] More streamlined, easily expandable and adaptable system for custom card information



Maurdekye
04-30-2014, 08:25 PM
I know you plan to change your current method of storing card info on a limited size image in the future (it is very limiting), but I would like to suggest a specific, much better system for reading card info.

Instead of having a fixed size image with a limited number of card slots on it, I suggest a variable sized image file which has a height that must be %40 of a multiple of its width, assuming the average width/height ratio of a card to be 5:7. For example, a file that is x high, to fit the criteria it's width modulo x/1.4 must be 0. In this way, a file would be able to store card information in a modulated fashion, and be able to store any amount of cards with any amount of detail. To fit 4 cards in a file that are each 512 pixels high, you'd make the file 1460 pixels wide, approximately, with each card being about 365 pixels wide. In this way it would mirror a similar system that mine craft uses to store texture animation data.

The codec for this file should go as follows; the first card space would be the back of the cards, the second the unknown face, and all others following being the front faces of each individual cards. The game could refuse the file if it isn't wide enough to fit at least two cards; in this minimum case, all the card faces would be blank, with only the back face and unknown face provided.

Within the game, when summoning a custom deck, the user could instead of being limited to only 2-70, be allowed to put in any number for how many cards they want. If the number is greater than the amount of cards in the file, then the deck would loop back to the beginning of the file to add subsequent cards. If zero is given, then a deck with a single copy of every single card in the file would be created. If a negative number is given, then the absolute value of that many cards will be chosen randomly from the file, including possible duplicates, and be created as a new deck. If you want to create a random deck free of duplicates, you could just create a standard deck and shuffle it.

This is about the full summary of my idea; if anybody needs clarification on something, or wants to add anything to it, then please reply below. I suggest that something like this gets added as soon as possible, to prevent standardization creep while the game is still in early access.

Edit: I've looked through the suggestions thread, and seen that many people want the ability to spawn cards of varying aspect ratio. To compensate for this, when you create a custom deck and choose the url and the card amounts, you would put a third number in for how many cards the file represents. This would define how to divide up the file for the specific aspect ratio of the cards necessary. If the user were to put in 0 or less for this argument, then the file would be divided in such a way to make each card 5:7 by default, leaving out any trailing information on the image file that doesn't fit into a full card. Although it might be slightly more convoluted than what I originally suggested, it's probably the best way (at least I can think of) to have cards of variable aspect ratio.

Chris_Walker
05-02-2014, 04:16 AM
Alternatively a custom argument in the images meta-data could specify the aspect ratio. Either-way this would then help us add other custom content like score trackers, player boards/reference boards etc.

(Would be nice too if we could import single-card decks, but at least there are other work-arounds so that isn't quite as necessary)

Crispy
05-02-2014, 06:12 AM
As a gamebox builder, I wouldn't want to have the TTS engine doing any resizing or rescaling of my card or scans. I think what would be better is to give some kind of info panel that shows what assets have been loaded so I can optimize the resolution myself and make sure things still look good. E.g. a menu item that displays (or saves to disk) a table: (Resolution; # images ; memory used)


I think the important thing the game engine needs to do is to decouple the import file format from the internal representation used for 3D rendering. E.g. after importing the assets, do a Packing Step to copy them into an efficiently-packed internal grid that's optimized for 3D rendering, and then free the memory used during import. That way, the game can support many different kinds of import formats (single card, multi-up layouts of different sizes, etc) without affecting the 3D rendering performance and memory usage. E.g. you could just specify when loading an image what the grid is (7x10 or whatever).

As a gamebox builder it would obviously be important to ensure that all your assets have the same pixel dimensions as much as possible so that they can be packed efficiently during the Packing Step (I think this should be the responsibility of the gamebox builder, rather than have the engine try to resize them). A Packing Step would also allow us gamebox builders to organize our assets into as many files as we want to suit our own organizational schemes (e.g by expansions, etc) without compromising the game engine's performance.

I think the gamebox should be defined in a supplementary (e.g. XML) file that specifies all assets for the game (e.g. like ZunTzu gameboxes). Some kind of text file I can manually edit or generate automatically from scripts (which are essential to manage the process of scanning, organizing and generating assets for games with hundreds of components).

Maurdekye
05-03-2014, 07:39 AM
Chris_Walker said

Alternatively a custom argument in the images meta-data could specify the aspect ratio. Either-way this would then help us add other custom content like score trackers, player boards/reference boards etc.

(Would be nice too if we could import single-card decks, but at least there are other work-arounds so that isn't quite as necessary)

I thought about having meta data instead of an extra argument, but that would be difficult for beginners to modify and take advantage of.

Chris_Walker
05-03-2014, 12:26 PM
Maurdekye said

I thought about having meta data instead of an extra argument, but that would be difficult for beginners to modify and take advantage of.

I see your point, but that might just be a matter of opinion. My thinking is, if someone is creating content for the game, they kind of already are a bit more of an advanced user, or at least aspiring to be. No matter what hoops users have to go through to create game components with precision and flexibility, people will learn how. (As long as there is a way to do it.)

Well, that's my opinion anyway. http://www.berserk-games.com/wp-content/sp-resources/forum-smileys/sf-wink.gif

QQuixotic
05-03-2014, 01:38 PM
Chris_Walker said

I see your point, but that might just be a matter of opinion. My thinking is, if someone is creating content for the game, they kind of already are a bit more of an advanced user, or at least aspiring to be. No matter what hoops users have to go through to create game components with precision and flexibility, people will learn how. (As long as there is a way to do it.)

Well, that's my opinion anyway. http://www.berserk-games.com/wp-content/sp-resources/forum-smileys/sf-wink.gif

The incredible dungeon save editor we have is a great example of this. Content creators can have it a little rough- we're not creating content because it's particularly easy. Having to do a basic config isn't going to stop anyone dedicated enough to make the objects in the first place, and the added power that comes with them will be worth it in the end.

As long as the end user (the player) has it as easy as possible, that's what matters.

Maurdekye
05-05-2014, 02:27 AM
QQuixotic said

Chris_Walker said

I see your point, but that might just be a matter of opinion. My thinking is, if someone is creating content for the game, they kind of already are a bit more of an advanced user, or at least aspiring to be. No matter what hoops users have to go through to create game components with precision and flexibility, people will learn how. (As long as there is a way to do it.)

Well, that's my opinion anyway. http://www.berserk-games.com/wp-content/sp-resources/forum-smileys/sf-wink.gif

The incredible dungeon save editor we have is a great example of this. Content creators can have it a little rough- we're not creating content because it's particularly easy. Having to do a basic config isn't going to stop anyone dedicated enough to make the objects in the first place, and the added power that comes with them will be worth it in the end.

As long as the end user (the player) has it as easy as possible, that's what matters.

Well, where do we draw the line between the end user and the player? What if they are the same person? You broadcast custom card creation as a core feature that's easy to use for everybody, but now you say that it should remain more complicated so that the 'end user' has it easier. If this is a core feature, then how many people do you think will make custom decks and still be an end user? You have to be careful to make sure your end user base and your custom content creators don't get blurred together; it's become an increasing predicament with modern gaming as of late. Just look at the steam workshop.

QQuixotic
05-05-2014, 02:47 AM
Maurdekye said

Well, where do we draw the line between the end user and the player? What if they are the same person? You broadcast custom card creation as a core feature that's easy to use for everybody, but now you say that it should remain more complicated so that the 'end user' has it easier. If this is a core feature, then how many people do you think will make custom decks and still be an end user? You have to be careful to make sure your end user base and your custom content creators don't get blurred together; it's become an increasing predicament with modern gaming as of late. Just look at the steam workshop.

There is no line between the end user and the player- they are the same person. And we certainly do want our end users and custom content creators to be blurred together.
Sorry, I'm really confused by what you're saying here.

Maurdekye
05-05-2014, 04:38 AM
QQuixotic said

There is no line between the end user and the player- they are the same person. And we certainly do want our end users and custom content creators to be blurred together.
Sorry, I'm really confused by what you're saying here.

What i'm saying is, who are you going to make it easier and more complicated for if your two separate target audiences are the same? You say you're going to make it more complicated for the content creators to make it easier on the end user, but you'll make it more complicated for your end user base as well if they're the same group. You could try to make it as simple and easy to use as possible, but no matter where you draw the line, someone is going to be perturbed. And if you say there isn't a line, then there's a risk that everyone could be perturbed.

Chris_Walker
05-05-2014, 05:38 AM
I think the trend will always to improve the game in every area. Let's just keep in mind, this game is in active development still, and yet has come a LONG way since it was first in beta. As long as there is a way for creators to express themselves, we can move forward, and hopefully things will get more and more intuitive as development continues. The best way I think we can contribute then is to: (in no particular order)

Buy the game
Play-test the game
point out any bugs,
provide specific suggestions
Pass the word on to others
Create content for others to enjoy