-
Posts
4,127 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Posts posted by Canardia
-
-
Quantum Link looks exactly like Windows 8 and Windows Phone.
The best looking OS ever, AMIGA OS 2:
-
..ill think twice about that..and also, remember that compiler is nothing but handwritten code..
Handwritten yes, but handwritten by many people. A single people can not do such optimizations by hand in assembler. Unless he writes a assembler optimizing language, which C and FORTRAN was made for - to have a faster assembler than hand written by a single person.
-
Every bit counts. And 1 million iterations is quite low because I usually make speed tests with 10 billion iterations to get a worthy difference.
Anyway, I'm not concerned about little speed differences at all, especially if they don't matter to the user at all.
It's more a question of the path of decision. When I test something, then I use the results to show the right path for my decision. And then I stay on that decision, because it is a tested decision.
Kinda like Zen programming
-
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.
-
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.
-
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.
-
You can't declare virtual methods in the cpp file, they work only in headers. It's like somekind of religion, totally fake.
So you must put all the code into the header, or go back to my gnostic method of programming fast programs.
-
Assembler is not cross-platform, and with normal coding, it's also slower than C/C++, because the compilers do insane optimizations which nobody can do by hand in assembler. Speed was an issue earlier, then there were times when PCs were fast (when Doom3 came out, and then again when Crysis 1 came out), and now they are slow again, because everyone buys the cheapest laptop they can get, so speed IS an issue. It's the game industry which dictates what PCs are sold. If nobody makes AAA games, nobody produces AAA PCs; and not the other way around.
Here's a realistic example. I am normal customer who wants to play BF3, so I go to a computer shop and ask for a PC which can run this game well. I also want to play with my friends in the new AAA MMO, so the computer should run that too. Then I get an AAA PC, and the number of low end PCs goes down by 1 on the global market.
I remember when we had like 50 people in our WoW guild, and they had the highest spec AAA PCs because playing WoW was very important to them, because all IRL friends played it too (and nobody had time for facebook because of the raiding and forum tactics topics), and they didn't want to lose some hard earned epix because of slow graphics or sluggish computer.
Today all IRL friends are on facebook, and play facebook games, so nobody buys AAA PCs anymore.
So facebook killed the AAA PCs, and PC gaming. Now facebook even wants to kill AAA phones too, by making their own iPhone clone. They already hired a bunch of Apple employees, which I heard on rock radio today.
-
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.
-
You can make seperate lists for each class, that works fine, and makes faster code. Then you have can have one method which loops through all the class lists. Also for memory allocation you should never use "new" or "malloc"; but always "alloca", because it uses fast linear stack memory and not slow fragmented heap memory.
-
You are wrong Roland.
Virtual is never needed in C++, and it only creates bloated and slow code.
I just tried this example and it works fine, it prints:
Cow
Horse
#include <cstdio> class GUI { public: void Draw() { printf("Cown"); } }; class Child : public GUI { public: void Draw() { GUI::Draw(); printf("Horsen"); } }; int main() { Child tia; tia.Draw(); }
-
Doesn't matter if it's at the beginning or somewhere else in the method, but yeah, usually it's in the beginning because of practical reasons, that the coder wants the base class done first and then only add his own stuff to it.
Your question is a bit wierd, so I'm not sure if you understood my first answer. What I meant is that you have a child class method like this:
class GUI { public: void Draw() { DrawBox(); } }; class MyChild : public GUI { public: void Draw() { GUI::Draw(); DrawCircle(); } };
-
GUI::Draw();
When this is used inside a child class, it doesn't need to be a static method, but it will actually call the instanced base class' method (which is kinda not instanced alone, but fusioned into one instanced with the child class).
-
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.
-
and even bigger question is which longitudal time it is, summer for northern or southern hemisphere, they are completely opposite, and then all the other longitudal time zones, which have spring, autumn, etc...
-
For the 3rd release of Leadwerks3D I want the following things:
1) Far range shadows without pixelation, and also with distance blur.
2) Sound collisions, reflections and refractions. Also doppler effects.
3) Mirrors and realtime cubemaps. Also wet shader using realtime cubemaps.
4) png support.
5) 7-zip support
6) incbin support, so that we can make single exe files
7) native 32-bit and 64-bit debian support
8) verlet physics based particles (although I think I rather make this myself)
-
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.
-
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.
-
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.
-
How come it looks so diffferent on a Mac? The value up/down buttons seem to be missing too, or are they faded in when hovering with the mouse over the field?
-
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
-
-
I played one 3D futuristic racer game an Android, and it was way better than any 2D game I've ever played on mobile. The touchscreen is quite horrible for games, so you should rely only on 3D tilt movements of the phone.That sounds like a comment from someone who comes from a PC and console gaming background and really doesn't understand the mobile market place, it's not and never has been about playing 3D games! I have 3D games on my mobile, they are unplayable imo ... it's just not enjoyable on small devices which is why the majority of sales are for simple 2D based games.
My Galaxy S2 screen is also much too small to play games or piano or guiter decently on it, so games should be rather designed for a 10 inch Android screen. And the iPhone screen is even smaller.
-
The market is full of 2D **** games, that's why nobody buys them. There is no engine on the market yet which can do decent 3D graphics on mobile, and that brings a new market opportunity.We don't NEED advanced features for mobile, don't you see. million+ copies sold of a 2D scroller and you are worried about 'advanced features'. All you need is to *get out there and do it*. Realtime shadows, higher poly counts etc only bring higher dev costs, not higher sales.
-
Leadwerks3D $1000, ShiVa3D $4000 (with server), Unity3D $5000. Then LE3D would be still the cheapest with the fastest and most advanced features.
Leadwerks3D networking? What there is currently? What's planned for the future?
in General Discussion
Posted
I made one final test, and tried how fast AJAX is compared to WinSock TCP.
WinSock made 100 28 byte transfers between USA and FI in 12s, and AJAX took 26s.