maandag 8 september 2014
maandag 3 december 2012
Car City: 3D Models
Hieronder de lijst met laatst gemaakte 3d gebouwen voor Car City.
Middel klasse Woning
Middel klasse Woning
Arbeider Flat
Arbeider Huis
Winkelcentrum
woensdag 28 november 2012
Unity - Database Connection
Hieronder een korte en simpele samenvatting hoe een db-connectie opgezet kan worden met unit en php. Deze opzet is de eerste versie en daarom is er nog geen aandacht besteed aan beveiliging van de verbinding.
StartCoroutine(Login()); //call the function with StartCoroutine() this because the function is of 'IEnumerator' type
De login functie:
IEnumerator Login() { //the function has the return type: IEnumerator, this is needed when working with Yield and coroutine's
WWWForm form = new WWWForm(); //form which is handled as a normal html form by the php-page
form.AddField("inlogName", formNick); //add a field to the form in the format: AddField("name","value");
form.AddField("inlogPassword", formPassword);
WWW w = new WWW(URL, form); //a webRequest
yield return w; //yielding a variable will return this function (so other code can run), however intern it is waiting
//till 'w' is finish downloading, when 'w' is finished the code after the return will be called
if (w.error != null) {
Debug.Log(w.error); //log a possible error
} else {
formText = w.data; //here we collect the data from the website (this is the bron-code from the website, incl php echo's)
w.Dispose(); //clear the form in game
}
formNick = ""; //clean the inlog information
formPassword = "";
}
<?php
$inlogName = $_POST["inlogName"];
$inlogPassword = $_POST["inlogPassword"];
$db_server = "*************";
$db_inlogName = "****";
$db_inlogPassword = "****";
$db_name = "SCORES";
echo " connection made ";
echo $inlogName;
echo $inlogPassword;
//make connection
$dbCon = mysql_connect($db_server,$db_inlogName,$db_inlogPassword) or die("Error connection to DB");
mysql_select_db("SCORES");
$query = "SELECT * FROM scores LIMIT 0 , 30";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
//print the information
while ($row = mysql_fetch_assoc($result)) {
echo $row['name']."\n";
echo $row['password']." - ";
}
echo "worked?";
?>
noot1:
Ten behoeve van het testen, stuur ik vanuit unity een aantal waarden mee, deze worden in deze versie nog niet gebruikt (inlogName, inlogPassword).
noot2:
Ik heb ten behoeve van de bescherming van mijn eigen database de inloggegevens hiervan verborgen door er '*' te tekenen.
Unity
De Login() functie word aangeroepen in de Start() functie (kan overal aangeroepen worden):StartCoroutine(Login()); //call the function with StartCoroutine() this because the function is of 'IEnumerator' type
De login functie:
IEnumerator Login() { //the function has the return type: IEnumerator, this is needed when working with Yield and coroutine's
WWWForm form = new WWWForm(); //form which is handled as a normal html form by the php-page
form.AddField("inlogName", formNick); //add a field to the form in the format: AddField("name","value");
form.AddField("inlogPassword", formPassword);
WWW w = new WWW(URL, form); //a webRequest
yield return w; //yielding a variable will return this function (so other code can run), however intern it is waiting
//till 'w' is finish downloading, when 'w' is finished the code after the return will be called
if (w.error != null) {
Debug.Log(w.error); //log a possible error
} else {
formText = w.data; //here we collect the data from the website (this is the bron-code from the website, incl php echo's)
w.Dispose(); //clear the form in game
}
formNick = ""; //clean the inlog information
formPassword = "";
}
PHP
Een simpel php-mySql/database connectie script:<?php
$inlogName = $_POST["inlogName"];
$inlogPassword = $_POST["inlogPassword"];
$db_server = "*************";
$db_inlogName = "****";
$db_inlogPassword = "****";
$db_name = "SCORES";
echo " connection made ";
echo $inlogName;
echo $inlogPassword;
//make connection
$dbCon = mysql_connect($db_server,$db_inlogName,$db_inlogPassword) or die("Error connection to DB");
mysql_select_db("SCORES");
$query = "SELECT * FROM scores LIMIT 0 , 30";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
//print the information
while ($row = mysql_fetch_assoc($result)) {
echo $row['name']."\n";
echo $row['password']." - ";
}
echo "worked?";
?>
noot1:
Ten behoeve van het testen, stuur ik vanuit unity een aantal waarden mee, deze worden in deze versie nog niet gebruikt (inlogName, inlogPassword).
noot2:
Ik heb ten behoeve van de bescherming van mijn eigen database de inloggegevens hiervan verborgen door er '*' te tekenen.
dinsdag 27 november 2012
Car City; Een stad ontwerpen
Om de stad voor dit concept tot leven te brengen onderzochten we verschillende stijlen van architectuur die vanaf de industriële revolutie waren ontwikkeld. We waren al eerder gecharmeerd door de Art Deco beweging, die een chique stijl met veel sierlijke geometrische vormen hanteerde, en een soort optimisme voor ontwikkeling en techniek uitstraalde. Veel voorbeelden van de architectuur van deze stijl gebruikte echter veel staal en kleuren die we niet voelden passen bij het vrij nuchtere Holland. Verder zoekende naar Nederlandse voorbeelden hiervan, kwamen we bijvoorbeeld langs de Stijl, maar vonden pas echt een goeie match met de Amsterdamse school. Een expressionistische vorm van architectuur rond 1910 tot 1930. Gekenmerkt door sterke geometrische vormen en de typerende (rode) bakstenen van Nederlandse woningen. Net als Art Deco vonden we dat het een soort speels optimisme en futurisme uitstraalde. Het voelde bovendien zeer Nederlands.
Na enkele voorbeelden te hebben bekeken en een lijst van vereiste gebouwen te hebben ontwikkeld zijn we aan de slag gegaan. Dit zijn enkele voorbeelden van gebouwen die we hebben ontworpen.
Een arbeidershuis.
Meer na de break!
donderdag 8 november 2012
Unity simple network/multiplayer
In deze blog in het kort hoe een simpele netwerk verbinding in unity opgezet kan worden.
Een object dat een object is dat zijn gegevens moet doorsturen naar de andere spelers moet een component: Network view krijgen (te vinden bij Miscellaneous > Network view).
In dit voorbeeld heb ik een class: spawnPoint gemaakt die een nieuwe class: Player spawnt als een speler zich aanmeld. De staat van het netwerk word bijgehouden in class: networking. Deze hangt aan de mainCamera. Open de images om het op leesbaar formaat te zien. (ik heb images geupload omdat het blog bij het plakken van tekst niet de opmaak meenam..)
hieronder de classes:
Een object dat een object is dat zijn gegevens moet doorsturen naar de andere spelers moet een component: Network view krijgen (te vinden bij Miscellaneous > Network view).
In dit voorbeeld heb ik een class: spawnPoint gemaakt die een nieuwe class: Player spawnt als een speler zich aanmeld. De staat van het netwerk word bijgehouden in class: networking. Deze hangt aan de mainCamera. Open de images om het op leesbaar formaat te zien. (ik heb images geupload omdat het blog bij het plakken van tekst niet de opmaak meenam..)
hieronder de classes:
Networking (on mainCamera)
Player (on player-prefab object)
SpawnPoint
Saving memories (Conclusie)
Titels niet beschrijvend genoeg, foto's te veel
Na de playtests met de paper prototype van Saving Memories waren we erachter gekomen dat de titels van de verloren verhalen te weinig hints zouden geven om de speler een verhaal te laten schrijven. Onze oplossing zou zijn om foto's te gebruiken in plaats van titels. Joris had zijn foto mappen geopent op zoek naar foto's van zijn surfreis, dit was in wezen een playtest voor hoe de 45+ers op zoek zouden moeten gaan naar foto's van hun verhalen.
Het bleek dat Joris erg veel moeite had foto's uit te zoeken waar een logistiek verhaal in verborgen zouden zitten. De hele game hangt af van dit concept, en het blijkt te moeilijk te zijn het bij elkaar te sprokkelen. Daarom zijn we tot een conclusie gekomen dat dit concept niet optimaal zou zijn.
Wat hebben we geleerd?
Voor dit concept hebben we een paper prototype gemaakt om te testen of het überhaupt werkt en zijn we erachter gekomen dat dit niet het geval was. Te veel losse eindjes die elkaar tegen zitten. Het paper prototype heeft dus erg belangrijke informatie overgebracht en we hebben geleerd dat dit vaak een belangrijke stap is voordat we beginnen met programmeren. Stel je voor dat we hier 3 weken mee aan de slag waren gegaan in de code!
Conclusie
Uprising was een redelijke poging om letterlijke verhalen van de 45+er over te brengen naar onze doelgroep in de vorm van spel. Daarnaast zou het belang van het behouden van erfgoed (herinneringen) verwerkt worden in de game. We denken dat we wederom een poging moeten doen een concept te verzinnen die deze punten zouden aanslaan.
Na de playtests met de paper prototype van Saving Memories waren we erachter gekomen dat de titels van de verloren verhalen te weinig hints zouden geven om de speler een verhaal te laten schrijven. Onze oplossing zou zijn om foto's te gebruiken in plaats van titels. Joris had zijn foto mappen geopent op zoek naar foto's van zijn surfreis, dit was in wezen een playtest voor hoe de 45+ers op zoek zouden moeten gaan naar foto's van hun verhalen.
Het bleek dat Joris erg veel moeite had foto's uit te zoeken waar een logistiek verhaal in verborgen zouden zitten. De hele game hangt af van dit concept, en het blijkt te moeilijk te zijn het bij elkaar te sprokkelen. Daarom zijn we tot een conclusie gekomen dat dit concept niet optimaal zou zijn.
Wat hebben we geleerd?
Voor dit concept hebben we een paper prototype gemaakt om te testen of het überhaupt werkt en zijn we erachter gekomen dat dit niet het geval was. Te veel losse eindjes die elkaar tegen zitten. Het paper prototype heeft dus erg belangrijke informatie overgebracht en we hebben geleerd dat dit vaak een belangrijke stap is voordat we beginnen met programmeren. Stel je voor dat we hier 3 weken mee aan de slag waren gegaan in de code!
Conclusie
Uprising was een redelijke poging om letterlijke verhalen van de 45+er over te brengen naar onze doelgroep in de vorm van spel. Daarnaast zou het belang van het behouden van erfgoed (herinneringen) verwerkt worden in de game. We denken dat we wederom een poging moeten doen een concept te verzinnen die deze punten zouden aanslaan.
Car City concept art
Naast het ontwikkelen van conceptart voor verschillende voertuigen is een belangrijk deel van het Car City concept (link hier) ook het vertoon en groei van de stad aan de hand van voertuigen. Om dit uit te beelden hebben we ook mock-up art gemaakt van verschillende steden. Deze prenten tonen aan dat een klein fantasie-dorpje aan zee kan uitgroeien tot drie geheel verschillende steden. Dit toont de kracht aan die de spelers hebben met hun ontwerpen.
Zie hoe dit dorpje kan uitgroeien na de break!
Abonneren op:
Posts (Atom)