1 (edited by Kirbs 2013-06-13 20:35:27)

Topic: [DISCUSSION] Mods

I tell you, that if you remove the mods,skins,chat,music,emotes, about 82% of Teeworlds players will leave. Or they will just go to an early version, like I will..

You aren't being serious about removing anything important, right?

- Skins make us all different.
- Chat allows us to be free people.
- Emotes allow us to laugh and be us.
- Mods allow us to play what we want. People work hard on skins and mods, who are you to throw their hard work on the ground and ban it?! Stop being immature!

Stop being so selfish,  take this post seriously, and only add features, or remove ones that are minor!
The maps, mods,  and skins, are what makes up Teeworlds setup. People like choices to choose from.

People get bored with the same thing after awhile.

This would be like making squash, corn, and beans, not exist.

I have only seen a full vanilla server 3 times, and I have seen many servers that were modded, and full.

And removing languages and localization is really bad. Do you expect a Mexican to know English? No!

Stop this nonsense and be serious. Just posting my opinion.


I like the idea of a menu system, other wise just leave it with no minor changes. I'm sure many artists will be quite angry that the old skin system doesn't work.

Good luck on 7.0 anyway.

no

2

Re: [DISCUSSION] Mods

Lord Kirby wrote:

People work hard on skins and mods, who are you to throw their hard work on the ground and ban it?! Stop being immature!

That part was fun.

Lord Kirby wrote:

Stop being so selfish

That one too.

Not Luck, Just Magic.

3

Re: [DISCUSSION] Mods

I didn't notice who Lord's post was adressed to, however i totally agree, Teeworlds can't be the Teeworlds we like without players 'handmade'. And,imo, the source should be more flexible for modding, and only server modding should give more abilities(not to make players download speacial clients).

4

Re: [DISCUSSION] Mods

Shahan wrote:

I didn't notice who Lord's post was adressed to, however i totally agree, Teeworlds can't be the Teeworlds we like without players 'handmade'. And,imo, the source should be more flexible for modding, and only server modding should give more abilities(not to make players download speacial clients).

Teeworlds is a game that the developers wanted to create in a certain way (Exactly the way it is - plain vanilla teeworlds). It's not "Teemods" a game engine for teeworlds related mods. So my personal point of view is that I do not care for mods.

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

5

Re: [DISCUSSION] Mods

Teeworlds is a free game, not a "we do as the clients desire to sell the most" product. Developers code it the way they like, not the way you do. They're obviously glad to receive feedback and have their game be enjoyed, but they don't have to follow the mindset of the majority.

Not Luck, Just Magic.

6 (edited by yemDX 2013-06-14 04:09:10)

Re: [DISCUSSION] Mods

Dune wrote:

Teeworlds is a free game, not a "we do as the clients desire to sell the most" product. Developers code it the way they like, not the way you do. They're obviously glad to receive feedback and have their game be enjoyed, but they don't have to follow the mindset of the majority.

That's right, Teeworlds developers just have to follow the mindset of the people who actually play the game more than once a couple months (such as none of the current developers)

Ex-King of Teeworlds

7

Re: [DISCUSSION] Mods

The compatibility should not be a obstacle to the development of Teeworlds . Of course it's better if all maps/skin/mods are compatible but new features are more important for me, and popular mods/skin/maps can be rework for the new Teeworlds.

For exemple : 0.6 skins are not compatible with 0.7 system, but the new system is much better then the old one. And i prefer new feature than skin compatibility smile

8

Re: [DISCUSSION] Mods

yemDX wrote:

That's right, Teeworlds developers just have to follow the mindset of the people who actually play the game more than once a couple months (such as none of the current developers)

Uhmm yeah, okay.

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

9 (edited by HeroiAmarelo 2013-06-14 14:24:42)

Re: [DISCUSSION] Mods

Landil wrote:

It's not "Teemods".

Landil wrote:

- ban all mods (this is teeworlds and not modworld)

Whats the Teeworlds Mod Based game name after all?

Well, my personal point of view is that Teeworlds Devs should not care about what the players prefer.
They should care about making a free open source game, were people can play but not code a thing.
Players should only be able to play the gametypes that the official team creates, noone else should be able to create a thing.

I think the best opcion we have is to create an account system and ban all the players who prefer to play non-official gametypes then official ones or block all the DDRace, zCatch, OpenFNG, etc. servers on the server list right now.

This is Teeworlds,
Teeworlds is a free open source game,
But you mustn't be "free" to play whatever you want,
Only what the Devs want.

Devs know that people prefer to play mods, and they dislike to know that some people creates a better game experience than them, that's why they are acting in this selfish way.

Playing Teeworlds since 2011!
"I will always be topless for you"
                  - Günther Branlutte

10 (edited by BeaR 2013-06-14 15:05:16)

Re: [DISCUSSION] Mods

#include <base/system.h>
#include <engine/external/pnglite/pnglite.h>

#define IDX(x, y, w) ((x) + (y)*(w))

typedef struct
{
    unsigned char r, g, b, a;
} CPixel;

// simple, ugly bilinear sampling..
CPixel sampleBilinear(int x_, int y_, float ratio, CPixel *pData, int w)
{
    CPixel sample;
    int x = x_ * ratio;
    int y = y_ * ratio;

    float offsetx = (x_ * ratio) - x;
    float offsety = (y_ * ratio) - y;

    int index = IDX(x, y, w);

    sample.r = pData[index].r * (1-offsetx) * (1-offsety) +
                pData[index+1].r * offsetx * (1-offsety) +
                pData[index+w].r * (1-offsetx) * offsety +
                pData[index+w+1].r * offsetx * offsety;

    sample.g = pData[index].g * (1-offsetx) * (1-offsety) +
                pData[index+1].g * offsetx * (1-offsety) +
                pData[index+w].g * (1-offsetx) * offsety +
                pData[index+w+1].g * offsetx * offsety;

    sample.b = pData[index].b * (1-offsetx) * (1-offsety) +
                pData[index+1].b * offsetx * (1-offsety) +
                pData[index+w].b * (1-offsetx) * offsety +
                pData[index+w+1].b * offsetx * offsety;

    sample.a = pData[index].a * (1-offsetx) * (1-offsety) +
                pData[index+1].a * offsetx * (1-offsety) +
                pData[index+w].a * (1-offsetx) * offsety +
                pData[index+w+1].a * offsetx * offsety;

    return sample;
}

int SplitSkin(CPixel *pImg, CPixel *pBody, CPixel *pFeet, CPixel *pEyes, CPixel *pHands)
{
    if(!pImg)
        return 1;

    // Part: body
    float ratio  = 96.0f/128.0f;

    // alpha mask
    for(int x = 0; x < 128; x++)
        for(int y = 0; y < 128; y++)
            pBody[IDX(x,y,256)] = sampleBilinear(x+128, y, ratio, pImg, 256);
    // main
    for(int x = 128; x < 256; x++)
        for(int y = 0; y < 128; y++)
            pBody[IDX(x,y,256)] = sampleBilinear(x-128, y, ratio, pImg, 256);

    // Part: hands
    ratio = 32.0f/64.0f;
    for(int x = 0; x < 128; x++)
        for(int y = 0; y < 64; y++)
            pHands[IDX(x, y, 128)] = sampleBilinear(x+384, y, ratio, pImg, 256);

    // TODO: eyes, feet


    return 0;
}

int FixSkin(const char *pFileName)
{
    png_t Png;
    png_init(0, 0);

    CPixel *pOrgImg = 0x0;

    png_open_file(&Png, pFileName);

    if(Png.color_type != PNG_TRUECOLOR_ALPHA)
    {
        dbg_msg("skin_fix", "%s: not an RGBA image", pFileName);
        return 1;
    }

    int w = Png.width;
    int h = Png.height;

    pOrgImg = (CPixel *)mem_alloc(w*h*sizeof(CPixel), 1);
    png_get_data(&Png, (unsigned char *)pOrgImg);
    png_close_file(&Png);

    dbg_msg("skin_fix", "processing file: %s", pFileName);


    CPixel *pBody = (CPixel *)mem_alloc(256*256*sizeof(CPixel), 1);
    mem_zero(pBody, 256*256*sizeof(CPixel));

    CPixel *pFeet = (CPixel *)mem_alloc(128*64*sizeof(CPixel), 1);
    mem_zero(pFeet, 128*64*sizeof(CPixel));

    CPixel *pEyes = (CPixel *)mem_alloc(128*128*sizeof(CPixel), 1);
    mem_zero(pEyes, 128*128*sizeof(CPixel));

    CPixel *pHands = (CPixel *)mem_alloc(128*64*sizeof(CPixel), 1);
    mem_zero(pHands, 128*64*sizeof(CPixel));


    SplitSkin(pOrgImg, pBody, pFeet, pEyes, pHands);

    // save here
    
    // body
    char aBuf[256];
    str_format(aBuf, sizeof(aBuf), "body_%s", pFileName);

    png_open_file_write(&Png, aBuf);
    png_set_data(&Png, 256, 256, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pBody);
    png_close_file(&Png);

    // hands
    str_format(aBuf, sizeof(aBuf), "hands_%s", pFileName);

    png_open_file_write(&Png, aBuf);
    png_set_data(&Png, 128, 64, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pHands);
    png_close_file(&Png);

    // feet
    str_format(aBuf, sizeof(aBuf), "feet_%s", pFileName);

    png_open_file_write(&Png, aBuf);
    png_set_data(&Png, 128, 64, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pFeet);
    png_close_file(&Png);

    // eyes
    str_format(aBuf, sizeof(aBuf), "eyes_%s", pFileName);

    png_open_file_write(&Png, aBuf);
    png_set_data(&Png, 128, 64, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pEyes);
    png_close_file(&Png);

    // create json file

    // split off .png
    str_format(aBuf, sizeof(aBuf), "%s", pFileName);
    int len = str_length(aBuf);
    aBuf[len-4] = 0;

    char pJsonFile[2048];
    str_format(pJsonFile, 2048, 
        "{\"skin\": { \n"
            "\t\"body\": { \n"
                "\t\t\"filename\": \"body_%s\", \n"
                "\t\t\"custom_colors\": \"false\" \n"
            "\t},\n"
            "\t\"hands\": { \n"
                "\t\t\"filename\": \"hands_%s\", \n"
                "\t\t\"custom_colors\": \"false\" \n"
            "\t},\n"
            "\t\"feet\": { \n"
                "\t\t\"filename\": \"feet_%s\", \n"
                "\t\t\"custom_colors\": \"false\" \n"
            "\t},\n"
            "\t\"eyes\": { \n"
                "\t\t\"filename\": \"eyes_%s\", \n"
                "\t\t\"custom_colors\": \"false\" \n"
            "\t}}\n"
        "}"
        , aBuf, aBuf, aBuf, aBuf);

    char aBufJson[256];
    str_format(aBufJson, sizeof(aBufJson), "%s.json", aBuf);

    IOHANDLE JsonFile = io_open(aBufJson, IOFLAG_WRITE);
    io_write(JsonFile, pJsonFile, str_length(pJsonFile));
    io_close(JsonFile);

    
    mem_free(pOrgImg);
    mem_free(pBody);
    mem_free(pEyes);
    mem_free(pHands);
    mem_free(pFeet);

    return 0;
}

int main(int argc, const char **argv)
{
    dbg_logger_stdout();

    if(argc == 1)
    {
        dbg_msg("Usage", "%s FILE1 [ FILE2... ]", argv[0]);
        return -1;
    }

    for(int i = 1; i < argc; i++)
        FixSkin(argv[i]);
    return 0;
}

As ppl are also complainin about "all skins are lost, crap new skinsystem, blabla" I wrote some small/ugly script to convert 0.6 skins to 0.7 skinsystem. Atm it generates the json file, the hand and the body (missing feet and eyes as I got boring and running out of time (: ).

edit:
to the post above me: mods won't be banned in (near) future (would be also a bit useless, as far as u can host own masterserver, well u need to change your master config but..), simply no dev cares about mods, why should they do at all?

11 (edited by Broken 2013-06-14 19:37:33)

Re: [DISCUSSION] Mods

BeaR wrote:

simply no dev cares about mods, why should they do at all?

Because it's a nice thing to do and an exension of TW and its community? I got no complaints, but no reason to dislike mods either.


On topic: I'd like to request again the editor allow direct inputs of numbers in all fields. It's very bothersome to click right arrow 100 times every time.

12

Re: [DISCUSSION] Mods

BeaR wrote:

to the post above me: mods won't be banned in (near) future (would be also a bit useless, as far as u can host own masterserver, well u need to change your master config but..), simply no dev cares about mods, why should they do at all?

First of all. the difference is major. If mods won't be supported officially, newcomers will play standart gametypes instead of going straight to ddrace. Still, that means we should make race official, and also probably instagib. That's one tough task.
At second, the game should have the devs that do care about the game. If they don't, they may make their own underground teeworlds as much as they like, if they really don't care about anyone's opinion, while actual developers will at least sometimes think of what's best for gameplay and community.

13

Re: [DISCUSSION] Mods

Variecs wrote:

At second, the game should have the devs that do care about the game. If they don't, they may make their own underground teeworlds as much as they like, if they really don't care about anyone's opinion, while actual developers will at least sometimes think of what's best for gameplay and community.

Fun fact: community rarely makes good choices for the community. The "community" is primarily composed of players who will have left Teeworlds in 6 months or a year.

Not Luck, Just Magic.

14

Re: [DISCUSSION] Mods

Dune wrote:
Variecs wrote:

At second, the game should have the devs that do care about the game. If they don't, they may make their own underground teeworlds as much as they like, if they really don't care about anyone's opinion, while actual developers will at least sometimes think of what's best for gameplay and community.

Fun fact: community rarely makes good choices for the community. The "community" is primarily composed of players who will have left Teeworlds in 6 months or a year.

Another fun fact: I have not seen anyone of the community who is willing to take responsibilty for real development (regarding graphics).

Every kid wanna earn "fame" fast by creating shitty mods. Crappily coded, no sense of balancing, ignoring the real development. Developing is not a quick win. Decisions have to be well thought. Concepts need to be worked out and to be thrown away if they do not match the teeworlds feeling. We've thrown away a lot of concepts and still we do.

But maybe you are right and we should listen to the community and make every tee invincible, let them blink in every color, granting them infinite ammunition and letting them fly. Maybe you are wrong and we do not want to give people shit only because millions of flies love shit.

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

15

Re: [DISCUSSION] Mods

Déjà vú.... pls advance in this discussion... xD

-----------

I'm a modder... i made stuff for my own satisfaction and for teeworlds client... and i say do with your time what you want. For everything else use github....

16

Re: [DISCUSSION] Mods

Landil wrote:

Another fun fact: I have not seen anyone of the community who is willing to take responsibilty for real development (regarding graphics).

Well I would participate but I think the graphical developement section is a little bit "too high" for me as I'm not the best in using Inkscape.

visit our clan!
=Eagle=

17

Re: [DISCUSSION] Mods

Delo wrote:
Landil wrote:

Another fun fact: I have not seen anyone of the community who is willing to take responsibilty for real development (regarding graphics).

Well I would participate but I think the graphical developement section is a little bit "too high" for me as I'm not the best in using Inkscape.

Just have a look at my first version of the jungle tileset. It was not very good, but at least it worked and I kept my fingers on the pulse and reworked it (with Zatline and Crises).

There are several options to help graphical development.
1. create a complete tileset incl. main tiles, doodads, background etc. send it to me and I will help you to improve it. If it's good we will use it in a future release
2. create a video/game trailer or teaser which can be used as an intro for the game, too.
3. help designing a new homepage with the same functionalities as the current one.
...

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

18

Re: [DISCUSSION] Mods

Landil wrote:
yemDX wrote:

That's right, Teeworlds developers just have to follow the mindset of the people who actually play the game more than once a couple months (such as none of the current developers)

Uhmm yeah, okay.

The video is private, by the way, but judging from the tone of your post I assume you either disagree or are pretty spiteful about it. I hope you don't disagree with me about this. Name a current contributor to the Teeworlds source who plays vanilla Teeworlds. I have never seen a single Teeworlds developer playing a vanilla gametype besides matricks (who is, despite not playing much as far as I know, still understands the game mechanics very well and can give any mid-level player a run for their money because of this understanding despite his weak aim/movement) since 0.5.

I appreciate the effort by people who don't play Teeworlds yet contribute, but I do not think anyone who does not play the game should be allowed to make gameplay changes, or something like switching the chat and highlight sounds. Seriously, why? This just pissed people off.

Ex-King of Teeworlds

19

Re: [DISCUSSION] Mods

What happened? I didn't feel anything wrong with 0.7.
Skins are still there. Just need a little bit change.
Chat is still there.
Emote is gone? I didn't notice that.
Mods. Hmm... It's really a tough time.

But, for modder, there's finally and officially a no-respawn system in the new-0.7-game-mode, it's a good thing for me at least.

Greet from China!
Teeworlds Chinese Website

20

Re: [DISCUSSION] Mods

yemDX wrote:
Landil wrote:
yemDX wrote:

That's right, Teeworlds developers just have to follow the mindset of the people who actually play the game more than once a couple months (such as none of the current developers)

Uhmm yeah, okay.

The video is private, by the way, but judging from the tone of your post I assume you either disagree or are pretty spiteful about it. I hope you don't disagree with me about this. Name a current contributor to the Teeworlds source who plays vanilla Teeworlds. I have never seen a single Teeworlds developer playing a vanilla gametype besides matricks (who is, despite not playing much as far as I know, still understands the game mechanics very well and can give any mid-level player a run for their money because of this understanding despite his weak aim/movement) since 0.5.

I appreciate the effort by people who don't play Teeworlds yet contribute, but I do not think anyone who does not play the game should be allowed to make gameplay changes, or something like switching the chat and highlight sounds. Seriously, why? This just pissed people off.

I am playing teeworlds on local lan-parties. Does not happen very often, but in regard to my freetime it occurs pretty often ;P

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

21

Re: [DISCUSSION] Mods

HeroiAmarelo wrote:
Landil wrote:

It's not "Teemods".

Landil wrote:

- ban all mods (this is teeworlds and not modworld)

Whats the Teeworlds Mod Based game name after all?

Well, my personal point of view is that Teeworlds Devs should not care about what the players prefer.
They should care about making a free open source game, were people can play but not code a thing.
Players should only be able to play the gametypes that the official team creates, noone else should be able to create a thing.

I think the best opcion we have is to create an account system and ban all the players who prefer to play non-official gametypes then official ones or block all the DDRace, zCatch, OpenFNG, etc. servers on the server list right now.

This is Teeworlds,
Teeworlds is a free open source game,
But you mustn't be "free" to play whatever you want,
Only what the Devs want.

Devs know that people prefer to play mods, and they dislike to know that some people creates a better game experience than them, that's why they are acting in this selfish way.

Whoa, if we would let you design a game you would be bankrupt before you get out of beta lol.