Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.08.2011, 20:40

Meine XNA GameEngine

Hallo,

das ist mein erster Post.
Ich hab in meiner Freizeit eine kleine 2d Game Engine mit XNA programmiert.
Ich hab dafür ein svn Repository bei code.google angelegt.
Ihr könnt euch das Projekt über folgende url auschecken

http://jrbasegameengine.googlecode.com/svn/trunk/

oder über folgende url downloaden

http://molotow.members.cablelink.at/JRBaseTestDemo.zip

Es würde mich freuen wenn ihr das Demoprogramm auspropiert.
Wundert euch nicht über die Animationen, die sind aus einem XNA Tutorial..
Auch über konstruktive Kritik würde ich mich freuen.
Bei Fragen steh ich gern zur verfügung

Wenn jemand mitentwickeln will kann ich ihm einen developer Account fürs svn einrichten.
Vorallem für das Kollisionshandling bräuchte ich unterstützung.

Es gibt leider keinerlei Dokumentation und auch Programmkommentare fehlen völlig.

Also viel spaß

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Molotow« (01.10.2011, 12:01)


TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

29.08.2011, 07:01

Als allererstes willkommen im Forum! Ich werde mir deinen Code mal anschauen. Als allererstes, was mich an vielen stört, die mit SVN arbeiten: Nutz doch bitte die Export-Funktion! MIt TortoiseSVN ist das im Explorer-Kontextmenü integriert. Damit werden aus deinem Workingcopy die Daten ohne .svn-Ordner kopiert. Dadurch ist dein zip merklich kleiner und man hat - wenn man selber tortoise draufhat - keine versionsicons usw. Das ist einfach common practice ;).

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

29.08.2011, 07:15

Dafür hat ein Export den Nachteil (auch wenn genau das der Sinn ist), dass man keine SVN-Verknüpfung mehr hat, was natürlich blöd ist, weil man dann keine SVN-Updates ziehen kann. Ich finde eine Verbreitung mit SVN-Ordnern immer besser, da man so keinen Ärger hat, wenn man was aus dem Repository oder der History ziehen will.
Ist also vermutlich Geschmackssache.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

29.08.2011, 07:23

Aber wenn ich den weg des checkout per url und einen download zum testen der demo anbiete finde ich das ein bisschen inkonsequent. Wer historie will macht kann ja ein checkout machen ;)

zum code:

1. Nutze mehr konstruktoren und keine init-methoden. c# ist doch so schön und kannst new aufrufen, wann du willst, dann spar dir die extra methode! Wenn du nicht so viele Parameter willst dann Schreibe verschiedene überladungen des Konstruktors.
2. Du hast zwei Interfaces angelegt, die in deiner Eingine nirgend genutzt werden. Wozu sind sie dann gut?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

29.08.2011, 07:29

Auch von mir herzlich Willkommen :)

Was mir beim drüberfliegen über den Code aufgefallen ist:
Du benutzt des öfteren mal sowas hier (Beispiel aus der Map.cs)

Quellcode

1
2
3
4
5
6
protected int width;
...
public int Width
{
   get { return width; }
}


Ist auch ok, nur das geht auch kürzer ;)

Quellcode

1
public int Width { get; protected set; }

6

29.08.2011, 10:13

Export

Danke für euer Interesse.
Ich hab jetzt einen export gemacht und hochgeladen.
Ich geb TrommlBomml Recht, die .svn Ordner müssen wirklich nicht dabei sein. Dafür kann man es eh auschecken wenn man will.
Ich hab nur nicht daran gedacht.
Außerdem bin ich mir gar nicht sicher ob das überhaut funktioniert wenn man .svn Ordner rumkopiert.

Ja diese Art von Property kenn ich schon, ich glaub ich habs auch a paar mal verwendet. Mir gefällts allerdings nicht wirklich...
Weißt du ob das Performance bringt.

7

29.08.2011, 10:17

Ja das mit den Init Methoden hab ich auch schon bereut.
Einmal damit angefangen will mas irgendwie einheitlich haben...

Die Interfaces..., weiß ich nicht mehr. Muss ich heut Abend schauen wofür die gedacht waren

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

29.08.2011, 10:45

Ja, es funktioniert, wenn man .svn-Ordner rum kopiert ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

29.08.2011, 11:02

Ja diese Art von Property kenn ich schon, ich glaub ich habs auch a paar mal verwendet. Mir gefällts allerdings nicht wirklich...
Weißt du ob das Performance bringt.
das ist performancetechnisch denke ich egal. autoproperties sind aber praktisch - und für deinen fall angebracht. ich nutze sie auch extensiv. meines wissens legt in diesem fall der compiler ein automatisch erzeugtes feld dahinter - ist also nur kürzer.

Zitat

Die Interfaces..., weiß ich nicht mehr. Muss ich heut Abend schauen wofür die gedacht waren
ich vermute du wolltets sie dem frameworkbenutzer mitliefern, damit er davon ableiten kann. ist ja durchaus ok, dann sollte sich das aber in deiner engine widerspiegeln, z.b. in einem RenderManager oder einem CollisionSystem^^

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

10

29.08.2011, 11:12

Ja diese Art von Property kenn ich schon, ich glaub ich habs auch a paar mal verwendet. Mir gefällts allerdings nicht wirklich...
Weißt du ob das Performance bringt.
das ist performancetechnisch denke ich egal. autoproperties sind aber praktisch - und für deinen fall angebracht. ich nutze sie auch extensiv. meines wissens legt in diesem fall der compiler ein automatisch erzeugtes feld dahinter - ist also nur kürzer.


Jep genau so ists. Aus meine Code von Oben macht der compiler einfach ein

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
int _Width;
public int Width
{
   get
   {
      return _Width;
   }
   protected set
   {
      _Width = value;
   }
}

Werbeanzeige