Javascript Programmierer gesucht

Hallo,
ein Freund und ich wollen ein Browser Game machen.
Das hört sich jetzt ersteinmal nicht sehr vielversprechend an, denn es gibt ja sehr viele Onlinespiele. Unsere Idee :
Es soll eine taktik Spiel werden und im Steinzeitalter beginnen. Ihr kennt bestimmt Empire Earth. Nach diesem Prinzip soll das Spiel ablaufen. Wir treffen uns dieses Wochenende zum ersten mal, um schonmal einen Grundaufbau hinzubekommen. Jetzt haben wir schon das erste Problem :
Der Spieler soll zb Holz abbauen können. Um dies zu programmieren haben wir uns auch schon informiert, denn diese Funktion können wir mit einem Zähler beweltigen. Dieser zählt zB. 13 min. Aber um die 13 min zu zählen brauchen wir jede sek ein refresh. Dafür kommt JS ins Spiel. Und nochwas, wenn wir jetzt die gennanten 13 min haben, müssen wir mit einer simplen Formel das erarbeitete Holz errechnen. Und unser Hauptproblem ist, dass wir einen JS-Programmierer brauchen, der uns an solchen stellen unterstüzt. Denn für solche Sachen reichen unsere Kenntnisse nicht. Danke ersteinmal fürs durchlesen. Wer interesse hat, schreibt mir bitte eine PM.
Danke schonmal im Vorraus,
mit freundlichem Gruß, tisu.
 
Sicher, dass ihr das in JS machen wollt? Ich habe da so meine zweifel und würde euch PHP ans Herz legen
 
Ich seh da auch keine großen Chancen für euch, wenn ihr das mit Java Script machen wollt.
Da kommt Ihr an PHP nicht drann vorbei ......
 
Wir wollen auch grundsätzlich php benutzen, doch für solche dinge JS. Aber wenn mit php sowas auch schnell und effizient geht, dann brauchen wir kein js.
 
Ich bin der Kumpl von tisu :D
Und ich meine auch ,dass man browsergames mit php programmieren sollte.
Aus dem Grund habe ich auch php gelernt aber komme damit nicht wirklich klar , denn
wenn man mit php programmiert muss man auch sql können und das kann ich irgendwie nicht ab X( .
Davon mal abgesehen stellt sich bei mir das Problem der Zeitrechnung im Bezug auf Countdown , denn man müsste das script sich jede sekunde selbst aktualisieren , was den server ziemlich lahm macht.
Und ein anderer Freund riet mir das mit js zu machen , da dieses sich wohl durchgehend aktualisiert und den server nicht so lahm machen würde.
Außerdem würd ich gern nen kleines beispiel sehen wie ich das dann alles abspeichern soll , denn ich denke alles mit einer if abfrage zu steuern wäre doch ziemlich kompliziert

in hoffnung auf eine schnelle antwort mit vielen nützlichen tipps

DaWeed aka. Rider
 
Naja.. ich möchte euch nicht wirklich demotivieren, aber doch etwas auf den Boden zurückholen. Du kannst kein Riesenprojekt mit PHP basteln wenn du nichtmal die grundlangen beherschst... Stell dir nurmal vor wieviele verschiedene bestätigungs- und Fehlermeldungen meldungen und querrys du dafür schreiben wirst, und das ganze ohne gescheite vorstellung von zB zentralistischer Foratierung, Sicherheit in Scripten, Funktionsbibliotheken, usw. kriegst das nicht gebacken...

Ich würde mal das Gecode grundsätzlich auslagern. (um mal nicht outsourcen zu sagen ;) )

Und an meine Vorredner:
Für eine live-Countdown Funktion braucht man grundsätzlich javasciprt..
das gekacke mit whileschleife und head(selbe datei) funktioniert bedingt bis nicht.

Ich rate zu timestamp basiertem php script dass in einem frame reloadet wird.
(auch wenn das ne riesen serverlast wird.. aber parallel laufend (js countdown basierend auf dem timestamp + vorgegenbene "abbauzeit") kommt das doch nie genau :S
 
In der Tat. Sekundengenau muss es ja nicht sein, einigt euch auf Zeiteinheiten (z.B. eine Minute) und lasst dann mit jedem Ablauf einer Zeiteinheit einen Cronjob laufen, der alle bis dahin angefallenen Aktionen ausführt.

Das JavaScript könnt ihr ja dennoch verwenden, aber dann nur als Eye Candy, damit der User den Fortschritt in seinem Browser auch sieht, ohne ständig die Seite neu laden zu müssen.
 
Original von crystal
mysql + php + cronjobs + timestamps...

kein (bekanntes) browsergame arbeitet mit solchen komischen frame-php-scripts, die sich laufend selber wieder aufrufen.

http://de.wikipedia.org/wiki/Cronjob

cYa

Da muss ich dir leider wiedersprechen.
Z.B.: Fatal-Vortex(www.fatal-vortex.de)
Ich hatte später auch mal vor ein Browsergame zu basteln. Aber ich muss auch erstmal ganz unten anfangen und kleinere Sachen Programmieren.
Deswegen kann ich mich nur starfoxx anschließen. Man sollte erst ganz unten anfangen.
Aus meinen eigenen Erfahrungen, muss ich aber sagen das SQL sehr einfach ist und nicht viel schwerer als HTML ist.
 
*Idee einbring*
für ein größeres Browsergame braucht man eher eine schnellere Anbindung mit PHP/MySQL usw. Warum keinen Tomcat? Bei "wenig" Spielern kann man das imho sogar von zuhause aus machen, bei vielen Spielern, wenn der "Hausserver" nicht mehr ausreicht, muss man wohl eher was mieten - und auf die schnelle sieht so ein Tomcat Abgebot gar nicht so teuer aus: http://www.javaservlethosting.com/services.php?pageid=webhostingcomparison
http://www.mirsky.de/ (8 Euro bei 5 GB transfer)

der Vorteil ist: Java ist um einiges "schneller" als PHP, die Programmierung unkomlizierter (besonders bei größeren Projekten) und vor allem kann man da imho nicht so schnell sich in den Fuß schießen (von der Sicherheit her).
 
Ich kann ja php grundlagen!!! So siehts ja nicht aus , dass ich garnichts kann nur wenn man das mit dem timestamp macht is das halt viel zu lahm un deswegn wollte ich nach alternativen fragen un da hatte sich nunmal js am besten angehört .
ich finde das ja auch schön wenn ihr uuns tipps gebt was wir später einmal machen sollten.
Aber im moment ist unser ziel ein kleines spiel auf die reihe zu kriegen das von sich aus auch läuft xD (hört sich einfach an ist es aber nit) und das momentane problem ist halt die zeitberechnung. Was gegen die Cronjobs spricht ist , dass es nicht sekündlich aktualisiert wird ,denn wie soll das denn ausehen wenn man für sagen wa metallmine stufe 1 nur 1.45 min bauen muss aba man erst nach 2 min die aktualisierung erfolgt dann gehen die 15 sek. einfach verloren. Das Geht doch super bei Ogame z.B. oder jedem anderem Spiel aba ich frage mich wie die das machen


un falls wer mitmachen will wie der tisu schon gesacht hat einfach melden wir heißen alle gerne willkommen
 
nehmen wir mal an, jemand will ein gebäude bauen/upgraden, sagen wir mal ein labor auf level 1, dessen fertigstellung 5 stunden dauert.
  • du machst nen timestamp + 5 stunden und fügst ihn in den datensatz des users ein, der das labor level 1 bauen will.
  • wenn der user auf seiner status-seite nach der verbleibenden bauzeit seines labors schauen will, wird der timestamp aus der DB geholt und
  • dann mithilfe von javascript durch einen sekundengenauen timer angezeigt
beispielcode:

timestamp setzen:
Code:
<?php
	//die variable $labor["bauzeit"][$upgrade_to_level] hat standardwerte (hier für $upgrade_to_level=1 den wert 5)

	$timestamp = time()+$labor["bauzeit"][$upgrade_to_level]*60*60;
	
	//den request per mysql_escape_real_string(); entschärfen
	//hier zur mysql-DB verbinden und datenbank auswählen
	//überprüfen, ob die vom user gewählte gebäudeart überhaupt existiert und genug geld für den bau vorhanden ist

	mysql_query("UPDATE ".$datenbank." SET labor='".$upgrade_to_level."|".$timestamp."' WHERE username='".$username."'");

	//für den bau benötigtes geld vom konto des users abziehen etc.

	mysql_close();
	echo "der bau des gebäudes wurde in auftrag gegeben und wird in etwa ".$labor["bauzeit"][$upgrade_to_level]." stunden vollendet sein.";
?>
rest-bauzeit anzeigen:
Code:
<?php
	//hier timestamp für die fertigstellung des labors aus dem DB-datensatz des users $username holen ( $bauende[$username]["labor"] )

	if($bauende[$username]["labor"] <= time()) { echo "das labor level ".$baulevel[$username]["labor"]." wurde erfolgreich gebaut!"; exit; }
?>

<body onload="javascript:countDown();">

<script type="text/javascript">
<!--
var ende=<?php echo $bauende[$username]["labor"]; ?>;

function countDown() {
	now = new Date(); now = parseInt(now.getTime()/1000);
	if(now<ende) {
		stunde = parseInt((ende-now)/3600);
		minute = parseInt(((ende-now)/60)%60);
		sekunde = parseInt((ende-now)%60);

		if(stunde<10) { stunde = "0"+stunde;  }
		if(minute<10) { minute = "0"+minute; }
		if(sekunde<10) { sekunde = "0"+sekunde; }

		out=stunde+":"+minute+":"+sekunde;
	}
	document.getElementById("CDown").firstChild.nodeValue = out;

	if(now<ende) { setTimeout("countDown()",1000); }
}
//-->
</script>

<!-- falls kein javascript aktiviert ist, wird die verbleibende zeit per PHP angezeigt-->
<span id="CDown"><?=gmdate("h:i:s", $bauende[$username]["labor"]-time());?></span>

ist natürlich nicht komplett auf ein browsergame bezogen, dafür müssten noch mehrere dynamische variablen vorhanden sein und eingaben möglich sein. aber so ungefähr könntet ihr das machen, @DaWeed.
und ich sehe nicht, was an timestamps jetzt so "lahm" sein soll ;) :P


ps: selbst wenn die bauzeit 1:45 minuten dauern soll, bekommst du das mit timestamps hundertprozentig genau hin.

cYa
 
BOHA verdammt bist du gut xD *daumenhoch*
naya ich hatte das nen bisl anders gemacht aba so dat is ja musterlösung(und da is auch js drinne so wollten wir dat) xD
gut dann ma nen dickes thx un morgen früh um 10 kommt der tisu zu mir un wir arbeiten ma was :P sodass wir bald nen grundgerüst haben werden :] und dann melden wir uns mit neuen Problemen :p (das war keine drohung sondern ein versprechen [auch wenn ich hoffe das ich das versprechen brechen muss])
 
Mich interessiert das Thema, habe an "phaos" und HylZee mitgebastelt.

Sollte aber derzeit erstmal Bewerbungen schreiben ;-) anstatt da 100% mitzumachen.

Meinung:
Mit Javascript kann man das Spiel besser machen, aber nicht unbedingt voll abwickeln ..
 
Zurück
Oben