Game Producer Posted May 29, 2012 Share Posted May 29, 2012 Pardon me if this has been discussed in other thread. I tried search but found no thread, so thought to post one. I have faint recollection that Josh did mention he wants to improve this, but not certain. In Leadwerks3D, what kind of possibilities there are for networking? I know Josh has made Netwerks (never got hang on it though) system that can even be used with bmax in LE2. Now, what about Leadwerks3D? Will there be some sort of networking in the launch time? Should we use something external system (own enet or raknet or something). In case of using something external such as Raknet, is there going to some sort of wrapper that would tie Raknet functions easy to plug in? This is not a feature request. I'm just interested to hear bit more details on what's been planned. Also, please keep separate "currently there are" and "also these have been planned" in the answers Quote Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48 game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine Twitter - Unfollow me Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 I started writing yesterday a simple wrapper for WinSock. Today I will make final overseas tests to see if I should use IPv4 or IPv6, or both, depending which is faster. Of course IPv6 support is a nice bonus, but it should not make things slower, so I might need to include native IPv4 code as option too. 1 Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Naughty Alien Posted May 29, 2012 Share Posted May 29, 2012 ..Raknet foreva.. 1 Quote Link to comment Share on other sites More sharing options...
Game Producer Posted May 29, 2012 Author Share Posted May 29, 2012 I'm using bmax, so raknet not for me... bmax wrapper is ages old? What about stuff like exitgames.com Photon? Quote Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48 game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine Twitter - Unfollow me Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 I can make a wrapper for bmax too, it's still coded in C/C++, but BlitzMax can link arch files from C/C++. So it's not much additional work for me once I have the original C++ wrappers ready. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 Amazing, it works! I found out a new way to make super fast C/C++ libraries for BlitzMax. You just create a static library in C++, and then you can use the arch file directly in BlitzMax: SuperStrict Module Siipi.Fastnet Import "libfastnet.a" Extern Function FastnetPrint:Int() EndExtern Type Fastnet Method Info:Int() FastnetPrint EndMethod EndType This has the benefit, that you don't need to write horrible dll wrappers, which don't support typedefs and other fancy C++ stuff, and your BlitzMax game is just one single exe, with no ugly dlls hanging around. Then your actual game uses Fastnet like this: SuperStrict Import Siipi.Fastnet Global net:Fastnet=New Fastnet net.Info Leadwerks3D can be used the same way directly in BlitzMax, without needing to use an engine.dll. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Josh Posted May 29, 2012 Share Posted May 29, 2012 The plan in Leadwerks3D is to build networking into the engine so you only have to expose an entity to the network, and it automatically gets updated and handled. This way physics can be synced over the network without you doing any extra code. I'm saving this for some time after the initial beta release, since it's not critical for most games, but it will be much more supportive than the basic network commands in LE2. I've already prototyped a system like this and it's easy to code multiplayer games with. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 I hope the internal networking can be turned off though, because we want to use also other networking libs, and other physics libs. Or I can recompile it without the HAVE_LE3_NETWORK define Actually I was thinking, there should be a Leadwerks3D full feature version, and a Leadwerks3D core version, which has only the renderer. Technically it's the same source code, but the full version is compiled with all those standard HAVE_FEATURE defines. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Game Producer Posted May 29, 2012 Author Share Posted May 29, 2012 Josh, that sounds better than I could imagine. Naturally there are different type of games, so will be interesting to see what you can are cooking. @LumoojaMetatron: heh, you sure have energy ^^ - when will you show us a demo EDIT: Eh... I mean Metatron, I honestly didn't even realize typing that. Somehow the previous nick got stuck on my mind... Quote Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48 game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine Twitter - Unfollow me Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 Well, the problem is I have too much energy, so I start to make tons of ideas, but never finish anything But Fastnet is so simple and fast, so I really focus on this now. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Flexman Posted May 29, 2012 Share Posted May 29, 2012 Raknet wrapper works fine for current version of BMX. Still using it here. Quote 6600 2.4G / GTX 460 280.26 / 4GB Windows 7 Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT Tricubic Studios Ltd. ~ Combat Helo Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 I think it would be nice to have also a free alternative to RakNet. The best tools come as a free and commercial version, not only as commercial. Only as free works though, like cURL. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Mumbles Posted May 29, 2012 Share Posted May 29, 2012 I started writing yesterday a simple wrapper for WinSock. Damn, I was silently doing one of those too. I thought you were doing SDL_net? For reference though, I was only considering IPv4. Quote LE Version: 2.50 (Eventually) Link to comment Share on other sites More sharing options...
Game Producer Posted May 29, 2012 Author Share Posted May 29, 2012 @Flexman: Is the raknet wrapper this one: http://repeatuntil.o...knet/index.html ? I got error: ►►►ERRORjimon.raknet was not built Build Error: failed to compile C:/Program Files (x86)/BlitzMax/mod/jimon.mod/raknet.mod/Source/AsynchronousFileIO.cpp EDIT: wrapper version (win only) seems to work just fine. (3.82) Quote Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48 game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine Twitter - Unfollow me Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 Damn, I was silently doing one of those too. I thought you were doing SDL_net? For reference though, I was only considering IPv4. I know you were doing that. Haha, like in our Debian chat, I think we are switching poles (well, the earth is switching poles also) I tried sdl_net again, and was horrified that it actually needed sdl! And then sdl needed directx, wtf? SDL is ****. FreeGLUT is good, WinSock is good. I tested today USA to FI network speeds with WinSock, and like Rick said, indeed UDP is a bit faster, but very little. We are talking about 125s TCP vs 121s UDP, and knowing that TCP is reliable, it kinda is faster than UDP. I still haven't managed to get WinSock 2.2 (=IPv6/IPv4) faster than WinSock 1.2 (=IPv4 only), so I might just use WinSock 1.2 to get the worlds fastest networking library. I love speed, nothing else, it can be ugly as hell, as long it's the fastest and most reliable. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Game Producer Posted May 29, 2012 Author Share Posted May 29, 2012 to derail this topic & your side topic even more: I don't care what's fastest or most reliable... I want easiest to use! (and reliable enough for playing games) ^^ Quote Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48 game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine Twitter - Unfollow me Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 Easyness is also one of my main paradigms. Easyness + Speed + Small Size = Elegance. The classical definiton of Elegance is Effectiveness + Simplicity, which describes the same in a general context. Actually the classical definition describes it better, because effectiviness contains speed Damn, so can I say, I am so extreme in my opinions only because I aim for elegance? Is that it? That would explain why I like Linux over Windows also, it's all just because of elegance. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Mumbles Posted May 29, 2012 Share Posted May 29, 2012 I tried sdl_net again, and was horrified that it actually needed sdl! And then sdl needed directx, wtf? Really, I can't find any mention of Direct X in SDL, but there's plenty to do with Open GL... I can't see SDL achieving its cross platform goals if it relies on Windows proprietary graphics APIs. Quote LE Version: 2.50 (Eventually) Link to comment Share on other sites More sharing options...
Canardia Posted May 29, 2012 Share Posted May 29, 2012 Try to compile sdl_net from source, then you will see what I mean. SDL does not need directx, it just offers it as an option, which is quite stupid imo, because opengl wins directx in every aspect. Maybe I shouldn't use Windows, because library sources are so much harder to compile than on Linux (especially when everyone is using VS2008, which compiles and creates much slower exes than MinGW using the -O6 super optimization (it's not mentioned anywhere, but try it, if you don't believe me, it creates faster code than -O3)). It was kinda a shock to me to hear that Google Chrome actually uses DirectX9 to render WebGL, and the reason for that is the same as why Crysis uses DirectX: they were not informed that Josh caused ATI to fix the OpenGL drivers. Now even Carmack thinks that DirectX has some future, but this time he is wrong. I think Joshua will soon replace John Carmack as the buddha of 3D technologies When Leadwerks3D comes out, a lot of technologies will suddenly be obsolete, because they just don't do it as elegantly. There is no excuse not to do things elegantly. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Brent Taylor Posted May 30, 2012 Share Posted May 30, 2012 Really, I can't find any mention of Direct X in SDL, but there's plenty to do with Open GL... I can't see SDL achieving its cross platform goals if it relies on Windows proprietary graphics APIs. SDL under windows uses DirectDraw for all of it's rendering by default. To give you an idea of how this works: SDL is a wraper for DirectDraw and DirectDraw is a wrapper for GDI. It's pretty horrible. Meta is unfortunately right in this case, SDL_net does rely on SDL. Under windows that does include a dependancy on DirectX being installed. *EDIT: Just to be clear, he's right strictly about the DirectX dependency. The rest of it is all standard Lumooja nonsense. Quote There are three types of people in this world. People who make things happen. People who watch things happen. People who ask, "What happened?" Let's make things happen. Link to comment Share on other sites More sharing options...
marcus729 Posted May 30, 2012 Share Posted May 30, 2012 *EDIT: ... The rest of it is all standard Lumooja nonsense. I don't understand... you mean he's not accurate, uh I mean he's not informative or ah gee wiz I so dumb founded that I just can't formulate a coherrent thought to save my life. Is this how some people above came to this new level of consciousness! Quote Mobo G1.ASSASSIN2- GTX 580 4GB - 16 GB RAM - i7 3930 3.2 Giggles - Win 7 PRO Link to comment Share on other sites More sharing options...
Rick Posted May 30, 2012 Share Posted May 30, 2012 I don't recall DD being a wrapper for GDI. This was a long time ago when I was looking into DD but from what I remember DD takes advantage of hardware acceleration if available (which I would assume it mostly is these days) and if not available it falls back to the software drivers which can be calling GDI for some cases but not all. If DD was just a wrapper around GDI I'd rather use GDI because anything DirectX is a nightmare to work with. MS goes huge structures passing by pointer crazy with all things DirectX. But everyone was/is using DD to take advantage of hardware acceleration. Quote Link to comment Share on other sites More sharing options...
Marcus Posted May 30, 2012 Share Posted May 30, 2012 I'm saving this for some time after the initial beta release, since it's not critical for most games, but it will be much more supportive than the basic network commands in LE2. I would like to point out that most of the largest games are primarily multiplayer. Quote Link to comment Share on other sites More sharing options...
Brent Taylor Posted May 30, 2012 Share Posted May 30, 2012 I don't recall DD being a wrapper for GDI. This was a long time ago when I was looking into DD but from what I remember DD takes advantage of hardware acceleration if available (which I would assume it mostly is these days) and if not available it falls back to the software drivers which can be calling GDI for some cases but not all. If DD was just a wrapper around GDI I'd rather use GDI because anything DirectX is a nightmare to work with. MS goes huge structures passing by pointer crazy with all things DirectX. But everyone was/is using DD to take advantage of hardware acceleration. Ok, I'm partly mistaken here. DirectDraw (as in for DirectX 7, not higher) uses GDI by default unless a supported video card is found. At the time it was written as a completely seperate library (at a time where the 3DFX Voodoo cards were the most common around, most of which didn't support DirectX). Later versions of DirectX rewrote DirectDraw as a wrapper around Direct3D. The latest SDK doesn't include DirectDraw at all. Also, trust me, use DirectX over GDI. DirectX really isn't so bad. It's pretty normal as far as most API's go. (GDI is far worse in regaurds to what you complain about). I don't understand... you mean he's not accurate, uh I mean he's not informative or ah gee wiz I so dumb founded that I just can't formulate a coherrent thought to save my life. Is this how some people above came to this new level of consciousness! I just wanted to make it clear that I didn't agree with him beyond the one statement. =P Quote There are three types of people in this world. People who make things happen. People who watch things happen. People who ask, "What happened?" Let's make things happen. Link to comment Share on other sites More sharing options...
gamecreator Posted May 30, 2012 Share Posted May 30, 2012 I would like to point out that most of the largest games are primarily multiplayer. Not indie games. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.