Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[Buch] 2D-Spieleprogrammierung in FreeBASIC

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 21.09.2011, 21:38    Titel: [Buch] 2D-Spieleprogrammierung in FreeBASIC Antworten mit Zitat

Ich schreibe gerade an einem Buch über 2D-Spieleprogrammierung. Das Projekt ist noch lange nicht fertig; zur Zeit behandelt es
  • die Speicherung der Leveldaten
  • Steuerung (Tastatur, Joystick, Maus)
  • Umgang mit Grafik, Hintergrund, double buffering
  • allgemeine Überlegungen zu Spielelementen

Zur Zeit ist ein Kapitel zu AI und Netzwerkaufbau in Arbeit; weitere Kapitel sind in Planung.

Inhaltliche Anregungen werden gern entgegengenommen. lächeln

Zur Projektseite: http://www.freebasic-portal.de/projekte/openbook-2d-spieleprogrammierung-59.html
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 22.09.2011, 14:42    Titel: Antworten mit Zitat

Ich habe es jetzt nur kurz überflogen, finde es aber sehr gut gelungen. Aber dennoch habe ich einige Anmerkungen:
Ein Buch, dass das Programmieren von Anfang an nicht beinhaltet ist möglicherweise nicht ganz sinnvoll. Die Leute, die die Grundlagen von FreeBasic auf Freebasic-Portal.de(neben Wikibooks einzige deutsche Anlaufstelle für FreeBasic-Tutorials) gelernt haben werden mit größter Sicherheit auch mit den Tutorials auf der Seite weitermachen und sich nicht dieses Buch direkt danach anschauen. Ich persönlich hasse es, wenn ich ein Tutorial/Buch suche und dann sehe "Für dieses Buch werden Vorkenntnisse gebraucht" und dann muss ich erst wieder ein Tutorial für das Vorwissen suchen, in dem oft auch noch steht, dass hierfür wiedereinmal Vorwissen benötigt wird. Wenn du ein Buch schreibst, dann erwähne bitte auch die Grundlagen. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 22.09.2011, 15:15    Titel: Antworten mit Zitat

Dieses Buch behandelt Spieleprogrammierung, nicht die Grundlagen der Sprache. Es richtet sich also an Leute, die mit FB angefangen haben und jetzt Spiele erstellen möchten. Die Vorkenntnisse beziehen sich also auf Dinge wie das Wissen um IFs und SELECT CASEs. Alles andere wird sehr gut beschrieben, sodass man kein Profi sein muss.

Ein reines Grundlagenbuch wäre schon deutlich aufwändiger, FBeginner hat z. B. über 250 Seiten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 22.09.2011, 16:49    Titel: Antworten mit Zitat

So mal ganz grundsätzlich habe ich auch ein Anfängerhandbuch geplant, aber das steht noch ziemlich in den Sternen. Wie MOD schon geschrieben hat: allein die Grundlagen nehmen ungemein viel Platz in Anspruch. Wenn ich im Buch vollständig bei Null anfange, dann werde ich zur Spieleprogrammierung nicht mehr kommen. Auf der anderen Seite ist es für jemanden, der die Grundstrukturen der Sprache schon kennt und der sich jetzt an sein erstes Spiel wagen will, ziemlich mühsam, sich seitenweise durch die Unterschiede verschiedener Datentypen und die Funktionsweise einer Schleife zu kämpfen, die er schon lange kennt - und wenn er dann zu großzügig überfliegt, überliest er wahrscheinlich die wirklich wichtigen Stellen.

Deswegen denke ich, ist es geschickter, ein Buch entweder zu den kompletten Grundlagen oder zu fortschrittlicheren Techniken zu schreiben. Oder meinetwegen einen Mehrbänder, aber das ist eine Frage der zur Verfügung stehenden Zeit. happy
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 09.10.2011, 21:09    Titel: Antworten mit Zitat

Update 09.10.11 (tolles Datum happy)
Ich habe ein Kapitel über Programmierung eines Minensuchspiels (ähnlich "Minesweeper") hinzugefügt, sowie ein Kapitel zum Einsatz von Threads.

Mein Wissen über Multithreading ist nur angelesen, deswegen bin ich für Expertenmeinungen sehr dankbar lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 09.10.2011, 21:44    Titel: Antworten mit Zitat

http://www.freebasic-portal.de/porticula/7-1-zeitsteuerung-in-einem-thread-1377.html
3. zeile von unten: terminate = 1 ... muss ebenfalls mit einem mutexlock/unlock geschützt werden, da auf die variable von 2 threads aus zugegriffen wird.

selber code:
mutex = MUTEXCREATE ... sollte vor dem threadcreate erfolgen, da es sonst mit einem mutex=0 gefüllt und im thread daruf zugegriffen werden könnte (und damit ein ungeschützter zugriff auf gemeinsame resourcen) statfindet.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 09.10.2011, 22:19    Titel: Antworten mit Zitat

Oh ja, das ungeschützte "terminate = 1" ist mir durchgerutscht verlegen
Danke schön!
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 18.10.2011, 11:10    Titel: Antworten mit Zitat

Update 17.10.11

Inzwischen hinzugekommen sind Kapitel zur Einbindung externer Bibliotheken, insb. für Musik/Sound und Rotation/Skalierung, sowie zu erweiterten grafischen Möglichkeiten wie animierte Objekte, Scrolling und Parallax Scrolling. Außerdem habe ich am Ende des ersten großen Abschnitts eine einfache Umsetzung von Minesweeper beigelegt. Es fehlt jetzt noch eine Abhandlung zur Kollisionskontrolle, dann bin ich soweit fertig.

Wo ich noch Hilfe brauchen würde:
Es geht im nächsten Schritt um die Erstellung eines guten Index. Wenn euch also Schlüsselwörter einfallen, nach denen ihr normalerweise suchen würdet und die bisher nicht im (noch mageren) Index auftauchen, würde es mich freuen, wenn ihr sie mir mitteilt. lächeln

Rechtschreib- und Grammatikfehler unterliegen dem urheberrechtlichen Schutz; also bitte solche Fehler an mich zurückleiten. happy Auch sonst freue ich mich über Anregungen und Verbesserungsvorschläge.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 17.11.2011, 22:53    Titel: Antworten mit Zitat

Update 17.11.11

Der erste Korrekturlauf ist abgeschlossen; der größte Teil der Rechtschreib- und Grammatikfehler sollte beseitigt sein. Als nächstes folgt eine Korrektur bzgl. Wiederholungen, Aufbaulogik usw.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
isiprimax



Anmeldungsdatum: 02.01.2009
Beiträge: 77

BeitragVerfasst am: 19.11.2011, 06:02    Titel: Antworten mit Zitat

Find ich eine richtig tolle Arbeit, die du da machst. MEHR grinsen sag ich da nur. Vllt gibt ja irgendwann sogar ein openb3d Kapitel grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 19.11.2011, 09:12    Titel: Antworten mit Zitat

Danke für das Lob! happy
isiprimax hat Folgendes geschrieben:
Vllt gibt ja irgendwann sogar ein openb3d Kapitel grinsen

Von mir sicher nicht grinsen aber da es sich um eine offene Lizenz handelt, spricht nichts dagegen, wenn jemand eine Erweiterung dazu schreiben möchte. lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 20.11.2011, 06:11    Titel: Antworten mit Zitat

@Nemored.

Du solltest auf seite 75/76 noch angeben, das Portnummern unter 1024 generell Registriert sind. Sie sollten nicht verwendet werden, da sie schon für andere Server vergeben wurden. ( http://de.wikipedia.org/wiki/Port_(Protokoll) )

Ideal ist also eine Portnummer die über 1023 liegt.

Auserdem sollte noch erwähnt werden, das Port's unter 1024 Root-rechte auf Linux benötigt (eventuell auch auf neueren Win-Versionen (aber da will ich mich nicht festlegen))


Das mit der "10" hinter der Portnummer ist auch nicht ganz richtig beschreiben.
10 Gibt hier an, das 10 Anfragen zur gleichen zeit gespeichert werden können.
Das heist nicht, das maximal 10 verbindungen gleichzeitig möglich sind.

Der unterschied ist folgender.
Wenn ein Server eine Anfrage bekommt, dann muss das via NewConnection verarbeitet werden. Erst wenn TSNE_Create_Accept aufgerufen wurde, ist die anfrage akzeptiert.
Sollten jedoch vor dem aufruf dieser accept noch weiter 12 Anfragen eingeben, dann befinden sich jetzt normalerweise 1 + 12 = 13 anfragen im speicher, welche nacheinander (und nicht parallel) von der newconnection aufgerufen werden.

Da die begrenzung jedoch auf 10 steht, heist das, das die letzten 3 verbindungsanfragen automatisch ignoriert werden.

Diese angabe begrenzt jedoch nicht die maximale Anzahl gleichzeitiger erzeugter verbindungen. Wenn jede sek. eine verbindungsanfrage enigeht, und der server nur 1/2sek. pro annahme benötigt, dann kann theoretisch maximal 65535 verbindungen angenommen werden.

Hoffe, ich habs nicht zu kompliziert erklärt lächeln

Du gibst auch an, das bei verwendung der EmpfängerID 0 die Daten automatisch an alle Clienten verschickt werden. Das ist auch nicht der fall bei TSNE.
Die Angabe von 0 funktioniert nur bei TSNE_Play, das im grunde auf die 0 nur damit reagiert, das der server die daten empfängt und merkt das eien 0 als empfänger eingetragen wurde. Dadurch sendet er die daten nicht an den eigetnlichen empfänger sondern an alle, indem es alle clienten die mit dem server verbunden sind aufruft und die daten verschickt.

habe das gefühl das du TSNE und TSNE_Play miteinander vermischt.

INDEX-Seite: n -> "nebenlaufige Programme" warscheinlich ä statt a


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 20.11.2011, 16:50    Titel: Antworten mit Zitat

Danke für die Hinweise, ich habe das gleich mal eingebaut.
Zitat:
habe das gefühl das du TSNE und TSNE_Play miteinander vermischt

Da hat dich dein Gefühl leider nicht getäuscht ... lächeln

Zitat:
INDEX-Seite: n -> "nebenlaufige Programme" warscheinlich ä statt a

missbilligen
pdflateX macht zwar bei Unicode-Verwendung (kleine) Probleme (die Umlaute werden aus zwei Zeichen zusammengesetzt und lassen sich dadurch nicht mehr so schön herauskopieren), weshalb ich doch lieber die LaTeX-Schreibweise hernehme - makeindex kann aber mit dieser Schreibweise offenbar nicht umgehen, stellt dafür die Unicode-Eingabe richtig dar. Saublöd, sowas durchgeknallt
Ich habe es ausgebessert, danke schön.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 22.11.2011, 20:13    Titel: Antworten mit Zitat

Probiers mal mit XeTeX, das sollte auch die Typographieprobleme bei den Codebeispielen bessern. (XeTeX geht imho mit Schriftarten besser um und hat afaik keine Unicodeprobleme) zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 22.11.2011, 22:05    Titel: Antworten mit Zitat

xelatex habe ich jetzt zum Laufen gebracht (und das macht wirklich einen guten Eindruck), aber die Unicode-Umlaute werfen jetzt noch andere Probleme auf - z. B. kann latex2html mit ihnen überhaupt nicht umgehen (und htlatex bricht bei mir immer schon nach etwa 15 Seiten ab, weil ihm angeblich der Speicher ausgeht ...) Habe also leider nicht viel gewonnen. verwundert

edit: Scheinbar tritt das Umlaut-Problem unter pdftex auch nur gelegentlich auf; gerade eben hatte ich gar keine Probleme. Vielleicht war das auch ein früherer Bug, der bereits behoben ist. Ist aber egal, weil ich die Sonderzeichen-Maskierung für die HTML-Umwandlung sowieso brauche.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 13.12.2011, 21:11    Titel: Antworten mit Zitat

Update 13.12.11

Das Buch wurde noch einmal komplett auf Rechtschreib- und Grammatikfehler überarbeitet. Offen ist immer noch der Index; ich freue mich weiterhin über diesbezügliche Vorschläge. lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kernelpanic



Anmeldungsdatum: 25.01.2012
Beiträge: 16

BeitragVerfasst am: 07.02.2012, 15:47    Titel: Re: [Buch] 2D-Spieleprogrammierung in FreeBASIC Antworten mit Zitat

nemored hat Folgendes geschrieben:
Ich schreibe gerade an einem Buch über 2D-Spieleprogrammierung. Das Projekt ist noch lange nicht fertig. . . Zur Zeit ist ein Kapitel zu AI und Netzwerkaufbau in Arbeit; weitere Kapitel sind in Planung.

Inhaltliche Anregungen werden gern entgegengenommen. lächeln

Zur Projektseite: http://www.freebasic-portal.de/projekte/openbook-2d-spieleprogrammierung-59.html


Hallo,
hinsichtlich künstlicher Intelligenz kann ich Dir 2 Bücher empfehlen. Darin geht es um das allgemeine Verständnis künstlicher Intelligenz; also keine Programmieranleitung. Ich persönlich fand beide Bücher sehr gut.

1. Hubert L. Dreyfus, "Die Grenzen künstlicher Intelligenz. Was Computer nicht können" 1972, Neuauflage 1992
http://www.amazon.de/Grenzen-k%C3%BCnstlicher-Intelligenz-Computer-k%C3%B6nnen/dp/3761083696

Quasi die Fortsetzung von 1972:
2. Hubert L. Dreyfus und Stuart E. Dreyfus, "Künstliche Intelligenz - Von den Grenzen der Denkmaschine"
http://www.amazon.de/gp/search?index=books&linkCode=qs&keywords=3499181444
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 14.02.2012, 22:16    Titel: Antworten mit Zitat

Update 12.02.12

Ich wurde darauf aufmerksam gemacht, dass ein im Buch auftauchender Link nicht mehr funktioniert - offenbar gab es im englischen Forum eine Umsortierung der Thread-Nummerierung. Wie auch immer, der Link wurde korrigiert.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 30.06.2012, 15:36    Titel: Antworten mit Zitat

Update 30.06.12

Neben der Behebung eines Fehlers in der Highscore-Bestimmung sind zwei Abschnitte dazu gekommen - einmal eine Erläuterung zur Sprachbibliothek mdLanguage (wer wider Erwarten Probleme mit der Bibliothek hat, kann ja mal ins Buch schauen grinsen ), zweitens ein Kapitel zum Abruf von Online-Inhalten. Unter anderem ist da ein Programm dabei, mit dem ihr die aktuelle Version des Buches ermitteln könnt. lachen

Die Nummerierung der Quellcodes auf der Projektseite hat sich durch das neue Kapitel etwas verschoben; ich will das aber im Augenblick noch nicht anpassen, weil ein weiteres Kapitel in Arbeit ist und ich dann die Verschiebung nicht gleich wieder vornehmen möchte. Dementsprechend wird es auch etwas dauern, bis die neuen Quellcodes in die Projektseite wandern. Sie lassen sich jetzt jedoch, dank verbesserter Formatierung, recht leicht aus der PDF-Datei herauskopieren.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 24.08.2013, 16:11    Titel: Antworten mit Zitat

Nach über einem Jahr gibt es wieder ein paar Neuerungen.

Update 24.08.13

Es kamen zwei neue Kapitel dazu, einmal zum Thema Geschwindigkeitsmessung und Optimierung, zum anderen eine kurze Einführung zum Einbinden von Lua (entspricht weitgehend dem Tutorial im Portal, bzw. umgekehrt). Die in der Projektvorstellung verknüpften Quelltexte befinden sich wieder auf dem aktuellen Stand. An der nicht immer korrekten Sortierung der Quelltexte lässt sich leider zur Zeit noch nichts ändern.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz