threadgespräch(lachen erlaubt)

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
DW

threadgespräch(lachen erlaubt)

Beitrag von DW »

1. Post:
> spielt hier einer warcraft 3?also nit wow sonder warcraft...
>
> NW

Manchmal spiele ich Warcraft 1 das ist lustig weil das auf Rechner speep basiert dann sind die menschen zu schnell ^^ dann muss ich meinen Rechner immer runter takten

aber viel besser als Warcraft ist das kultspiel starcraft =D das spiele ich manchmal

2. Post
Rechner speed basiert?? lol. Denkst du, dieprogrammieren das extra so, dass es auf schnellen Rechnern schnell läuf(Quatsch)?

Wenn man kein frameunabhängiges Programmieren kann, kommt da natürlich sowas wie Warcraft 1 rauß.

Frameunabhängiges Programmieren: Egal wie schnell die Schleifengeschwindigkeit ist, der Speed wird automatisch den Schleifendurchgängen angepasst.

Bei zu großem FPS(Frames per Second, Schleifendurchgänge per Sekunde), wird der speed runtergerappelt.


3. Post:
du weißt das die übersicht deswegen in A ist und keiner was davon versteht (komischerweise auch ich irgendwie nicht, obwohl ich schon einigermaßen java kann)?

hängt vielleicht von der sogenannten übersicht und dokumentation -.-

4. Post:
Oder von der Erfahrung. Also, man prüft am Schleifenanfang die Windowsstartzeit. Nehmen wie, stime=2000 (Millisekunden)

So, am Ende der Schleife ist sie logischer Weise mehr. Sagen wir 7000.

Dann ist time=7000-2000
Also 5000.

Wäre der Schleifendurchgang länger(CPU langsamer, logischer Weise), wäre die Schleifenendzeit 10000, also 10000-2000, was 8000 ergeben würde. Der speed wäre also größer.
Bei nem schnellen CPU wäre die Schleifenendzeit z.B 4000, also wäre speed nur 2000, also würde sich die Position des Bildes um a*2000 Pixeln ändern.

Müsstest du jetzt verstanden haben.
DW

Beitrag von DW »

5. Post:
verstehen muss ich es nicht ^^ ich nehme programmiersprachen, wo zeit sowieso nichts zu bedeuten hat : Java
roflroflrofl

Später:
> > >von was redet ihr da eigentlich? mich interessiert nicht wirklich ob sich die Position des Bildes um a*2000 Pixeln ändert xD
> >
> > Meinen ja nicht nur Bild. Kann jede mögliche Addition/Subtraktion/Multiplikation und Division bei einer Variable sein. Und überhaupt alle Ausführungen der Befehle/Funktionen/Prozeduren.
>
gehts dir noch gut? hast du jemals in deinem leben ein aktuelles computerspiel gesehen? nein? dann laber hier net ^^

gut das du das erwähnst, die aktuellen spiele haben bestimmt keine funktionen und prozeduren :-P wollt ich mal nur so andeuten ....

Später:
Bestimmt wurde das nicht in "Assembler umgesetzt" sondern das durch eine SDK oder mit einem Framework für Windows bzw Linux.. weil assembler eigentlich nur durch das betriebsystem benutzt wird.. der rest wird dadruch gemacht..

Nächste Post:
> > Euch ist aber schon klar, dass ihr beide anscheinend keine Ahnung habt und dass das Meiste, was ihr hier von euch gegeben hat, vollkommener Blödsinn ist?
>
> das kommt immer bei raus, wenn man 3d spiele programmieren will...
>
> ich sags ja, macht minispiele
>
> PS: hat einer interesse an einem buttonspiel?

NEIN

Später:
> >was ihr hier von euch gegeben hat, vollkommener Blödsinn ist?
> So, was denn?

zB:

> Meiiiiine Fresse. Fast jedes Befehl ist eine zusammengepackte Funktion(In einigen Programmiersprachen). C++ hat sowas natürlich nicht.

Die Frage ist hier, was du unter Funktionen verstehst. Wenn du Funktionen im Sinne des funktionalen Paradigmas, wie es reine funktionale Sprache (zB Haskell) implementieren, dann hat C++ keine Funktionen. Wenn du Funktionen im Sinne der Prozeduren des imperativen Paradigmas hast (die in C/C++ Funktionen genannt werden), dann hat C++ Funtionen.

> Da muss man solche Grafik Motoren selber proggen.

C++ an sich kennt keine Grafik, ja.
Aber: Da kann man seine eigene Engine schreiben, in dem man zB DirectX benutzt (oder OpenGL, offen, frei und portabel), oder man nimmt eine der vielen freien Engines, wie zB OGRE, Irrlicht oder Sauerbraten. (Frei ist hier jeweils sowol im Sinn von "Freibier", als auch "Freie Rede" gemeint, also kostenlos und du kannst damit machen, was du willst).

> UE hat natürlich keine Funktionen.

Jein, siehe oben.

> Die haben das alle gezeichnet und eine Maschine hat das für sie selber in Assembler umgesetzt.

"gezeichnet"?
Und wie das genau kompiliert wurde, ist da vollkommen egal. Der Prozessor an sich kennt überhaupt keine Funktionen (im funktionalen Sinne), sondern nur Prozeduren (im imperativen Sinne), call (= push Adresse auf den Stack und jump) und return (= pop Adresse aus dem Stack und jump)... Im Endeffek muss also jeder Code einer Sprache, die ausgeführt wird, "umgewandelt" werden, Funktionen sind nur eine Abstraktion...

Und auch der Rest, besonders was du von Threads und Frames gesagt hast, zeugt von massivem Halbwissen...
DW

Beitrag von DW »

Später:
> Och man, jetzt habe ich noch was vergessen. Sinan, wenn du Spiele programmieren willst, empfehle ich dir C++. Mittlerweile gilt Java als die lahmste Sprache.

Java ist zwar langsamer, als echt kompilierte Sprache, aber die langsamste ist sie noch lange nicht. Da gibt es nämlich noch BASIC, Python, Haskell, ...

> Was is Java nochmal? Compiler oder Interpreter?

Ein Mittelding, es wird in einen optimierten Bytecode kompiliert, der zur Laufzeit interpretiert wird.

Später:
> >
> > Und auch der Rest, besonders was du von Threads und Frames gesagt hast, zeugt von massivem Halbwissen...
>
> So, das, was du geschrieben hast waren eigentlich nur weitere Erklärungen.

...die du nötig hast.

> Zum FPS: Ich weiß ja wohl, was das ist. Und wenn du meinst, dass ich nicht weiß, was threads und frames..

Wissen, was etwas ist und wie man es benutzt/realisiert sind zwei paar Schuhe...

> sind, dann haben wohl alle anderen in Programmierer boards auch keine Ahnung.

Naja, da sich in Programmiererboards meistens viele Anfänger und 1-2 "Betreuer" rumtreiben...

Später:
> Eben nicht. Wer hat denn gesagt, mein lieber Sven das das in C++ geschrieben ist?

Dann hast du doch sicher nichts dagegen, den Quellcode mal öffentlich zu machen?

> lollolollol, welches BASIC meinst du?

Fast jedes BASIC wird interpretiert und ist somit elend lahm.

> Sieht schon etwas kompliziert aus. Aber das ist im Vergleich zu richtigen Motoren nichts.

Habe ich auch nicht behauptet.

> Oh, zu Funktionen: Ich meine Prozeduren. (lol). Weißt schon, denen man Werte liefern kann.

Ok, dann lagst du in einigen Punkten falsch: C++ hat Funktionen, ebenso wie die Unreal Engine, die ja AFAIK in C++ geschrieben wurde...



Ich für meinen Teil würde davon abraten, rein DirectX zu benutzen, es ist nicht portabel...
Zuletzt geändert von DW am 16.10.2006 20:40, insgesamt 1-mal geändert.
DW

Beitrag von DW »

In welcher Post steckt der meiste Müll? Was verhandeln wir?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

sowas kommt eben dabei raus, wenn kleine kinder über spiele reden, die älter sind als sie selbst.
früher war das tatsächlich so, dass spiele keinen zeitcheck für zu schnelles laufen besaßen.
viele besaßen einen check gegen zu langsames laufen.
manche checks waren so eingerichtet,
dass am anfang eine festgelegte schleife lief, deren dauer geprüft wurde.
wenn das so bemessen war, dass das spiel ermitteln konnte ob es auf 33 oder auf 100 MHz läuft,
dann war natürlich nach oben offen. wenn die schleife zu schnell durch ist,
kann das spiel nicht ermitteln, ob es auf 100 oder 2000 MHz läuft.
damals hat halt niemand dran gedacht, seine games für 50-100mal schnellere rechner sicher zu machen.

ich hab hier auf nem 100er Pentium noch Frontier,
dem muss ich da schon ne kleine bremse verpassen.
optimal läuft es bei 33-50 MHz.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DW

Beitrag von DW »

Man, Gaman, so geht das:

Code: Alles auswählen

repeat
stime=millisecs()



speed#=millisecs()-stime
forever
Blitz3D example

Java ist zwar langsamer, als echt kompilierte Sprache, aber die langsamste ist sie noch lange nicht. Da gibt es nämlich noch BASIC, Python, Haskell, ...
Is doch nicht sein Ernst, oder?
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

> Man, Gaman, so geht das...
Damals waren die Programmierer halt zu blöde für sowas :lol: :twisted:...
Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Is doch nicht sein Ernst, oder?

Naja anscheinend schon :mrgreen:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Spielehits wie Stargoose und andere hatten auch keine Framebegrenzung. Neulich habe ich Stargoose auf einem 3GHZ-Rechner gespielt. Innerhalb dem Bruchteil einer Sekunde waren sämtliche Leben verbraucht, obwohl das Raumschiff für das Auge noch nichteinmal losgeflogen war... :D
Dann gab es da so tolle Programme wie z.B. moslow, damit konnte man den Rechner für ein Programm langsamer erscheinen lassen (weiss aber nicht, wie das funktioniert).
Aber schließlich gelang es, mit DosBox und MoSlow Stargoose in vernünftiger (und sogar einstellbarer...) Geschwindigkeit zu spielen.
Auch andere Spiele hatten das Problem. Manchmal funktionieren auch nur Teile des Spiels in korrekter Zeit, z.B. Eingangsanimationen, aber der Rest dann nicht.

Eine Mini-Anmerkung zum Beitrag Thema Java: Java kompiliert zunächst in Bytecode, den es dann zunächst interpretiert, aber seit den JIT-Compilern dann auch Stück für Stück in nativen Maschinencode compiliert und dabei einige weitere Laufzeitoptimierungen vornehmen kann.
!UD2
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Also auf meinem Athlon XP 3200+ läuft Warcraft I ohne Probleme. Nix von zu schnell. Habs letztes erst wieder hervorgekramt.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten