Opstapje OOP
Ik wil graag beginnen aan een nieuw project, een webbased RPG (13 in een dozijn :P) en dit keer wil ik eerst beginnen met het maken van het registreren, inloggen en uitloggen (in OOP).
Hier moeten dus classes voor worden geschreven, nu ben ik vrij nieuw in OOP en weet ik niet echt waar ik moet beginnen.
Moet ik eerst beginnen aan een class met algemene info: naam van de site, character setting, noem maar op.
Of met een class die dingen opslaat (en ik heb in een ouder topic van mij begrepen dat hier een storage class voor moet worden gemaakt).
Kortom: Kan iemand me zeggen waar en hoe ik hier precies aan moet beginnen?
Alvast heel erg bedankt!
Edit:
Ik ben zelf al begonnen aan een basis stukje, dit is alles wat ik tot nu toe heb:
/includes/classes/core.class.php
Code (php)
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
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
<?php
// Core
class Core
{
// Variables
protected $_siteName;
protected $_charSet;
// Constructor
public function Core($siteName, $charSet)
{
$this->_siteName = (string) $siteName;
$this->_charSet = (string) $charSet;
}
// Get Site Name
public function getSiteName()
{
return (string) $this->_siteName;
}
// Set Site Name
public function setSiteName($siteName)
{
$this->_siteName = (string) $siteName;
}
// Get Char Set
public function getCharSet()
{
return (string) $this->_charSet;
}
// Set Char Set
public function setCharSet($charSet)
{
$this->_charSet = (string) $charSet;
}
}
$core = new Core('Site Naam', 'UTF-8');
?>
// Core
class Core
{
// Variables
protected $_siteName;
protected $_charSet;
// Constructor
public function Core($siteName, $charSet)
{
$this->_siteName = (string) $siteName;
$this->_charSet = (string) $charSet;
}
// Get Site Name
public function getSiteName()
{
return (string) $this->_siteName;
}
// Set Site Name
public function setSiteName($siteName)
{
$this->_siteName = (string) $siteName;
}
// Get Char Set
public function getCharSet()
{
return (string) $this->_charSet;
}
// Set Char Set
public function setCharSet($charSet)
{
$this->_charSet = (string) $charSet;
}
}
$core = new Core('Site Naam', 'UTF-8');
?>
Gewijzigd op 14/11/2012 20:16:34 door Lord Gaga
Als ik vragen mag, wat voor soort RPG wordt het? Ik zou eventueel wel willen helpen.
Ik vraag me af of dat van toepassing is Rick, ik denk dat het een projectje is om van te leren als ik het zo hoor/zie.
Stefan van den Broek op 15/11/2012 09:55:25:
Ik vraag me af of dat van toepassing is Rick, ik denk dat het een projectje is om van te leren als ik het zo hoor/zie.
Ik wil wel serieus proberen een goede werkende RPG te maken, maar dan wel echt zelf, dus niet in een team bijv.
En de reden dat ik hier om een opstapje richting OOP vraag is omdat ik dit keer écht OOP wil werken. Op internet zijn wel veel tutorials te vinden over hoe je nou bijv. een class maakt, maar ik kan niks vinden over naamgeving of waar jen classes nou wel of niet voor gebruikt, en hoe je ze goed aanroept (ik had al iets gelezen over een autoloader maar daar kan ik weinig over vinden)
Naamgeving is vaak iets dat je zelf/met je team vaststelt. Verder wil ik je vragen iets specifieker te zijn over wat je nu van ons verwacht. Gewoon OOP kreten roepen heeft weinig zin denk ik.
Je moet kunnen Photoshoppen, coden, modellen (3D modellen), scripten, server(s) beheren, verhaallijn schrijven (zonder verhaal geen RPG), tourbleshooting, customer support, uitbreiden van je RPG, marketing, en nog wat meer.
Dat gaat je nooit lukken in je eentje, tegen de tijd dat je een speelbare RPG hebt, is wellicht de techniek en code verouderd waardoor je weinig spelers zult krijgen en wellicht niet eens alles werkt.
Dit soort projecten zijn tijdrovend.
@Chris:
IK bedoel meer het programmeerdeel (hoewel ik het pixelen ook zelf doe), een vriend van mij schrijft de verhaallijnen en er zijn genoeg andere mensen die eventueel zouden willen helpen op andere gebieden.
Gewijzigd op 15/11/2012 11:58:58 door Lord Gaga
Ik zou maar eerst eens aan je 'game engine' beginnen, en je site als laatste. Je zult met zoveel factoren rekening moeten houden, en zoveel complexe formules. Voor een RPG krijg je veel punten, hieronder een paar.
Characters
Classes, Spells, Abilities, item durrability, stemmen, base stats, boosts, type armor, turn based/real time, items, NPC's, rassen, etc
Wereld
landschappen, collision engine, gebouwen, objects, geluiden, limitaties, currency, economie etc.
Verhaal
verhaallijn, quests, evenementen, tijdlijn, etc
Spelers
chat, controls, opslaan van alle gegevens, snelheid van je game, etc
Dit is nog maar een handje vol van wat er allemaal bij komt kijken, dit is een grote ondernemening en geen beginnen aan in je uppie. Er zijn overigens genoeg mensen die hier met plezier (voor niets) aan mee willen werken.
Toevoeging op 15/11/2012 12:09:49:
Lord Gaga op 15/11/2012 11:57:30:
@Chris:
een vriend van mij schrijft de verhaallijnen en er zijn genoeg andere mensen die eventueel zouden willen helpen op andere gebieden.
een vriend van mij schrijft de verhaallijnen en er zijn genoeg andere mensen die eventueel zouden willen helpen op andere gebieden.
Je zegt net dat je het alleen ging doen.
Voordat je begint aan zo'n groot OOP project zou je eens moeten kijken naar desing patterns etc. Ik ben nu zelf ook een OOP login systeem aan het maken en dat vind ik als OOP beginner al erg moeilijk. Ik denk dat deze opdracht bijna onmogelijk is zonder een deftige OOP kennis.
Chris NVT op 15/11/2012 12:09:07:
Uhm...
Ik zou maar eerst eens aan je 'game engine' beginnen, en je site als laatste. Je zult met zoveel factoren rekening moeten houden, en zoveel complexe formules. Voor een RPG krijg je veel punten, hieronder een paar.
Characters
Classes, Spells, Abilities, item durrability, stemmen, base stats, boosts, type armor, turn based/real time, items, NPC's, rassen, etc
Wereld
landschappen, collision engine, gebouwen, objects, geluiden, limitaties, currency, economie etc.
Verhaal
verhaallijn, quests, evenementen, tijdlijn, etc
Spelers
chat, controls, opslaan van alle gegevens, snelheid van je game, etc
Dit is nog maar een handje vol van wat er allemaal bij komt kijken, dit is een grote ondernemening en geen beginnen aan in je uppie. Er zijn overigens genoeg mensen die hier met plezier (voor niets) aan mee willen werken.
Toevoeging op 15/11/2012 12:09:49:
Je zegt net dat je het alleen ging doen.
Ik zou maar eerst eens aan je 'game engine' beginnen, en je site als laatste. Je zult met zoveel factoren rekening moeten houden, en zoveel complexe formules. Voor een RPG krijg je veel punten, hieronder een paar.
Characters
Classes, Spells, Abilities, item durrability, stemmen, base stats, boosts, type armor, turn based/real time, items, NPC's, rassen, etc
Wereld
landschappen, collision engine, gebouwen, objects, geluiden, limitaties, currency, economie etc.
Verhaal
verhaallijn, quests, evenementen, tijdlijn, etc
Spelers
chat, controls, opslaan van alle gegevens, snelheid van je game, etc
Dit is nog maar een handje vol van wat er allemaal bij komt kijken, dit is een grote ondernemening en geen beginnen aan in je uppie. Er zijn overigens genoeg mensen die hier met plezier (voor niets) aan mee willen werken.
Toevoeging op 15/11/2012 12:09:49:
Lord Gaga op 15/11/2012 11:57:30:
@Chris:
een vriend van mij schrijft de verhaallijnen en er zijn genoeg andere mensen die eventueel zouden willen helpen op andere gebieden.
een vriend van mij schrijft de verhaallijnen en er zijn genoeg andere mensen die eventueel zouden willen helpen op andere gebieden.
Je zegt net dat je het alleen ging doen.
Het meeste doe ik alleen ja, maar ik heb daarnaast wel vrienden die 'helpen', de ideeën, verhaallijn etc. is allemaal al uitgedacht.
Waar ik nu dus mee wil beginnen is een basis (inloggen, registreren, uitloggen), en vanuit die basis wil ik steeds verder werken om er een RPG van te maken.
(en het is een webbased RPG dus ik snap niet echt wat je bedoeld met eerst een 'game engine', aangezien dat onderdeel is van de site)
Edit:
Het is overigens ook wel handig om even te melden dat het text based wordt, dus meer de richting op van een maffia achtig iets.
Gewijzigd op 15/11/2012 14:54:35 door Lord Gaga