Suchergebnisse
Suchergebnisse 1-20 von insgesamt 127.
Ich habe ein wenig daran gearbeitet. Die neue Version zeigt eine Möglichkeit auf, wie man in der Release Version die DLL als statische Lib einbindet. Das ist zwar etwas unschön, wäre aber so möglich. Dann muß man in der Release Version nicht die ganzen DLLs mitliefern.
Erst mal Danke fürs Feedback. Ich hatte mich etwas mißverständlich ausgedrückt. Die Beschränkung auf C gilt nur für das Plugin (die DLL). Das ist mit Absicht, damit die Daten und die Funktionen getrennt sind. Die Daten sollen erhalten bleiben nach einem Reload. Den Rest schaue ich mir mal in Ruhe an. Bei ein paar Dingen hast Du recht. Das werde ich mal angehen.
Hallo zusammen, wie sagt man so schön "sharing means caring". Darum schicke ich mal einen Link zu meinem kleinen Projekt "c_hot_reload" (https://github.com/amecky/c_hot_reload). Es ist ein kleines Beispiel, wie man C Code in eine DLL auslagert und diese dann dynamisch zur Laufzeit nachladen kann. Also statt Scripting languages wie Lua oder ähnliches zu verwenden, kann man das Gleiche auch mit C erreichen. Das Ganze ist mehr ein Test und zumindest bei mir läuft es auch. Also bitte eher als Vorsch...
Hier eine ganz einfache Möglichkeit: C-/C++-Quelltext 1 2 3 4 5 6 7 class Gamestate { public: Gamestate(Player* player) : _player(player) {} protected: Player* _player; }; Damit hat jede konkrete Implementierung von Gamestate Zugriff auf das eine Player Objekt.
Ich verwende so gut wie nie auto. Der Grund ist, dass man eben nicht am Namen einer Variable den Typen erkennt. Es sei denn man verwendet noch ungarische Notation. Meines Wissens nach ist "auto" auch nur wegen Templates eingeführt worden und sollte auch nur in diesem Zusammenhang verwendet werden. Außerdem ist der Code wesentlich leichter lesbar. Man will ja nicht an jeder Stelle mit der Maus stehen bleiben und auf das Popup der IDE warten. Oder vielleicht bin ich da nur zu hektisch.
Ich will ja jetzt nichts falsches sagen, aber die Projekte sind eher so überflüssig. Das hat doch jeder in der ein oder anderen Form in seinen eigenen Projekten drin. Wer braucht denn noch eine Mathe-Library? Oder der Kram mit Geometry. Eine Highlevel API für Fonts? Also wundere Dich nicht, wenn es keinen groß interessiert. Das alles gibt es schon vielfach von anderen Leuten. Das ist auch meine persönliche Meinung und ich meine das nicht böse, aber es ist einfach belanglos. Hier ist zum Beispiel...
Ich würde Partikel, deren zeit gerade abgelaufen ist, mit dem letzten aktiven Partikel tauschen und dann den Index runtersetzen. Damit hast du dann immer eine aufeinander folgende Liste an aktiven Partikeln. Außerdem weißt du durch den Index auch genau, wie viele gerade aktiv sind. Zusätzlich mußt du nicht die ganze Liste beim Aktualisieren durchlaufen, sondern nur von Anfang bis Index.
Der Code ist für diesen Anwendungsfall in vielen Bereichen äußerst ineffizient. Als erstes würde ich für solche Fälle eher den StructOfArray Ansatz verwenden, statt einem ArrayOfStruct (std::dequeue). Also eher: C-/C++-Quelltext 1 2 3 4 struct Particles { v2* positions; float* timers; }; Das ist dann schon eher Cache friendly. Außerdem würde ich beim aktualisieren des Lebenszyklus die "toten" Partikel nicht löschen sondern mit dem letzten lebenden in dem Array "swappen" und dann die Anzahl runte...
Was Dir bestimmt fehlt ist, dass du nach einer Kollision den Ball auch zunächst einmal wieder aus dem Bereich weg bewegst. Denn sonst (wie in deinem Fall) treten 2 Kollision direkt nacheinander auf und das scheint dann so, als ob gar keine stattgefunden hat. Also sprich, dein Ball trifft auf die obere Wand, dann stelle sicher, dass du den Ball soweit runter bewegst das er nicht mit dem Wand kollidiert.
Mir tut es immer in den Augen weh, wenn ich überall static sehe. Ich denke dann immer, da hat jemand das mit dem objektorientierten mal so gar nicht verstanden. Warum ist AStar kein Objekt? Aber man kann es auch rein funktional programmieren. Auf mich wirkt das immer so, als wenn jemand keine Lust hat sich Gedanken zu machen oder es nicht kann. Das ist nicht persönlich gemeint. Ich kenne viele, die leider auch so programmieren und man kriegt es manchmal selbst aus erfahrenen Leuten nicht raus. P...
Deine Frage zeigt perfekt auf, warum ein Vergleich mongodb und "plain" SQL sinnfrei ist. Es sind zwei komplett unterschiedliche Ansätze und die kannst Du nicht sinnvoll vergleichen. Etwas anderes wäre es, wenn Du auch auf SQL einen ORM Framework einsetzen würdest. Das wäre dann eher ein Vergleich. Also mongodb und zum Beispiel einen SQL Ansatz mit Hibernate. Jeder, der sich mit SQL auskennt, wird sich sonst fragen was das soll und vor allem was Deine Erwartungshaltung hier ist. Du mußt halt alle...
Generell finde ich es unglücklich mit Events zu arbeiten. Man springt dann immer wahllos im Code hin und her. Ein anderer Ansatz wäre es, dass jedes System alle Events in einen Buffer schreibt und dann ein übergeordnetes System solch einen Buffer an ein oder mehrere andere System weiterreicht. Dadurch ist auch gewährleistet, dass alle System in der vorgesehenen Reihenfolge arbeiten. Die Verarbeitung wird dann auch wesentlich effizienter, wenn z.B. das AnimationsSystem direkt einen Buffer mit z.B...
Achtung: Offtopic Also erst einmal danke für den Hinweis auf Dwarf Fortress. Ich kannte das bisher gar nicht. Als ich dann hier Eure Anfänge verfolgt habe, hat mich das auch inspiriert ein ähnliches Projekt zu staten. Mein Ansatz ist aber ein ganz anderer. Ich will mich hier auch nicht einmischen oder besser wissen oder rein reden. Aber falls es jemanden interessiert, dann kann er gerne mal vorbeischauen: https://github.com/amecky/space Ist eine lauffähige Alpha Version und auch mit ASCII GUI.
In der Game.cpp ein include "Options.h"
1) 1984 2) 14 3) 6502 Assembler
Es ist ein LARGE_INTEGER. Du mußt es nicht zu einem solchen konvertieren. Ich würde mich eventuell mal etwas mit dem Thema Streams vertraut machen.
Hier ist ein guter Artikel zu dem Thema: http://www.reedbeta.com/blog/2013/12/28/…math-libraries/
Ich habe auch mal angefangen so etwas zu machen: https://github.com/amecky/math Ich würde mir das mit den Vector Headern noch mal überlegen. Du hast hier sehr viel redundanten Code. Das läßt sich deutlich zusammenfassen. Schau Dir mal meinen Vector.h an: https://github.com/amecky/math/blob/master/Vector.h
Die Frage ist überflüssig. Keiner der großen würde eine neue Sprache auf den Markt bringen. Weil es ihnen jeder zurecht um die Ohren hauen würde. Also Antwort: Nein. Aber warum fragst Du immer? Es ist dein persönliches Lernprojekt. Alles bestens. Es wird mit Sicherheit niemand anders außer dir das je einsetzen. Aber ist doch nicht schlimm. Oder erwartest Du ernsthaft, dass jemand das hier wirklich aufgreift?
Also ich habe den Thread jetzt 2mal gelesen und verstehe immer noch nicht, was das eigentlich soll. Warum sollte das jemand gerade im Bereich Spiele einsetzen? Den ganz großen Vorteil einer Skriptsprache sehe ich hier nicht. Es geht doch gerade darum, dass man zur Laufzeit des Spiels an den Skripten etwas ändert und dann diese direkt nachgeladen werden. Wie soll das denn dann hier funktionieren? Also wenn ich jedes Mal das Spiel neustarten muss, dann bleibe ich lieber bei C++/C#/Java. Vor allem ...