| Typ/Viewer: RSS/ RSS-Reader | Aktualisiert: 24.05.2012 | Aufrufe: 378 |
Kategorie: Diskussionsforen > PC-Internet
Beiträge aus dem Forum von spieleprogrammierer.de.
Wer Spiele programmieren lernen möchte oder bereits eigene Spiele programmiert hat und diese einem Publikum anderer Entwickler präsentieren möchte, der kann dies hier tun. Die Seite bietet ein aktives Forum mit vielen Unterforen zu den verschiedenen Disziplinen der Spieleprogrammierung. Wer konkrete Programmierprobleme hat, kann im Forum mit schneller Hilfe rechnen. Weiterhin werden von der Community geschriebene Tutorials sowie Linklisten und Buchempfehlungen geboten. Von Zeit zu Zeit finden Programmierwettbewerbe statt, in denen kleine und einfache Spiele entwickelt werden sollen.
Nachrichten aus dem RSS-Feed: Spiele programmieren und entwickeln
fatal error LNK1120: 5 nicht aufgelöste externe Verweise(Wed, 23 May 2012 19:46:34 +0000) Hi,
ich versuche mich gerade daran mir OpenGL beizubringen, erhalte jedoch schon beim Kompilieren des Programms folgende Fehlermeldung:
Quellcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1>------ Erstellen gestartet: Projekt: Tutorial, Konfiguration: Debug Win32 ------
1>Der Buildvorgang wurde am 23.05.2012 21:41:19 gestartet.
1>InitializeBuildStatus:
1> Aktualisieren des Timestamps von "Debug\Tutorial.unsuccessfulbuild".
1>ClCompile:
1> Alle Ausgaben sind aktuell.
1>OpenGL_01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwSwapBuffers" in Funktion "_main".
1>OpenGL_01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwGetWindowParam" in Funktion "_main".
1>OpenGL_01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwOpenWindow" in Funktion "_main".
1>OpenGL_01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwOpenWindowHint" in Funktion "_main".
1>OpenGL_01.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwInit" in Funktion "_main".
1>C:\Users\Sami\Documents\OpenGl\Tutorial_01\Tutorial\Debug\Tutorial.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.
1>
1>Fehler beim Erstellen
1>
1>Verstrichene Zeit 00:00:00.31
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Das programm ist eigentlich auch nur total plump:
Quellcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define GLEW_NO_GLU
#define GLFW_NO_GLU
#include <GL/glew.h>
#include "GL\glfw.h"
int main() {
glfwInit();
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR,3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR,30);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwOpenWindow(800,600,0,0,0,8,8,8,GLFW_WINDOW);
while(glfwGetWindowParam(GLFW_OPENED)) {
glfwSwapBuffers();
}
}
Weis jemand wo der Fehler liegt?
[VB.NET 2010] Kampfsystem(Wed, 23 May 2012 18:53:12 +0000) Hi,
ich programmiere zurzeit mit Visual Basic mein zweites Strategie Spiel. Ein Großes Problem habe ich mir jedoch jetzt schon seit mehreren Monaten aufgehoben: Das Kampfsystem.
Da ich noch nie in großem Konflikt mit Mathematik in der Programmierung gekommen bin, weis ich kein anderen Weg außer hier mal Nachzufragen. Ich habe zwar gegoogelt, aber evtl die falschen Tags verwendet.
Es wäre mir schon sehr weitergeholfen, eine Formel für folgendes Beispiel aufzustellen:
100 Axtkämpfer (Int1/Unit1Player1) mit jeweils 10 Attack (Int2/AxeDmg) und 5 Defense (Int3/AxeDef) treten gegen 50 Axtkämpfer (Int4/Unit1Player2) mit den selben Werten an.
1 Def soll 1 Attack Stat verringern.
Danke schon einmal im Voraus,
mfg Tixewi
Kapitel 12 - Die SDL einbinden funktioniert nicht(Wed, 23 May 2012 18:34:43 +0000) Hallo liebe Community,
ich bin jetzt endlich mal beim Kapitel 12 angekommen und wollte nun mal anfangen mit dem Code zu experimentieren.
Doch leider habe ich es nicht hinbekommen, die SDL richtig einzufügen, damit ich mit ihr arbeiten kann.
C-/C++-Quelltext
1
#include "Framework.hpp"
Bei diesem Einbinden der Framework.hpp, wird das include rot unterstrichen und die folgende Fehlermeldung kommt:
Error: Die Datei "Quelle" kann nicht eingebunden werden: "Framework.hpp"
Ich gehe mal davon aus, dass ich etwas beim einbinden der SDL falsch gemacht habe, da ich die Ordner nicht so wie im Buch erklärt einbinden konnte.
Vorweg, ich benutze Microsoft Visual Studio 2010 Ultimate.
Heiko Kalista schrieb, dass man unter "Extra -> Optionen -> Projekte und Projektmappen -> VC++ Verzeichnisse" einmal den Ordner include und einmal den Ordner lib einbinden soll.
Doch das Fenster bei VC++ Verzeichnisse zeigt mir folgendes an:
"Die Bearbeitung von VC++ Verzeichnissen unter "Extras"> "Optionen" ist veraltet.
VC++ Verzeichnisse sind nun als Benutzereigenschaftenblatt verfügbar, das standardmäßig allen Projekten hinzugefügt wird. Klicken Sie auf "?", um wietere Informationen zu erhalten"
Und genau hier komme ich nicht wirklich weiter.
Ich habe bereits an einer anderen Stelle den include und lib Ordner eingebunden, doch wie es ausschaut war dies nicht ganz korrekt, weil ja die Fehlermeldung kommt.
Also zusammengefasst wäre meine Frage, wie ich die SDL richtig einbinde, damit ich problemlos mit ihr arbeiten kann.
Die SDL Dateien und Ordner habe ich von der CD aus dem Buch auf meinen Rechner unter C:\Buch C++\SDL-1.2.14 kopiert.
Ich hoffe, dass ihr mir helfen könnt.
[Java] Sonderregeln bei einem Trading Card Game initialisieren(Wed, 23 May 2012 16:14:43 +0000) Hi Community,
Ich versuche mein Wissen in Java zu erweitern und vielleicht irgendwann passable Spiele erzeugen zu können.
Aktuell plane ich zu Übungszwecken ein Trading Card Game (ums genauer zu sagen eine Version von Duel Masters, das vor ein paar Jahren eingestellt wurde). Habs vorher auch schonmal mit einem One Piece TCG versucht, bin da aber auch an den Sonderregeln gescheitert. Und nachdem ich jetzt auch keine Möglichkeit habe an Bilder und Regeln der Karten zu kommen, musste ich das Projekt jetzt einstellen .
Die Grundspielzüge und eine Gui zu programmieren ist ja kein sonderlich großes Problem (für den Notfall tuts zu Beginn ja auch eine Oberfläche mit Listen).
Das größte Planungsproblem sind die Sonderregeln der einzelnen Karten. Jede Karte kann mehere Sonderregeln haben. Jede Sonderregel hat Bedingungen in welchem Moment die Sonderregel aktiviert wird oder welche Zusatzvoraussetzungen erfüllt werden müssen. Außerdem wirken manche Sonderregeln nur für die eigene Karte, manche für mehere, manche betreffen beide Spieler, manche nur den gegnerischen etc.
Ich hab jetzt schon mehrere Arten gesehen, wie es zwar gehen könnte, weiß aber nicht welche die beste ist.
Einmal muss ich bei jedem Sonderregelobjekt zumindest mal festlegen, wann die Sonderregel der Karte eintritt.
Einmal die Möglichkeit, dass in einer Klasse Sonderrgeln alle Sonderregeln des Spiels Programmiert sind und diese Regeln über eine einelne Methode aufgerufen dann für die jeweilige Karte aufgerufen werden (switch Case zum Beispiel) Problem hierbei ist, dass die Methode zur automatischen Auswahl sehr viele Parameter haben müsste von denen manche dann in einigen Fällen keine Werte haben)
Eine andere Möglichkeit wäre die entsprechenden Sonderregeln über ein Objekt vom Typ Method in die Regeln der Karte zu integrieren. Ich weiß aber auch nicht, ob das die beste Möglichkeit ist. Dort muss ja aber dann auch sehr viel eingegeben werden und ob so alle Sonderregeln im richtigen Moment abgeprüft werden, kann ich gerade auch nicht sagen.
Teilweise könnte man zumindest mit einer Reihe Variablen vom Typ Boolean allgemeine Sonderregeln angeben. Nur gibt es aber auch Regeln die Regeln von anderen Karten verändern und nicht einfach über eine Boolvariable abgefragt werden können.
Kann mir hier jemand die beste Möglichkeit nennen, wie man die Sonderregeln einbinden könnte
Gruß
Erik "EMMachine"
Vorgehensweise korrekt?(Wed, 23 May 2012 13:40:27 +0000) Guten Tag
Ich lerne nun seit 1-2 Monaten C++ und arbeite mich gerade in die SFML ein (Version 2.0 RC).
Zurzeit versuche ich eine kleine Engine zu "bauen", angefangen mit der Grafik. Im Endeffekt will ich ein Tilelevel mit verschiedenen Layern darstellen
(mein Ziel). Dazu habe ich mich schon ein wenig im Internet eingelesen und habe mir nun folgende Gedanken dazu gemacht:
cImageManager
- enthält eine verkettete Liste, in der die Images verwaltet werden
- Funktionen zum Laden von Images
cTile
- konvertiert ein Image in ein Spriteobjekt
- dieses Spriteobjekt kann wird dann letztendlich auch auf dem Bildschirm erscheinen und kann manipuliert werden (z.B. Position)
cMap
- kümmert sich darum, dass aus einer XML-Datei die Leveldateien ausgelesen werden und angezeigt werden (mit TileIDs, usw.)
cCamera
- eine Kamera (Vogelperspektive), mit der dann auch bspw. Scrolling verwirklicht werden wird
Hierbei geht es vorerst nur um die Grafik. Da ich mich vonvornherein um einen guten, effizienten Stil bemühen möchte, würde ich gerne eure
Meinung für diese Vorgehensweise hören.
Habe ich mir da zu umständliche Gedanken gemacht, geht es einfacher, etc. ?
Ihr sollt mir natürlich nicht sagen, wie man die einzelnen Klassen verwirklichen kann. Teilweise habe ich damit schon angefangen und ich denke
größtenteils kann ich das alleine schaffen. Mir geht es halt nur darum, dass sich das Ganze auch am Ende lohnt und ich dann nicht wieder alles
umwerfen muss, aus diesem Grund würde ich gerne eure Meinung hören.
Sternenfeld erstellen mit POINTLIST(Wed, 23 May 2012 10:31:57 +0000) Hallo zusammen.
Vieleicht weiss kann weiterhelfen ?
Ich habe folgendes Problem, ich möchte Spacegame programmieren und dazu die Sterne im Hintergrund per POINTLIST erstellen.
folgendes : Ich versuche SetFVF(D3DFVF_POINTVERTEX);
zu setzen bekomme aber vom kompiler den Fehler D3DFVF_POINTVERTEX undeclared identifier.
Kann mir jemand sagen, wie ich dieses Ding in meinen Code bekomme ?
Danke !
Quadtree(Wed, 23 May 2012 07:47:21 +0000) Hallo,
habe, als ich mich zum Thema Kollisionsabfrage schlau machen wollte,
von dem Begriff Quadtree erfahren und dass diese Technik wohl üblicherweise
eingesetzt wird, um Kollisionsabfragen zu beschleunigen. Aber was genau
ist das und wie wird es eingesetzt?
SFML Problem beim darstellen von sf::String(Wed, 23 May 2012 07:30:29 +0000) Hallo Leute,
Um mein Problem zu beschreiben muss ich mal kurz ausholen.
Ich bin dabei mir meine UI zu schreiben in Codeblocks mit der SFML 1.6 . Dafür habe ich eine Abstrakte Basisklassis mit einer Funktion
C-/C++-Quelltext
1
sf::Drawable* Render_Element()
geschrieben.
Davon abgeleitet sind dann 2 Klassen einmal CUI_Button und CUI_Text.
Die Render Funktion von CUI_Button gibt ein sf:prite* zurück was wiederum von sf:rawable abgeleitet ist.
Die Render Funktion von CUI_Text gibt ein sf:tring zurück welches auch von sf:rawable abgeleitet ist.
Beide Klassen werden in eine Liste gepackt. Diese Liste wird dann an anderer stelle abgefragt und die Sprites und Strings an die Draw Funktion übergeben.
Soweit so gut. Mit den Sprites gibt es auch keine Probleme. Mit den Strings bekomme ich keine Prombleme solang in ihnen keinen Text ist. Wenn sie ein Text haben hängt sich das Programm auf. Es gibt eine Meldung in der Konsole: Process returned 255 (0xFF).
Hat jemand eine Idee woran es liegt? Wenn noch Code benötigt wird Bescheid sagen.
Gruß Koschi.
Sind noch BF2-Spieler unter uns?(Tue, 22 May 2012 17:00:24 +0000) Hey,
ich wollte nur mal fragen, ob es hier noch andere Bf2-Spieler neben mir gibt oder ob alle zu Bf3 übergegangen sind . Wenn sich hier noch welche finden, können wir ja mal nen Sppro-Bf2-Abend oder so machen. Würd mich nur mal interessieren wer das noch so zockt.
lg
Phalax
..... ist keine gültige Win32 Anwendung!(Tue, 22 May 2012 13:08:46 +0000) Hi,
Ich habe ein Problem! Und zwar, ich habe eine Windows Batch Datei geschrieben mit folgendem Inhalt:
.\System\Blender\blenderplayer.exe -w 1024 640 .\import\War_of_future.dds
Sie ruft erst den blenderplayer auf, mit dem wird das Spiel gestartet, im Fenstermodus ( 1024 * 640 ) und lädt die eigentliche .blend Datei! ( umbenannt in *.dds ).
Nun, ich habe das auf dem PC von meinem Freund ausprobiert und dann kam die Meldung dass, "E:\...\...\blenderplayer.exe ist keine gültige Win32 Anwendung. Das Fenster wird geöffntet aber es kommt nur die Meldung!
Was kann ich tun?
Gruß
Lukas
Wer von euch Arbeitet in der Spiele-Branche?(Tue, 22 May 2012 09:12:18 +0000) Mich würde mal interessieren wer von euch in der Spiele (und Software)-Branche arbeitet. Vielleicht könnt ihr ja mal erzählen wie es da vor sich geht ;-)
SFML // sf::FloatRect::intersetcs undurchsichtige Fehler(Mon, 21 May 2012 17:25:06 +0000) Hallo!
C-/C++-Quelltext
1
inline bool checkIntersection(const sf::FloatRect &rec){return sf::FloatRect(m_View->getCenter(), m_View->getSize()).intersects(rec);}
Eine solche Funktion ist innerhalb meines Codes von Fehlern anfällig, warum, das weiß ich nicht. Ich verwende sie, jedoch bekomme ich allerhand Fehler. Keiner der Fehler bezieht sich auf mein Programm, alle nur auf die SFML, was natürlich durchaus unangenehm ist, finde ich.
Hier mal Ausschnitte:
Quellcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(104): error C2589: '(': Ungültiges Token auf der rechten Seite von '::'
1> c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(102): Bei der Kompilierung der Klassen-template der bool sf::Rect<T>::intersects(const sf::Rect<T> &,sf::Rect<T> &) const-Memberfunktion
1> with
1> [
1> T=float
1> ]
1> c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(52): Bei der Kompilierung der Klassen-template der sf::Rect<T>::Rect(const sf::Vector2<T> &,const sf::Vector2<T> &)-Memberfunktion
1> with
1> [
1> T=float
1> ]
1>c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(104): error C2059: Syntaxfehler: '::'
1>c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(105): error C2589: '(': Ungültiges Token auf der rechten Seite von '::'
1>c:\users\checkmateing\desktop\sfml\include\sfml\graphics\rect.inl(105): error C2059: Syntaxfehler: '::'
.
.
.
Ich übergebe ganz normal genau das, was die Funktion eben erwartet. Ich weiß nicht weiter, daher habe ich leider auch keinen Lösungsansatz.
Vielleicht ist noch hinzuzufügen, dass sich "m_View" auf ein sf::RenderTexture-Objekt bezieht, wobei das Auskommentieren der relevanten Zeilen und das Ersetzen von diesen um eine Verbindung zu sf::RenderWindow herzustellen auch keinen Erfolg erbrachte. Die Fehler bleiben gleich.
Extern in einem anderen Projekt und natürlich auch beim simplen Durchgehen mittels der Gedanken ergibt es keinen Fehler, Praxis bei diesem ist dann anders.
In soweit nutze ich die Funktion nur aus Design-Gründen und werde vorerst den Inhalt also einzeln dort einsetzen, wo ich ihn benötige. Falls irgendwer eine Idee oder Nachfragen für eine Idee hat, immer her damit.
MfG
Check
Wo Diablo III kaufen?(Mon, 21 May 2012 09:47:11 +0000) Diablo schein ja restlos ausverkauft zu sein. Woher bekommt man jetzt noch die CD, und das zu einen fairen Preis? Amazon hat nur noch 1 Stk. lagernd, dass bestimmt auch bald weg ist. Kennt jemanden einen guten Online Shop, der auch schnell liefert (außer Amazon )?
Diablo Smoothness(Mon, 21 May 2012 07:08:40 +0000) Moin.
Wenn jemand mal Bilder von D3 gesehen oder es selbst gezockt hat, dann dürfte ihm eventuell aufgefallen sein, dass selbst ohne aktiviertes AA das Terrain und die Gebäude keine pixeligen Kanten aufweisen. Die Performance ist zudem so hart, dass es auf ziemlich alten Mühlen prima läuft. Ich frage mich also wie dieser Effekt erzielt wird. Manchmal sieht man bei Felsen, die sehr stark in Vordergrund (bzw. die Kamera) hineinragen, dass die Kanten wie Texturen verwischt wirken. Aber wenn das nur Texturen sind, wie kommen dann die 3D-Shapes/Perspektiven zum Tragen? Hat da jemand eine Idee? Verblüfft mich doch etwas das ganze.
Kleiner Server zu haus :)(Sun, 20 May 2012 22:08:43 +0000) Hey zusammen,
wollte mir mal einen kostengünstigen kleinen Server für zuhause anlegen... In erster Linie Homepage und Datensicherung im Lokalem Netzwerk (alle Festplatten dran anschließen und netzwerkfreigabe) und evt. ein paar kleine Spieleserver drauf laufen lassen wie Minecraft oder TS.
Habe mir jetzt ein Paar sachen schonmal ausgesucht:
Mainboard: http://www.snogard.de/?artikelId=MBOGIG1155263 1000 Mbits Lan + 16GB ram unterstützt (sollte reichen oder ?)
CPU: http://www.snogard.de/?artikelId=CPUINT115G840 2,8GHZ Dual Core
RAM: http://www.snogard.de/index.php?kategori…d=RAM80D3133031 erstmal 8GB später auf 16GB erweitern
Netzteil: http://www.snogard.de/?artikelId=CASPSATX380TS 380Watt
Festplatten hab ich hier rumfliegen, diese sollen ja über diesen Server im Localhost geshared werden, alle SATA-II. Bildschirm Tastatur, laufwerk wollt ich nur zur Installation verweden, den rest dan später über remote im Netzwerk konfigurieren.
So jetzt zu meinen Fragen:
0) KANN so eine konfiguration 24/7 laufen ?! wollte alles einfach in einen Server-rack legen und ein paar lüfter drüber packen
1) Reicht das Netzteil für die CPU und später 16GB ram ? und die ganzen Festplatten ? (denke maximal 4-5)
2) Wie sieht es aus mit dem Stromverbrauch? kenne mich da nicht so aus, aber ich denke der rechner wird nicht immer die ganzen 380 Watt verwenden ?!
3) Aus eurer erfahrung, wie viele Spieler wird der Server ca. auf nem Bukkit server + Ubuntu vertragen ? (hatte einen aufm Lap dualcore 1,6 Atom CPU und 4gb ram, da hats schon bei 12 Spielern probleme gegeben -_-)
4) Wie sieht es aus mit der Festplatten freigabe unter Ubuntu ? habe das bis jetzt einfach unter Windows gemacht, geht das genau so unter Ubuntu um lokalem Netzwerk ?
5) bin ja zurzeit bei ca. 190 euro, gehts günstiger ?
soo hoffe hier kann mir der eine oder andere helfen und hat mehr erfahrung als ich damit
lg und danke im voraus
SD
[C#] SQLite extrem langsam(Sun, 20 May 2012 20:57:13 +0000) Hallo zusammen!
Ich stolper gerade über etwas, bei den ich nicht so recht weiter weiß.
Und zwar will ich einige Datensätze ein einem Rutsch in eine SQLite datenbank schreiben (über den System.Data.SQLite wrapper).
Das ganze sieht Code-Technisch in etwa so aus:
C#-Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
StringBuilder sb = new StringBuilder();
sb.Append( "BEGIN TRANSACTION;" );
sb.Append( "DELETE FROM Tabelle;" );
foreach( ... )
{
sb.Append( "INSERT INTO Tabelle ...;" );
}
sb.Append( "COMMIT;" );
using( DbCommand cmd = connection.CreateCommand() )
{
cmd.CommandText = sb.ToString();
cmd.ExecuteNonQuery();
}
Für 16.684 Datensätze braucht das ganze allerdings 4:41 min...
Diese Zeit verbringt er auch nur in dem "ExecuteNonQuery()" und nicht etwa in der schleife, die den Query bastelt
Laut dem FAQ Eintrag von sqlite.org sollte das ganze allerdings nicht so lange dauern.
Interessant ist auch, dass die von ca. 60 Transaktionen pro Sekunde reden, was ziemlich genau dem entspricht was ich hier habe.
Allerdings sollte ich doch durch das "BEGIN TRANSACTION" .. "COMMIT" die ganzen Queries in einer Transaktion abwickeln...
Überseh ich irgendwas?
Alle Network-Members in einem lokalen Netzwerk finden(Sun, 20 May 2012 20:02:38 +0000) Hi, ich habe bis lang immer die Funktion NetServerEnum der WinAPI verwendet, um alle Network-Member (also die PC Namen in einem lokalen Netzwerk)
zu finden. Aber leider funktioniert das nicht immer richtig :-(
Manchmal zeigt er mir mehr an, manchmal weniger. Auch dann, wenn der Windows-Explorer (Windows 7) unter "Netzwerk" alle PCs in meinem lokalen Netzwerk anzeigt.
Ich brauche da eine zuverlässigere Funktion. Gibt es da eine bessere Alternative oder was muss man bei der Funktion "NetServerEnum" besonderes beachten?
Hier ist mein Code-Ausschnitt:
C-/C++-Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
bool GetNetworkMembers(std::list<std::wstring> &MemberList)
{
SERVER_INFO_100* Buffer = 0;
DWORD Count, i;
/* Get server enumeration */
NET_API_STATUS NetStatus = NetServerEnum(0, 100, (LPBYTE*)&Buffer, MAX_PREFERRED_LENGTH, &i, &Count, SV_TYPE_ALL, 0, 0);
if (NetStatus != NERR_Success)
{
std::string ErrorStr;
switch (NetStatus)
{
case ERROR_ACCESS_DENIED:
ErrorStr = "Access was denied"; break;
case ERROR_INVALID_PARAMETER:
ErrorStr = "The parameter is incorrect"; break;
case ERROR_MORE_DATA:
ErrorStr = "More entries are available"; break;
case ERROR_NO_BROWSER_SERVERS_FOUND:
ErrorStr = "No browser servers found"; break;
case ERROR_NOT_SUPPORTED:
ErrorStr = "The request is not supported"; break;
case NERR_RemoteErr:
ErrorStr = "A remote error occurred with no data returned by the server"; break;
case NERR_ServerNotStarted:
ErrorStr = "The server service is not started"; break;
case NERR_ServiceNotInstalled:
ErrorStr = "The service has not been started"; break;
case NERR_WkstaNotStarted:
ErrorStr = "The Workstation service has not been started"; break;
default:
ErrorStr = "Unknown error"; break;
}
PrintError("Network member enumeration failed (" + ErrorStr + ")");
return false;
}
for (i = 0; i < Count; ++i)
MemberList.push_back(Buffer[i].sv100_name);
return true;
}
Geld mit Indie Projekt?(Sun, 20 May 2012 19:28:17 +0000) Hallo Leute,
ich arbeite gerade mit einem kleinen Entwicklerteam an einem 3D RPG mit Unity.
Ich möchte dabei aber auch gerne etwas Geld verdienen da es auch viel Aufwand ist.
Hat jemand eine Idee wie man mit einem kleinen Indie-Team Geld verdienen kann?
Danke im Voraus,
Crazy007
Tile Maker(Sun, 20 May 2012 19:26:49 +0000)
Version: 1.0a
Download: www.mevedia.de/TileMaker
Momentan Bugs nicht ausgeschlossen
Momentan nicht verfügbar:
- Menü - Editieren
- Filter
Der TileMaker ist momentan mehr ein kleiner "Manager" für Tilesets. Man kann seine Einzelgrafiken hinzufügen und ordnen.
Das ganze kann in einem TileMaker Projekt gespeichert werden, in dem auch die original Grafiken gespeichert werden. Bitte den Satz mit dem * weiter unten lesen.
Hinzufügen/Entfernen/Ordnen
Einzelne Bilder ("Tiles") können über das Menü hinzugefügt werden(Dateien oder aus Tileset), per Doppelklick in eine Zelle oder durch fallen lassen der Dateien auf dem Tileset. Zum entfernen Zellen auswählen. (Strg gedrückt halten um mehrere zu selektieren)
Drag&Drop Bewegung ist gerade noch nicht dabei. Dazu einfach bei denZelleneigenschaften "Index" verändern. Sortiert kann alles über "Layout". "Layout -> Fill Empty" sortiert alle Tiles so, das leere Zellen ausgefüllt werden.
Ansicht bewegen
Durch gedrückte rechte Maustaste bewegen. Über "View -> Move ->..." kann die Ansicht auch zentiert oder auf den Nullpunkt gesetzt werden.
Aus Tileset hinzufügen
Tiles können auch aus einem Tileset extrahiert und hinzugefügt werden. Momentan werden sie zwangsläufig als PNG@32 extrahiert. Wahlweise könnendie Einzelbilder auch erhalten bleiben. (Hauptverzeichnis)
*Spalten und Reihen müssen momentan stehts ausreichend angepasst werden! Tiles deren Index sich außerhalb der Tabelle befinden sind nicht sichtbar. (werden aber nicht gelöscht)
Gruppen
Ein Tileset kann selbst definierte Gruppen haben, unter die ein Tile zugeordnet werden kann. Unter "Layout -> Sort Groups" werden dann alle Tiles nach ihrer Gruppe sortiert. Gruppen können unter "Layout -> Manage Groups" bearbeitet werden.
Zelleneigenschaften
Momentan ist nur das Layout eines Tiles in einer Zelle anpassbar. (Left-Top, Center, Fit, Stretch) Hinzu kommen noch Filter für Helligkeit/Kontrast etc.
Exportieren
Das Tileset kann als BMP, JPEP oder PNG gespeichert werden. Für JPEG kann zusätzlich die Qualität festgelegt werden. Für Transparenz muss das Tileset als PNG+32 Bit/Channel gespeichert werden.
TM Projekt Datei
Wer eine Projekt-Datei weiterverarbeiten möchte, kann das gern tun. Momentan werden die Einzelbilder voll eingebungen, d.h. im eigenen Format mit Header. Zukünftig werden evtl nur die Rohdaten gespeichert.
Großgeschriebenes ist ein Wert. In Klammern nur Kommentare. 1. und 2. Speicherblock ist ein String.
Quellcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1. Block - Header
TileMaker VERSION
Name:STRING
Columns:INTEGER
Rows:INTEGER
Width:INTEGER (Breite einer Zelle)
Height:INTEGER (Höhe einer Zelle)
SpacingH:INTEGER
SpacingV:INTEGER
Transparent:STRING (TRUE / FALSE)
Background:RGB (RGB Wert)
Groups:GROUP1;GROUP2;... (immer abschließendes ';')
2. Block - Body (Zellen - pro Zelle mit Zeilenumbruch)
NAME(String)|PATH(String)|INDEX(Int)|GROUP(String)|PLACE(Int 0-3)
NAME(String)|PATH(String)|INDEX(Int)|GROUP(String)|PLACE(Int 0-3)
...
3. Block - Dateien (selbe Reihenfolge wie im 2. Block beschrieben)
Momentan wie erwähnt noch vollständige Bilddateien
Wäre nett wenn es jemand testet und mir eine Rückmeldung gibt
lg, Alex W.
Fehlermeldung: Verweis auf nicht aufgelöstes externes Symbol(Sun, 20 May 2012 18:34:59 +0000) Hallo
Ich habe versucht ein Programm zu schreiben in dem die Größe von einer noch nicht ausgewachsenen Person berechnet werden kann. Das Programm ist noch nicht ganz fertig aber ich wollte es bis jetzt mal testen also nur mit der Größe der Jungen aber dann kam folgende Fehlermeldung:
Quellcode
1
2
3
4
5
6
7
8
9
10
11
1>------ Erstellen gestartet: Projekt: Groeße_Ausrechnen, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Groeße_Ausrechnen.cpp
1>c:\users\valentin\documents\visual studio 2008\projects\groeße_ausrechnen\groeße_ausrechnen.cpp(53) : warning C4244: '=': Konvertierung von 'double' in 'float', möglicher Datenverlust
1>c:\users\valentin\documents\visual studio 2008\projects\groeße_ausrechnen\groeße_ausrechnen.cpp(22) : warning C4700: Die nicht initialisierte lokale Variable "Charakter" wurde verwendet.
1>Verknüpfen...
1>Groeße_Ausrechnen.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""float __cdecl Groeße_Maedchen(float,float)" (?Groeße_Maedchen@@YAMMM@Z)" in Funktion "_main".
1>C:\Users\Valentin\Documents\Visual Studio 2008\Projects\Groeße_Ausrechnen\Debug\Groeße_Ausrechnen.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\Valentin\Documents\Visual Studio 2008\Projects\Groeße_Ausrechnen\Debug\BuildLog.htm" gespeichert.
1>Groeße_Ausrechnen - 2 Fehler, 2 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Und hier der Quellcode:
Quellcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Größe von Jugendlichen ausrechnen
//
#include <iostream>
using namespace std;
float Groeße_Jungen (float GroeßeVater, float GroeßeMutter);
float Groeße_Maedchen (float GroeßeVater, float GroeßeMutter);
int main ()
{
// Variablen
//
float GroeßeVater, GroeßeMutter;
float GroeßeKind;
char Charakter;
// Menue
do
{
cout << "Ist die zu berechnende Person (m)ännlich oder (w)eiblich?" << endl;
} while (Charakter != 'm' && Charakter != 'M');
// Wie groß sind die Eltern?
cout << "Wie groß ist der Vater (in cm)?: ";
cin >> GroeßeVater;
cout << "Wie groß ist die Mutter (in cm)?: ";
cin >> GroeßeMutter;
// Maenlich oder weiblich?
if (Charakter == 'm' || Charakter == 'M')
{
GroeßeKind = Groeße_Jungen (GroeßeVater, GroeßeMutter);
}
else if (Charakter == 'w' || Charakter == 'W')
{
GroeßeKind = Groeße_Maedchen (GroeßeVater, GroeßeMutter);
}
cout << "Das Kind wird vermutlich " << GroeßeKind << "cm groß.";
return 0;
}
// Groeße_Jungen
//
float Groeße_Jungen (float GroeßeVater, float GroeßeMutter)
{
float Rueckgabe;
float Zwischenrechnen;
Zwischenrechnen = GroeßeVater + GroeßeMutter;
Rueckgabe = Zwischenrechnen / 2 + 6.5;
return Rueckgabe;
}
Http-Ereignisse in C#(Sun, 20 May 2012 08:31:05 +0000) Hi,
ich wollte ein Programm schreiben (in C#) das HTTP-Ereignisse auslöst, die dann von einem HTTP-Server "gelesen" werden(dazu benutze ich eventghost).
Leider weis ich nicht wie man solche HTTP-Ereignisse in C# sendet.
Ich hoffe auf Hilfe, anti-Apple.
Machina Engine - meine Spiel-Engine in der Entwicklung(Sun, 20 May 2012 06:14:51 +0000) Nun, dies ist mein erstes Thema in dieser Gemeinde ist, mein Name ist Felipe, und ich bin aus Brasilien.
Ich bin hier, eine Spiel-Engine zu präsentieren, dass ich für eine Weile zu entwickeln. Dieses Projekt besteht aus zwei Teilen: der Spiel-Engine-Bibliothek, und seine IDE.
Name des Projekts: Machina Engine
Startdatum: August 2011
Programmiersprache: Object-Pascal(Übersetzen nach C ++)
Spiel-Engine Bibliothek beschreibung:
Objektorientiert;Sie können schaffen Spiele in jedem Genre;Die Sprites können sein 2D-, 3D-oder Vektor;Dateiverwaltung: Dateien in einer skriptsprache geschrieben/ Skriptsprache parser/ Verschlüsselung;Zimmer/Karten und Spiel-Objekte werden in Script-Dateien gespeichert;Physik-Engine;
IDE beschreibung:
Die IDE wurde entwickelt, um auf die praktische und nützliche IDES auf dem Markt, bestehend aus:
Klassen-Editor;Karten-Editor;Sprites-Editor;Ton / Musik-Management;Dateiverwaltung;
IDE Screenshots(alte Bildschirme):
[Startbildschirm]
[Klassen-Editor]
[Karten-Editor]
Anwendung mit dem Spiel-Engine-Bibliothek:
Video: http://www.youtube.com/watch?v=YDKMPhkKHgM
Nun, meiner Muttersprache Portugiesisch ist, so meine Entschuldigung für etwaige Schreibfehler. Vielen Dank für Ihre Aufmerksamkeit!
Mehr Informationen auf meinem Blog[Englisch]: PixelDeveloper
Apple versus Microsoft(Sun, 20 May 2012 05:10:20 +0000) Hi
Man hört häufig (auch manchmal von mit), irgendwie plaplapla und dann: "ja is ja klar! Is ja von Apple !" und das meistens auf schlechte Eigenschaften bezogen.
Irgendwie in mit drin hab ich auch so ein, ich will mal sagen, "Misstrauen"gegenüber Apple, kann aber nicht genau sagen, Wieso.
Liegt vll daran, dass ich bis jetzt immer kein-Apple-Fan und der Unterschied zwischen einem Mac und einem pc mit Win7 ja schon extrem ist.
ich kenne auch so kleinere Gründe, Wieso ich Apple nicht so mag, oder Wieso man es vll nicht so mögen kann, aber so richtige gute Argumente fallen mit nicht ein.
Dass man verdammt viel bei einem Produkt für die Marke bezahlt vll.
Was sind eure Argumente, Apple zu mögen oder nicht zu mögen?
Würde mich mal interessieren
ProAmateur
C++ Programmier-stil(Sat, 19 May 2012 23:22:04 +0000) Hey Leute,
nun entlich seit langem habe ich mich dazu durchgerungen mal wieder mit einem größeren
Projekt anzufangen.
Soweit erstmal nichts spektakuläres , allerdings war ich beim letzten Projekt nicht mit meinem
Programmierstil zufrieden, ja ich war sogar verwundert wie dieser Haufen Code funktionieren
konnte
Momentan schreibe ich an einer art Basisklasse für das Spiel (CFramework) und wollte
mal einfach fragen was ihr dazu sagt, ob ihr Tipps habt oder was noch rein sollte/könnte und wie ihr eure Basisklasse
aufbaut!
MfG Marcel
Nachfolgen die Klasse:
(Sollte einer sie gut finden , könnt ihr sie gerne verwenden
auf Wunsch poste ich dann eben schnell die HPP Datei)
C-/C++-Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//Eigene Includes
//
#include "CFramework.hpp"
//Konstruktor
//
CFramework::CFramework()
{
//Laufzeitvariabeln setzen
//
running = true;
//SFML Attribute setzen
//
pWindow = new sf::RenderWindow(sf::VideoMode(1366,768,32),"Project_S",sf::Style::Titlebar); //Fenster initialisieren
pWindow->SetFramerateLimit(60);
pEvent = new sf::Event(); //Event initialisieren
pInput = new sf::Input(); //Eingabe initialisieren
//Laden aller relevanten Daten , ausgenommen Sprites
//
void Load();
}
//Destruktor
//
CFramework::~CFramework()
{
//SFML Attribute freigeben
//
delete pEvent;
delete pInput;
delete pWindow;
pEvent = NULL;
pInput = NULL;
pWindow = NULL;
}
//Run Funktion
//
void CFramework::Run()
{
//Main-loop
//
while(running == true)
{
//Funktionen aufrufen
//
Draw ();
GetState ();
CheckEvents();
}
}
//Quit Funktion
//
void CFramework::Quit()
{
//Laufzeitvariable ändern
//
running = false;
}
//Load Funktion
//
void CFramework::Load()
{
//Savestats etc. laden
//
}
//CheckEvents Funktion
//
void CFramework::CheckEvents()
{
//Event an Fenster übergeben & auf tastendruck prüfen
while(pWindow->GetEvent(*pEvent))
{
// Escape key pressed
//
if ((pEvent->Type == sf::Event::KeyPressed) && (pEvent->Key.Code == sf::Key::Escape))
{
Quit();
}
}
}
//GetState Funktion
//
void CFramework::GetState()
{
//State vom StateManager holen
//
}
//Draw Funktion
//
void CFramework::Draw()
{
//Window clearen & zeichnen lassen je nach State
//
pWindow->Clear(sf::Color::Blue);
pWindow->Display();
}
Naja bis jetzt nichts spektakuläres
Suche eine 3D grafik zum einbinden(Sat, 19 May 2012 12:57:30 +0000) Hallo,
Ich mache in Oktober eine Ausbildung zum
Online Game Engineering Ausbildungsschule:http://school4games.net/
Derzeit möchte ich mich aber auch Privat damit beschäftigen und arbeite derzeit mit Unity 3D.
Ich würde gerne eine Straße einbinden jedoch kenn ich mich mit Grafiken erstellen nicht so aus..
Ich benötige also eine 3D grafik von einer Straße oder ähnliches.
Hat jemand damit Erfahrung?
Eure (Selbstgebauten) PC-Pannen(Sat, 19 May 2012 05:47:28 +0000) Da ich zurzeit mit diesem Problem zu kämpfen habe und auch David einen Thread für verrückte Elektronische-Sachen gestartet hat, wollte ich mal wissen, was euren kuriosesten Hardware Probleme waren/sind.
DrawSomething(Sat, 19 May 2012 00:41:06 +0000) Na, wer spielts?
Added mich mal "chdrakon".
Gute Bilder können wir ja hier posten.
Selbstgebauter PC: kaputt?(Fri, 18 May 2012 19:26:45 +0000) Ich habe mir gedacht, warum baust du dir nicht deinen PC selber. Gesagt getan. Alle Teile gekauft, eingebaut. Nichts. Es gibt nicht einmal ein Startgeräusch von sich. Morgen werde ich ihn dann von Profis zusammenbauen lassen. Nun meine Frage: Kann es sein, das z.B. wenn ich etwas falsch angesteckt habe, das der PC dann kaputt ist?
breadth-first search Umsetzung(Fri, 18 May 2012 09:15:27 +0000) Hallo!
Ich schreibe derzeit eine kleine Schach Engine (C++/SQL). Leider hängt es bei mir zur Zeit an der Breitensuche. Inzwischen macht sich mir der Verdacht nahe, dass ich einen Denkfehler habe in der Umsetzung der Breitensuche. Vielleicht hat von euch einer eine Idee?
Folgendermaßen gehe ich vor:
1. Ich habe eine Startstellung
2. Aus dieser Stellung generiere ich alle möglichen Züge
3. Aus den generierten Züge entstehen neue Stellung, die ich gleich einer Stellungsbewertung unterziehe
Die neuen Stellungen mit Bewertung, Suchtiefe und den anziehenden-Zug (erster Zug mit dem eine Variante berechnet wird) speichere ich in eine Liste. Jede Stellung bekommt eine fortlaufende Id.
4. Ich nehme nun die Stellung mit der nächsten Id, generiere wieder alle möglichen Züge
5. Ebenfalls füge ich den neuen Stellungen gleich wieder die Stellungsbewertung hinzu.
Schritte 4. und 5. wiederholen sich, bis die Stellungsid auch eine Suchtiefe von X erreicht hat.
Nun bin ich der Annahme gewesen, das die Stellung, mit der höchsten Suchtiefe und der höchsten Wertungszahl (bzw. der niedrigsten Wertungszahl wenn Schwarz am Zug ist), auch der beste Zug von Weiß ist.
Tatsächlich aber spielt das Programm nur harrakiri. Es Opfert z. B. die eigene Dame fröhlich für einen Springer. Grundsätzlich wird der wertvollste Stein geopfert.
Bei meiner Untersuchungen stellte ich dann fest, dass das Programm stellungsmäßig zwar sieht, dass die Dame wieder zurück genommen werden kann, entscheidet sich aber für eine andere Fortsetzung für Schwarz - und somit ist der Opferzug der beste Zug geworden (ganz gleich wie tief ich rechnen lasse). Doch sollte er auch den besten Zug für Schwarz wählen und auch die Dame nehmen.
Ich dachte, bei meiner Liste bräuchte ich nur die höchste bzw. niedrigste Wertungszahl nehmen. Dem scheint aber nicht so.
Wo liegt mein Denkfehler??
Die Liste hat übrigens folgends Muster:
[anziehender Zug (erster Zug einer Variante)] [id (fortlaufend)] [wertung] [stellung] [suchtiefe]
Diese Liste Sortiere ich einfach 1. die höchste Suchtiefe nach oben 2. die höchste Wertung nach oben
Experementiert habe ich auch mit weiteren Spalten, dass er pro anziehenden Zug die wertungen summieren soll, er den höchsten kleinste wertungszahl nehmen soll.... nur experementieren ist nicht nachdenken
Zeitweiße dachte ich auch, dass ich nur die neue Stellung mit der "alten" Stellung vergleichen muss, und mir diejenige Wertungszahl merken muss, die besser ist. Aber das brachte auch keine Besserung. Ich habe nun auch meine Breitensuche aufgemalt,....
Würde mich freuen, falls das jemand nachvollziehen kann! Wie muss ich richtig vorgehen?
Lg,
Stefan
Hinweis: Der Feed "Spiele programmieren und entwickeln" und dessen hier dargestellten RSS-Inhalte liegen urheberrechtlich beim Autor der Betreiber-URL (siehe RSS-Link). Auf den Inhalt von "Spiele programmieren und entwickeln" hat RSS-Nachrichten.de keinen Einfluss. (68865-49-95-1 - 0)