Arial, Verdana, Times New Roman etz. Frage

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Fusselohr
Beiträge: 236
Registriert: 02.04.2007 10:43
Kontaktdaten:

Arial, Verdana, Times New Roman etz. Frage

Beitrag von Fusselohr »

Hallo ihr Progger da draußen,
ich wollt mal wissen ob ich die oben genannten Schriften auch in meinen Spielen verwenden kann, oder muss ich wegen (c) oder so, meine eigene Schrift entwerfen ? Wenn ich die einfach nehmen kann, wollt ich auch noch fragen obs vielleicht irgendwo ne liste mit den erlaubten Schriften gibt ,da ich so viele versch. Schriften auf meinem PC hab und die bestimmt nicht alle standard sind.

Gruß Fusselohr <)
Mein Projekt besteht immernoch und wächst stündlich.

Du willst die Entwicklung mitverfolgen ?
Dann besuche jetzt den Entwicklungsblog unter
http://rpg-fire-games.blogspot.com/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

schriften, die vorhanden sind, darfst du verwenden.
du darfst keine dieser schriftarten bei deinem spiel mitliefern.

also z.b. Arial, Comic, CourierNew, TimRom, Tahoma und Verdana solltest du als vorhanden voraussetzen können.
ich bin mir aber nicht sicher, welche alle dazugehören.

du solltest auch an die win2000 nutzer denken, bei denen nicht alle XP-Fonts mitgeliefert werden.

vielleicht könnte mall jemand mit jungfräulichem win2000 seine vorhandenen Fonts benennen,
ich gleiche die dann mal mit den XP-standards ab...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fusselohr
Beiträge: 236
Registriert: 02.04.2007 10:43
Kontaktdaten:

Beitrag von Fusselohr »

Achso, also das heißt ich darf die Schriften verwenden, aber nicht mit meinem Spiel weiterschicken und ich muss darauf achten das Leute mit anderem Windows auch die Schrift haben, richtig ?
Mein Projekt besteht immernoch und wächst stündlich.

Du willst die Entwicklung mitverfolgen ?
Dann besuche jetzt den Entwicklungsblog unter
http://rpg-fire-games.blogspot.com/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yup, genau.

professioneller wäre es allerdings, eine eigene schriftart zu verwenden.

dazu musst du nicht unbedingt eine TTF erstellen,
es würde genügen, ein spriteset mit den benötigten buchstaben zu kreieren.

gerade wenn du sehr kleine schriftzüge erstellen willst, ist das die bessere lösung.
an standardschriften gibt es kaum was schönes in sehr klein.
und mehrfarbig ist mit standardfonts auch nicht möglich.

schau dazu auch mal hier:
http://www.purebasic.fr/german/viewtopic.php?t=2350
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Wenn man abersehr viel Schrift zum anzeigen hat (HIlfe-Text, große ToolTips), dann hat man sehr schnell ein Geschwindigkeits verlust im ganzen spiel, sodass es bei mir besser war einmal StartDraing aufzurufen und dann die gesamten Text zu drawen.

Gibt es auch ein Programm mit dem ich TTFs erstellen kann ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> dann hat man sehr schnell ein Geschwindigkeits verlust im ganzen spiel,
> sodass es bei mir besser war einmal StartDraing aufzurufen und dann die gesamten Text zu drawen.

möchte ich erstmal in frage stellen, halte ich für nen sonderfall bei dir.
es kommt auf die routine drauf an, mit der man den spritetext darstellt.
die sollte natürlich möglichst optimiert sein.

generell ist ein sprite schneller als jedes Draw.


> HIlfe-Text, große ToolTips

..würde ich ggf. vorab beim Init in ein ToolTipSprite schreiben,
und in der gameschleife selber nur noch das ToolTipSprite anzeigen.
(zumal ich bei ToolTipSprites gerne mit translucent-effekten rumspielen würde...)


> Gibt es auch ein Programm mit dem ich TTFs erstellen kann ?

da wurde von ner ganzen weile mal eins erwähnt, ist mir aber wieder entfallen, wie es heißt...

du könntest mal schaun, ob InkScape ne funktion hat, als TTF zu speichern.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

naja du hast schon recht, es gibt mehrere Möglichkeiten:
  • Ein FontSprite erstellen welches in echtzeit geclipt wird und dann die einzelnen Buchstaben angezeigt werden (gut für sehr dynamische Texte)
  • Ein FontSprite welches vorab zu 255 MINI-Sprites verarbeitet wird. (vorteil, das echtzeitclippen wird erspart)
  • Ein statischer Text wird zu einem beliebigen Zeitpunkt geclipt und dann in einem Extra-Sprite gespeichert (Gut für Hilfen oder große Texte)
  • Ganze Fenster mit Texten werden in Fenster-Sprites gespeichert
    (Gut für Spiele in denen mehrere Windows übereinander liegen)
Das problem ist nun das ich eigendlich alle 4 brauche damit ich immer das "passendste" zur Hand habe, was aber dazu führen würde das ich viel "Sprite-Schrott" hätte.

Wenn man meinen großen Text mit der 1. Variante darstellt, ist es langsammer als die Text mit DrawText zu erstellen. Das habe ich mehrfach getestet.
Es ist leider auch langsamer wenn ich große Textsprites (512*512) darstelle, weil es sehr viel Transparente Pixel gibt, die man sich eigendlich ersparen könnte.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich persönlich würde grundsätzlich niemals mit 1) arbeiten,
immer auf 2) zurückgreifen als basis.

dafür routinen schreiben, die man dann wahlweise
vorab für tooltips oder life für score etc. verwenden kann.

ganze fenstersprites würde ich eigentlich auch nicht verwenden,
weil es immer ein vorteil ist, große transparente teile garnicht erst darzustellen.
bei jedem HUD dient ein großer bereich fürs game selber,
da braucht man nix transparentes drüber displayn.

ein großes augenmerk muss man auch auf den speicherort richten.
dafür immer den gesamtbedarf im auge behalten.
wenn man sprites normal lädt/created, werden diese
wenn die Graka voll ist in den Hauptspeicher gepackt,
von dort aus darzustellen ist erschreckend! langsamer.

um das zu vermeiden kann es von vorteil sein,
die sprites für hauptmenu etc. wieder zu freen,
und dann erst die gamesprites zu laden, und umgekehrt.

wer keinen plattenzugriff dafür verwenden will,
kann beim start alle sprites in den Hauptspeicher laden,
und später die jeweils benötigten in das GrakaRAM kopieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fusselohr
Beiträge: 236
Registriert: 02.04.2007 10:43
Kontaktdaten:

Beitrag von Fusselohr »

Also sollte man um möglichst viel Speicher zu sparen den Text, soweit wie möglich, auf den Sprite machen und immer wieder die Sprites dann freen wenn ich sie nicht mehr brauche, oder ?

Gruß Fusselohr
Mein Projekt besteht immernoch und wächst stündlich.

Du willst die Entwicklung mitverfolgen ?
Dann besuche jetzt den Entwicklungsblog unter
http://rpg-fire-games.blogspot.com/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ähm... nein.

du musst nen mittelweg finden.

wenn du nichts vorab erstellst, benötigst du nur den platz in der graka,
den deine buchstaben-sprites belegen.
dafür wird dein game aber u.U. langsamer,
wenn du jeden Frame ne menge text darstellen willst.

um schneller zu sein, kannst du texte die sich nicht verändern,
also ToolTips und sowas, vorab auf extra sprites schreiben.
diese extra-sprites brauchen aber auch platz in der Graka.

wenn deine Graka "überläuft", verkehrt sich der geschwindigkeitsvorteil ins gegenteil,
weil dann die spites aus dem hauptspeicher dargestellt werden müssen,
was wesentlich länger dauert, als sie life zusammenzusetzen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten