151

Re: [TeeUniverse] Devlog

android272 wrote:

I guess I don't understand. From the standpoint of skemone who would make a gun I would think that I would make the graphics, the animations, place it were it needs to be when the tee holds it, all the attributes that the gun has, maybe some actual programming to make completely new functionality, rap it all up in a fike/many files that I could post here that people could then use for their mods which are somehow put on a server which sends packets that the client then interprets and presents it on the players screen.......

There is a clear separation between the server side and the client side. The assets file contains only elements that the client needs. The client need a description of how to render the weapon, and how to animated the weapon when the server emit the "fire" signal. Please note that it's the server that send the signal, not the client. The client only send that you want to fire something, but not that the weapon is actually firing something. Technically, the server send the weapon ID and the time corresponding to the last fire signal. For example, the client don't know if the weapon is a melee weapon or not. You need to program something in C++ for that in the server.

android272 wrote:

As a person who is making a new gun for Teeworlds I don't really care how everything up to presenting an image to the player works. I just want to know how I can save myself some work and make one bullet animation for three guns that could fire the same bullet at three different rates. I really just want to make the shooting animation, the bullet animTion, the reload animation, and maybe the empty animation. And I think it would be best if it were presented as "the same gun".  Whether that's true or not does not really matter the the one making the gun. That's what I am saying. Now for modders who want to make a gun that can not do what ModAPI gives them out of the box all of this stuff may be nessisary to know when coding.

To make thing clear: of course, you can reuse any elements. You can reuse assets, and you can reuse code in the server.

152

Re: [TeeUniverse] Devlog

How do you install this? I am running Ubuntu Linux 14.04 for a minute and I already have your source code.

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

153 (edited by necropotame 2016-03-10 21:00:56)

Re: [TeeUniverse] Devlog

You can visit this page: https://www.teeworlds.com/?wiki=CompilingEverything
I've not tested it, but this should works:

fetch http://github.com/downloads/matricks/bam/bam-0.4.0.zip
unzip bam.zip
rm bam.zip
cd bam
./make_unix.sh
cd ../teeworlds-modeapi
../bam/bam

About what you said about hair and other stuff to animate, I think that bones are needed here. So I've decided to implement skeletal animation in teeworlds. It will replace the actual animation system.

154 (edited by Schwertspize 2016-03-11 00:23:19)

Re: [TeeUniverse] Devlog

@necropotame no please bot. There is a better way to compile on Ubuntu.

sudo apt install bam build-essential python
cd to/the/source
bam -j <number of cores>

(the last time I checked the dependencies.... Bam is the build system (specifically made by magnus auvinen for teeworlds I think, but in the repos), build-essential is the compiler and python is needed for the scripts I think). The -j option speeds up the build enormously (on my server, it compiles the server from scratch in less than 3 seconds)

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

155

Re: [TeeUniverse] Devlog

src/engine/client/input.cpp:3:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
src/engine/client/sound.cpp:11:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
src/engine/client/text.cpp:13:22: fatal error: ft2build.h: No such file or directory
 #include <ft2build.h>
                      ^
compilation terminated.
src/engine/client/client.cpp:56:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
bam: 'build/x86_64/debug/objs/engine/client/input.o' error 256
[5/6] #3 c++ src/engine/client/backend_sdl.cpp
src/engine/client/backend_sdl.cpp:2:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
bam: 'build/x86_64/debug/objs/engine/client/backend_sdl.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/text.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/sound.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/client.o' error 256
bam: error: a build step failed
ubuntu@ubuntu:~/Downloads/teeworlds-master$ 

that did not seem to work...the strange thing is that all the files that it says are missing are where it says they are not.

necropotame wrote:

About what you said about hair and other stuff to animate, I think that bones are needed here. So I've decided to implement skeletal animation in teeworlds. It will replace the actual animation system.

will you not be able to do sprite based animations? What do you mean "it will replace the actual animation system"?

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

156

Re: [TeeUniverse] Devlog

Sorry, I forgot to mebtion

For 0.7: libsdl2-dev
For 0.6: libsdl1.2-dev

Install them with

sudo apt install lib....
Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

157

Re: [TeeUniverse] Devlog

android272 wrote:
src/engine/client/input.cpp:3:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
src/engine/client/sound.cpp:11:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
src/engine/client/text.cpp:13:22: fatal error: ft2build.h: No such file or directory
 #include <ft2build.h>
                      ^
compilation terminated.
src/engine/client/client.cpp:56:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
bam: 'build/x86_64/debug/objs/engine/client/input.o' error 256
[5/6] #3 c++ src/engine/client/backend_sdl.cpp
src/engine/client/backend_sdl.cpp:2:17: fatal error: SDL.h: No such file or directory
 #include "SDL.h"
                 ^
compilation terminated.
bam: 'build/x86_64/debug/objs/engine/client/backend_sdl.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/text.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/sound.o' error 256
bam: 'build/x86_64/debug/objs/engine/client/client.o' error 256
bam: error: a build step failed
ubuntu@ubuntu:~/Downloads/teeworlds-master$ 

that did not seem to work...the strange thing is that all the files that it says are missing are where it says they are not.

Try doing `bam -c config` before trying again.

158

Re: [TeeUniverse] Devlog

Teeworlds0.7 without included SDL/Freetype = many questions like this

Please avoid insults, particularly to devs. // Dune
Removed insult to Oy // heinrich5991

I will be banned if I troll again ...

159 (edited by android272 2016-03-12 05:14:33)

Re: [TeeUniverse] Devlog

Delete

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

160 (edited by Neox 2016-03-12 05:28:13)

Re: [TeeUniverse] Devlog

android272 wrote:

Delete

(I had enough time to read what you wrote)

It's because he also thinks it. And I also think it, it is VERY stupid (to act like Oy did).
I was gonna ask the question too but I found some help fortunatly, after an hour of two. (Maybe more lol)

while(!Success())
    TryAgain();
Try until you succeed.

161

Re: [TeeUniverse] Devlog

Me too... It took me at least hours to get all dependencies done

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

162

Re: [TeeUniverse] Devlog

Neox wrote:
android272 wrote:

Delete

(I had enough time to read what you wrote)

It's because he also thinks it. And I also think it, it is VERY stupid (to act like Oy did).
I was gonna ask the question too but I found some help fortunatly, after an hour of two. (Maybe more lol)

I deleted what I said because I figured a moderator wrote the red, I have seen it before and it looked odd.  Also Neox you have a PM in your mail box.

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

163

Re: [TeeUniverse] Devlog

android wrote:

will you not be able to do sprite based animations? What do you mean "it will replace the actual animation system"?

Sprite based animation will be still suported (they are needed at least for muzzles). The actual system contains Animation (to animate one element) and TeeAnination (an Animation for each body part). Instead of these both objects, I will implement Skeleton, SkeletonAnimation and SkeletonSkin. The first one will define a hierarchy of bones (a Tee for example, but you can define what you want like in spine), the second one will define how to animate a skeleton and the last one will define how to attach sprite on it.

164

Re: [TeeUniverse] Devlog

ubuntu@ubuntu:~/Downloads/teeworlds-master$ bam -j 4
[1/2] #1 c++ src/engine/client/text.cpp
src/engine/client/text.cpp:13:22: fatal error: ft2build.h: No such file or directory
 #include <ft2build.h>
                      ^
compilation terminated.
bam: 'build/x86_64/debug/objs/engine/client/text.o' error 256
bam: error: a build step failed
ubuntu@ubuntu:~/Downloads/teeworlds-master$ 

I am still getting this error even after installing bam, build-essential, python, and libsdl2-dev. even tried bam -c config before I did bam -j 4 again.

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

165

Re: [TeeUniverse] Devlog

You could try installing freetype if there are missing freetype dependencies... iirc the package name is "libfreetype6-dev"

166

Re: [TeeUniverse] Devlog

Sounds great and all, but what you need teeworlds for? Dropping vanilla compatibility would make the development much easier and faster.

167

Re: [TeeUniverse] Devlog

The idea behind ModAPI is to extend Teeworlds and keep the same community. So compatibility is very important, at least for the first year. Then we can, if there is enough player that use ModAPI, create some ModAPI-only servers and start to implement so col new features. But for now, it's better to keep the compatibility

168 (edited by Schwertspize 2016-03-24 23:44:50)

Re: [TeeUniverse] Devlog

After looking a bit into github api docs, my suggestion is possible, but maybe a bunch of work.

Introduction
Basically we have a central repository hosted on github for sprites/mapres/other mapping stuff. One who makes a map can browse the repository, search it etc, then select it and use it. Thanks to the mapinfo file (or it'd replacement), these resources stay at github and a modapi server fetches them to serve them as embedded to non modapi clients, or a modapi client fetches them directly from github. We can even manage licenses if we say, like, "everything there is licensed cc-by-sa" and let the server generate a license info text (on modapi client a discrete text box, on non-modapi motd appendix). New data is done by pull requests via the api

So how to use uploaded files:
- map-making client downloades them to generate a mapinfo file and display them
- map-running server downloades them to serve them as "embedded" to non-modapi clients
- connecting vanilla client gets them via embedded pictures
- connecting modapi client gets them as link or such, where to find it on github and fetches it

How we add new resources:
1. resource creator presses the share button, client loggs into github api with a token, otherwise request a token for this usage (public_repo scope)
2. Forks the central repo if its needed
3. Create a branch for the forked repo
4. Use the "upload file" / "create file" method to push one file to the branch
5. Create a pull request to the central repo

6. A member of the approval team sees the pull request displayed in the client
7. Presses either allow or deny, while the only rule is the name and/or the category (don't put quads under sprites and such), if deny a short message why)

Additional notes:
- we need a pull request limitation to only allow adding new files
- everything is possible with the github api, even displaying the pull requests' pictures as a selector for the pull requests, even select the type while uploading, maybe as second repo or as Metadata
- this may require a bit of work

"FAQ":
1. Why choose a central repo?
This is, because it makes creation of maps much easier if we have every compatible work in one place.

2. Why choose github?
Just because github is the fastest and most reliable host, and provides a good api

3. Why cc-by-sa?
I think shared mapres should be licensed under creative Commons. This also applies to just normally forum-shared stuff. And it makes managing copyright easy because the server can just generate a copyright note for you

4. That repo is git. Can't everyone access it, and via the Web page?
Although you could possibly clone repos and merge and such, it is not recommended too do it with a standard git client. Using github client as well as "hub" may he content of a discussion, the same applies to the github web interface. 

I wanna say that this is a bit too large for me, but I would be very thankful if you at least think about it.

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)

169 (edited by SealOfTheTime 2016-04-03 13:48:02)

Re: [TeeUniverse] Devlog

What's about player validation system? So player can register on some website and then login in client. Others will see star near his nickname telling that this player is validated. To check if player validated on servers without ModApi support you can send information about on what server player is playing to global server and then get it from client that want to check if this player validated. This'll protect players from fakes and improve shitty default friends system.(Changing clan and nickname disable it work)

170

Re: [TeeUniverse] Devlog

SealOfTheTime wrote:

This'll protect players from fakes and improve shitty default friends system.

So what exactly are the dangers of a faker?

privet

171 (edited by SealOfTheTime 2016-04-03 17:43:35)

Re: [TeeUniverse] Devlog

Netherland wrote:
SealOfTheTime wrote:

This'll protect players from fakes and improve shitty default friends system.

So what exactly are the dangers of a faker?

You don't exactly know where is ur pal or mod author etc. And fakes can destroy your reputation of good man or player. Like someone with nickname "Netherland" joins ur favourite server and use cheats, insult other players and do other bad things. Admin bans him, but next you join. Admin thinks that you're the same person. *BOOM* you're banned too :3

172

Re: [TeeUniverse] Devlog

SealOfTheTime wrote:
Netherland wrote:
SealOfTheTime wrote:

This'll protect players from fakes and improve shitty default friends system.

So what exactly are the dangers of a faker?

You don't exactly know where is ur pal or mod author etc. And fakes can destroy your reputation of good man or player. Like someone with nickname "Netherland" joins ur favourite server and use cheats, insult other players and do other bad things. Admin bans him, but next you join. Admin thinks that you're the same person. *BOOM* you're banned too :3

That's just a bad admin, not looking carefully enough and just banning by name.
I used to run a few servers myself with a lot of cheaters and such things, but I never ban people by their name but only by their actions.

The players on the other hand, well, if they know you, they would (should) know that a person with the same name, but acting completely different is very likely not you.
For the players that you don't know, why would you care?

privet

173

Re: [TeeUniverse] Devlog

@Schwertspize Add a dependency to a service non-open-source server like GitHub is completely out of question for a open-source game like teeworlds.

@SealOfTheTime It could be done, but this is not a priority for now. However, each server can create it's own database and share it with other servers (independently of ModAPI).

174

Re: [TeeUniverse] Devlog

SealOfTheTime wrote:

What's about player validation system? So player can register on some website and then login in client. Others will see star near his nickname telling that this player is validated. To check if player validated on servers without ModApi support you can send information about on what server player is playing to global server and then get it from client that want to check if this player validated. This'll protect players from fakes and improve shitty default friends system.(Changing clan and nickname disable it work)

If someone wants to make this a reality then someone should make a vanilla Teeworlds/modAPI compatible mod that server admins could add to their servers. this really is not a modAPI thing but a mod you would place on top of modAPI. That's kinda the point of modAPI is to be a framework for other mod makers to build on top of.

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds

175

Re: [TeeUniverse] Devlog

Ok I finally got my computer back up and running I have installed ModAPI how everyone said to without errors.  But I am not sure what to do from here? I ran /teeworlds-maste/build/x86_64/debug/teeworlds but this seems to be vanilla Teeworlds 0.7 and not ModAPI.

Jesus is my Lord and Savior. Praise be unto God for giving us a way to live with him.

Check out my DeviantArt for all my TeeWorlds art and ideas for Teeoworlds