Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Webgamers. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Fhizban

unregistriert

1

Donnerstag, 1. Dezember 2016, 17:29

d13 - strategie browser spiel engine

Potzblitz! Ist denn schon Weihnachten oder was?

Der 19.12.2014 - Man sollte mein Registrierungsdatum bei Webgamers als Beginn eines Lernweges ansehen. Seit dieser Zeit habe ich unzählige Projekte begonnen und auch damit begonnen mein Wissen um die Programmierung zu erweitern. Dieses Projekt stellt das Ergebnis meines bisherigen Lernweges dar.

Also wo fange ich an: Nachdem mich mein Hauptprojekt noch etliche Monate (ergo Jahre) beschäftigen wird, wurde bereits vor längerem mit der Arbeit an einer abgespeckten Version begonnen. Diese wird als open-source zur Verfügung gestellt, umfasst weniger Features und kommt zudem lediglich mit kostenlosen Freeware Grafiken aus.

d13 ist eine oldschool browser game engine, mit welcher sich die typischen aufbau strategiespiele der "guten alten zeit" erstellen lassen. Die engine ist stark an die BG World angelehnt (mit der damals experimentiert wurde), jedoch keine Kopie. Nachdem es sich um eine Neuentwicklung Marke Eigenbau handelt, ist der Funktionsumfang noch wesentlich geringer. Die Spiele folgen dem 4X Prinzip: eXplore, eXpand, eXploit and eXterminate - dem klassischen Prinzip runden (bzw. tick)-basierter Strategiespiele.

Den Download werde ich erst gegen Jahresende freigeben, neugierige können jedoch schon einmal spicken. Zudem verfügt das Projekt über eine sourceforge Seite welche auch in Zukunft der "Hub" der ganzen Geschichte sein wird. Auch wenn noch nicht alles fertig ist, so wird in den nächsten Wochen und Monaten noch etliches ergänzt. Selbstredend möchte ich die Features im Laufe der Zukunft kräftig erweitern und auch verschiedene RPG Elemente aus meinem Hauptprojekt mit nach d13 umziehen.


Hinweis:

Das Projekt ist nicht komplett auf meinem Mist gewachsen, sondern basiert auf Devana von Andrei Busuioc mit dem ich schon vor einigen Jahren an dem alten Devana gearbeitet hatte. Andrei hat das Projekt Ende 2013 aufgegeben und ich habe dieses im Jahr 2015 wieder aufgenommen (mit freundlicher Genehmigung) und einem rewrite inkl. refactoring unterzogen.

Tech-Specs:
  • OOP basierter Projektaufbau nach dem MVC Modell
  • Simpler Database Transaction Layer (MSQLi und auf Transactions basierend)
  • Framework7 als frontend framework
  • Responsive Layout
  • "Kugelsichere" session verwaltung
  • Simple Template Engine (kein Smarty etc. zugunsten der Geschwindigkeit)
  • Zahlreiche Einstellungs- und Anpassungsmöglichkeiten
  • Kompletter Reskin/Redesign möglich
  • der relativ modulare Aufbau ermöglicht gute Erweiterung

Entwickelt und getestet unter Verwendung von PHP7, MySQL 5.5 sowie einem HTML5/CSS3 fähigem Browser.

Grafik-Specs:

  • kommt mit einem komplettem Satz von frei verfügbaren Basisgrafiken (von kenney.nl - verwendet mit freundlicher Genehmigung). Diese dürfen privat wie kommerziell eingesetzt werden und umfassen 3 Themen: Mittelalter, Neuzeit und Zukunft.
  • Kommt im Stile einer iOS App daher (aufgrund von Framework7) mit 10 verschiedenen Color-Themes. In Zukunft auch das Google Material Theme mit weiteren Color-Themes. Diese Einstellungen können aber auch komplett "überskinnt" werden.

(Einige) Gameplay-Features:

  • Schnelle Anmeldung (Remember-Me Funktion, Passwort vergessen Option, Account löschen nach Inaktivität Option, Option den Account während der Urlaubszeit von einem Freund pflegen zu lassen und so weiter).
  • Anpassbare Städte (Planeten oder wie auch immer)
  • Anpassbare Gebäude (variable Größe/Gebäudeanzahl)
  • Zahlreiche Gebäude und Einheitenoptionen
  • Anpassbare Technologien & Tech-Tree
  • Anpassbare Rohstoffe und (derzeit nur einfache) Gegenstände
  • Anpassbare Kampfeinheiten
  • Mehrere Fraktionen mit unterschiedlichen Einheiten/Gebäuden und Eigenschaften
  • Optionales Kartensytem (derzeit noch in Arbeit)
  • Gebäude, Technologien und Einheiten können gelevelt werden (noch in Arbeit)
  • Multi-Stadt fähig, Multi-Fraktions-fähig
  • Simples Nachrichtensytsem
  • Simples Allianzsystem
  • Simples Handelssystem
  • Simples Kampfsystem
  • Simple Handelsfunktion zwischen Spielern
  • Simpler Installer
  • Simple Admin (Spieldaten werden derzeit nur in Textdateien editiert).
  • Kleines Wiki (derzeit noch in Arbeit)
  • Kampfsimulator (derzeit noch in Arbeit)
  • KEINE Möglichkeit der monetarisierung (keine Ads oder In-App Käufe), da ich dies nicht unterstütze.

Abschliessend die Sourceforge Projektseite, auf welcher in wenigen Wochen der komplette Source zur freien Verfügung steht:



Zudem wird in wenigen Tagen eine öffentlich zugängliche Testversion auf meiner Homepage
bereitgestellt. (Näheres in diesem Thread).

Ich werde mich bemühen sämtliche Bugs zu beseitigen und auf Feature requests einzugehen, versprechen kann ich jedoch nichts. Installations- und Setup Support kann ich leider aufgrund von Zeitmangel nicht bieten. Was das angeht, gilt die Devise "help yourself". Auf Sourceforge entsteht jedoch nach und nach eine komplette Dokumentation.

Danke für euer Interesse!

-Fhizban
»Fhizban« hat folgende Bilder angehängt:
  • screen5.jpg
  • screen4.jpg
  • screen2.jpg
  • screen3.jpg

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Fhizban« (6. Februar 2017, 14:11)


Es haben sich bereits 4 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Harald (01.12.2016), Miriam Meernixe (01.12.2016), McDev (01.12.2016), Bay (01.12.2016)

BlackScorp

Moderator

Beiträge: 1 234

Wohnort: 127.0.0.1

Danksagungen: 341

  • Nachricht senden

2

Donnerstag, 1. Dezember 2016, 17:32

Top, nur eine Frage, wieso nicht github? es ist wesentlich einfacher mit tools wie https://desktop.github.com/ zu machen und als Entwickler kommt man damit besser zu Recht als mit Sourceforge :D
Qualität eines Codes misst man in WTF/Sekunde

Fhizban

unregistriert

3

Donnerstag, 1. Dezember 2016, 19:07

@BlackScorp: Danke, das lob ging runter wie Öl.

Naja, ich steh voll auf sourceforge, nur deshalb (Wiki, Tickets, Blog, Mailing List, etc. etc.).

BlackScorp

Moderator

Beiträge: 1 234

Wohnort: 127.0.0.1

Danksagungen: 341

  • Nachricht senden

4

Donnerstag, 1. Dezember 2016, 20:06

@BlackScorp: Danke, das lob ging runter wie Öl.

Naja, ich steh voll auf sourceforge, nur deshalb (Wiki, Tickets, Blog, Mailing List, etc. etc.).

https://github.com/Opentribes/Core/wiki <-- Wiki
https://github.com/Opentribes/Core/issues <-- Tickets
https://github.com/Opentribes/Core/watchers <-- "Followers"

+ hat den Vorteil dass du mit Git, pull requests machen kannst, kannst "unter projekte" erstellen zum beispiel ein Blog etc etc

Aber ich schreibe ja schon wieder was vor.. mach dein Ding ;) ich halt mich raus
Qualität eines Codes misst man in WTF/Sekunde

fkrauthan

Schüler

Beiträge: 96

Wohnort: Vancouver

  • Nachricht senden

5

Freitag, 2. Dezember 2016, 02:08

Ich gebe BlackScorp recht. sourceforge is total out. Um ehrlich zu sein wenn ich nach libs suche und sehe das die auf sourceforge gehosted sind suche ich meistens direkt weiter.

Fhizban

unregistriert

6

Freitag, 2. Dezember 2016, 07:47

ok, mal wieder überredet.

plan: ich hoste das ding auch noch auf github. die tickets etc. werden in zukunft auf derjenigen plattform verwaltet auf welcher das projekt am ehesten angenommen wird (also nicht auf beiden).

jetzt erstmal fertig machen (noch ca. 4 wochen - hoffe ich).

BlackScorp

Moderator

Beiträge: 1 234

Wohnort: 127.0.0.1

Danksagungen: 341

  • Nachricht senden

7

Freitag, 2. Dezember 2016, 08:07

du könntest sogar eine Organisation "d13" oder so erstellen und dort Projekte wie "Code" "Graphics" "Blog" anlegen im Projekt "Blog" würde ich ein Branch mit dem namen "gh-pages" anlegen, dann https://sculpin.io/ oder https://bolt80.com/piecrust/ lokal auf deinem PC installieren, das sind beides generatoren für statisches HTML, das kann man sehr gut für Blog Beiträge verwenden, kommentarfunktion würde dann über https://disqus.com/api/docs/ eingebaut.

Sprich du würdest für deine Blog beiträge, Markdown dateien lokal anlegen, anschließend entweder piecrust oder sculpin starten, dieser nimmt das Layout und die Markdown dateien und generiert dir reine HTML Dateien, diese sollten sich im "blog" projekt befinden und die commitest du dann.

Zum schluss kannst du dann https://d13.github.io/blog/ aufrufen und siehst dann deine statitschen HTML Dateien ;)
Qualität eines Codes misst man in WTF/Sekunde

Fhizban

unregistriert

8

Samstag, 3. Dezember 2016, 08:19

Guten Morgen,
Wenn schonmal jemand spicken möchte, eine erste Testversion wurde soeben hochgeladen:

http://www.critical-hit.biz/d13

Achtung:

  • Macht euch nicht die Mühe, liebevoll eine Stadt aufzubauen - das Ding wird in Kürze wieder zersägt
  • Nicht versuchen anzugreifen, bei der Truppenauswahl (Armies) stoppt mein Fortschritt
  • Bitte sämtliche Grafiken, User-Interface etc. ignorieren und auch nicht bewerten - alles noch im Bau!
  • Die Abhängikeiten der Technologien sind ebenfalls noch zu ignorieren, auch sind alle Fraktionen noch identisch
  • Keine Sorgen wegen eurer eMails, wird alles zuverlässig gelöscht und es werden keine eMails versendet.

Danke falls mal jemand reinschnuppern möchte.

Harald

Fortgeschrittener

Beiträge: 255

Danksagungen: 73

  • Nachricht senden

9

Samstag, 3. Dezember 2016, 12:39

Huhu,
habe mich eben bei critical-hit registriert und das hat schon mal gut geklappt.

System: Linux
Browser: Aktueller FF - keine Ahnung, welche Nummer
Addons: Keine


Allerdings hatte ich einen PHP-Error, als ich dann die erste Stadt auswählen wollte - habe dann die zweite ausgewählt, und dann ging es.

Ich habe eine Goldmine gebaut - weil ich keine anderen Gebäude gesehen habe-wie wähle ich andere Gebäude aus? Irgendwo versteckt sich ein Link!

Wo sehe ich wie viele Arbeiter ich habe? Ich habe der Goldmine 30 Leute zugewiesen, hab aber nicht geblickt, wo meine Arbeiterzahlen stehen -
ich habe aber auch nicht genau geguckt. EDIT: Gerade Arbeiter gefunden - stehen ja einfach bei den Ressourcen - ich Blindfisch.

Der Bau verlief ganz gut -außer als ich die Baustelle anklickte - das hat den Bau abgebrochen -
habe dann einfach neu gebaut und das hat gut funktioniert.

Da ich keine anderen Gebäude auswählen konnte (vielleicht weil ich einen gaaanz großen Button übersehe oder so) war für meinen ersten Einblick hier auch Ende. Edit: Zwei mal gucken lohnt sich - hab den Pfeil am rechten Bildschirmrand entdeckt :) Ok, der könnte etwas auffälliger - baue jetzt Eisenmine und Holzfäller :)

Ach, noch was: Beim Mouseover über die Ressourcen oben Links erscheint ja ein kleines Tooltip - da war noch irgendwas drin, dass die Schrift teilweise überlagert hat - ein weißes Zeichen oder eine weiße Grafik - war bei allen Ressourcen-Anzeigen der Fall.

EDIT: Wie baue ich Wohnhäuser und Bauernhöfe ? Gibt es die schon?

EDIT: Was mir gut gefällt ist das einfache Bausystem. Ich brauche keine komplizierte Dorfansicht - die scrollbaren Slots reichen mir völlig - alles andere ist Schnick-Schnack :P

Ansonsten: Bleib dran... das Grundgerüst steht schon - den Rest schaffst du auch noch !

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Harald« (3. Dezember 2016, 12:55)


Fhizban

unregistriert

10

Samstag, 3. Dezember 2016, 13:06

Danke fürs Feedback Harald,

1. den fehler überprüfe ich gleich, habe vorhin festgestellt das im update noch ein bug war. kannst du das noch genauer beschreiben/nachvollziehen?

2. bei allen kontrolls gilt: mobile first. du musst also "wischen"

3. es gibt schon eine ganze reihe gebäude, 13 oder so.

4. oben ist eine leiste mit resourcen da ist ein bauarbeiter mit helm, soviele hast du. du kannst auch nur eine bestimmte anzahl in die gebäude setzen.

5. wenn du baustelle oder das X anklickst wird der bau gestoppt und du erhältst 50% der resourcen zurück.

6. ja den resourcen tooltip muss ich noch umfärben das ist in der detailansicht manchmal verdeckt bzw. Weiss auf Weiss

Fhizban

unregistriert

11

Samstag, 3. Dezember 2016, 19:16

Dank @Harald's mithilfe konnten heute bereits etliche Bugs entfernt werden.

Das Ding sollte was die Neuanmeldung und den Stadtaufbau angeht nun mehr oder weniger rund laufen.

Anfang kommender Woche werde ich die Spielwelt nochmal komplett zurücksetzen.

Es ist noch einiges zu tun bevor ich den Code veröffentliche, hier die Änderungen des nächsten Updates:

  • Haupthaus: Anstatt zu speichern, kann es nun produzieren - und zwar Arbeiter. Als einziges Gebäude im Spiel. Ich versuche alles möglichst flexibel zu halten aber einige Dinge muss ich einfach "hardcoden".
  • Neues Gebäude: Farm - erhöht die statische Resource "Food" was größere Armeen erlaubt.
  • Neues Gebäude: Archer Tower - erlaubt die Verteidigung der eigenen Stadt (dazu später mehr).
  • Neue Technologien bzw. Technologientypus: Einheitentraining - erlaubt das "upgraden" einzelner Einheitenwerte um diese besser zu machen.
  • Kampfsystem - Resourcen durch Angriffe erbeuten oder sogar feindliche Städte durch angriffe übernehmen.

Wenn das alles implementiert und getestet ist, wird die erste Version des Sources veröffentlicht.

In etwas weiterer Zukunft befinden sich dann noch das Kartenystem, Gebäude-Upgrades sowie neue Grafiksets (Neuzeit & Sci-Fi) auf der Todo-Liste.

Harald

Fortgeschrittener

Beiträge: 255

Danksagungen: 73

  • Nachricht senden

12

Samstag, 3. Dezember 2016, 20:08

Das klingt doch schon mal sehr vielversprechend. Ich habe eben meinen ersten Soldaten rekrutiert - bis dahin sieht das alles gut aus. Produktion von Arbeitern würde ich aber nach oben hin auch begrenzen - durch Wohnhäuser. Bauslots hast du ja genug.

Freue mich auf das Kampfsystem - vergiss nicht das Nachrichtensystem - bei solchen Spielen ist Kommunikation sehr wichtig.

Ich habe das Ding gerne angespielt - hat Spaß gemacht. Daumen hoch!

Fhizban

unregistriert

13

Mittwoch, 7. Dezember 2016, 09:32

Die Spielwelt ist nun wieder dicht.


Ich denke das nächste Update ist bereits durchgängig spielbar, wird sich bis Silvester verzögern.


Einige Dinge:


  • Basierend auf Haralds Bugreports wurden UI technisch einige Änderungen eingeflochten. So kann man keine fehlerhaften Formulare mehr absenden, also nicht mehr bauen als man Resourcen hat etc. Es war allerdings gut zu sehen das der Serverseitige Logikcheck in dieser Hinsicht funktioniert, jetzt kommt also noch ein Clientseitiger Logikcheck hinzu.
  • Eingabefelder werden nun nicht mehr abgeschnitten und zudem besser und schöner dargestellt.
  • Ein "MAX" button erlaubt das sofortige Bauen aller Einheiten/Gegenstände basierend auf den verfügbaren Resourcen.
  • Die Größe der Tooltips ist nun dynamisch, die Tooltips sind kontrastreicher.

Zudem ist das Aufleveln der Einheiten nun möglich. Dies kann der Betreiber eines d13 Spiels auch noch feinjustieren:


  • Entweder betrifft das Upgrade ALLE einheitenwerte (attack, defense, hitpoints etc.)
  • Oder das Upgrade verbessert nur EINEN einheitenwert
  • das ganze kann man auch mischen
  • das upgrade ist prozentual und wird mit dem upgradelevel multipliziert.
  • die maximale upgradestufe kann festgelegt werden

Beispiel:


Pikeniere Angriff Stufe 3


Jede Stufe verleiht den Pikenieren +2% angriff, auf Stufe 3 wären das also ein Bonus von total 6%


Diese Neuerung wurde bereits in allen Anzeigen sowie im Kampfsystem hinterlegt.


Apropo Kampfsystem...naja, später mehr! :-D

Fhizban

unregistriert

15

Samstag, 17. Dezember 2016, 10:43

Langsam aber sicher geht es auf die Zielgerade mit dem Projekt d13.

Das Kampfsystem ist jetzt auch fertig. Es fehlt noch etwas optischer Feinschliff.

Folgende Extras wurden eingebaut:

  • Manche Einheiten sind effektiver gegen andere, so kann man z.B. Pikeniere besonders wirkungsvoll gegen Kavallerie einstellen.
  • Nicht nur Einheiten können zur Verteidigung genutzt werden, sondern auch spezielle Verteidigungsgebäude.
  • Gebäude sind "unkaputtbar" müssen jedoch mit Arbeitern besetzt werden um in der Verteidigung zu funktionieren.
  • Erleidet ein Gebäude Schaden so werden die darin platzierten Arbeiter dezimiert.
  • Gebäude müssen somit ständig mit Arbeitern aufgefüllt werden um nicht an Kampfkraft zu verlieren.

Kampf-Feinschliff, Debugging und evtl das Kartensystem - dann gehts in den Release.

Es kann jedoch sein das ich das Kartensystem auf ein zukünfiges Update verschiebe, mal sehen.

Fhizban

unregistriert

16

Sonntag, 18. Dezember 2016, 13:57

Hi,
Nachdem ich nun ein paar Tage Weihnachtspause machen möchte, habe ich bereits eine erste Version auf Sourceforge veröffentlicht.
Ich wünsche euch frohe Weihnachten und würde mich freuen wenn sich mal jemand durch mein Projekt wühlt.
https://sourceforge.net/projects/d13

ulle

Fortgeschrittener

Beiträge: 228

Danksagungen: 54

  • Nachricht senden

17

Montag, 19. Dezember 2016, 10:33

Würde es mir gerne anschauen. Doch leider boykottiere ich sourceforge
Tut mir leid, aber dennoch danke für deine Arbeit. Sieht auf den Bildern ja recht gut aus.

Fhizban

unregistriert

18

Montag, 19. Dezember 2016, 10:45

@ulle kein ding, in kürze folgt github.

die idee dahinter ist das die "im bau" befindliche version auf sourceforge zuerst herauskommt

wenn es etwas ausgereifter ist, folgt github nach.

PS: man kann es auf SF auch downloaden ohne sich anzumelden (nur so nebenbei).

Mina

Profi

Beiträge: 389

Danksagungen: 417

  • Nachricht senden

19

Montag, 19. Dezember 2016, 11:11

Huhu Fhizban,

Cool, dass Du schon so weit gekommen bist. Ich wusele schon fleißig durch den Quellcode und ich kann Dir theoretisch schon einige Hinweise geben, diese möchte ich aber lieber etwas ausführlicher erklären. Heute Abend folgt dann mehr. Derweil möchte ich zumindest etwas loswerden, weil es da nichts groß weiter zu erzählen gibt.

Konstruktor in der Database Klasse:

Quellcode

1
2
3
public function __construct() {
    $this->create(CONST_DB_HOST, CONST_DB_USER, CONST_DB_PASS, CONST_DB_NAME);
}

Du solltest immer einkalkulieren, dass eine zweite Verbindung zu einer anderen Datenbank gebraucht werden könnte. Der Konstruktor macht diese zweite Verbindung mit dieser Klasse in seiner aktuellen Form allerdings quasi unmöglich.
Daher empfehle ich einfach mal:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
public function __construct(array $config = null)
{
    if (isset($config)) {
        $this->create(
            $config['host'], $config['user'], $config['pass'], $config['name']
        );
    } else {
        $this->create(
            CONST_DB_HOST, CONST_DB_USER, CONST_DB_PASS, CONST_DB_NAME
        );
    }
}


LG
Mina

Fhizban

unregistriert

20

Montag, 19. Dezember 2016, 11:43

@Mina: Danke! Ja, ich schreibe auch ständig zwischen zwei Aufgaben

Ich kann in dieser Hinsicht durchaus noch Hilfe gebrauchen. Das ganze Teil ist und bleibt ja auch open-source

Hier noch zwei Dinge bei denen ich DRINGEND Hilfe benötigen würde, aber nicht nur in Tipp Form sondern jemand der sich auskennt und mir das eventuell sogar ausprogrammieren kann:

1. Kartensystem
Das ist allerdings ein sehr umfangreicher Punkt den ich jetzt nicht genauer beschreiben kann.

2. Datenbehandlung
Der wichtigste Punkt im moment. Es gab hier mal einen Kurzen Thread dazu. Falls jemand Zeit hat:

A. Projekt downloaden
B. in den "data" ordner kucken, dort die dateien anschauen und laut schreien
C. im class ordner ist eine data klasse.

Was ich nun brauche ist:

1. eine ordentliche speicherung der daten im "data" ordner (diese array sind brutal) - die dateien sollen einfach lesbar/inkludierbar sein
2. eine ordentliche möglichkeit die daten in die data klasse einzulesen
3. eine ordentliche möglichkeit auf die daten in der data klasse zuzugreifen

Ähnliche Themen

Social Bookmarks

Thema bewerten