Gå til innhold

PlastBox

Medlemmer
  • Innlegg

    301
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av PlastBox

  1. Takk for svar PlasBox, skal titte på jQuery, har du noe forslag for meg hvordan jeg kan oppdatere hele innholdet i div'en til MySQL databasen?

    Hva er MySQL koden?

     

    Altså, det er ikke bare-bare å gå over til jQuery, det krever en ganske stor overgang. Du må først og fremst laste ned nyeste jQuery-fil og lage en fil til din egen javascript-kode (f.eks. myscript.js). Begge disse includes i index.php med:

    <script src="jquery-whateverfilnavn.js" type="text/javascript"></script>
    <script src="myscript.js" type="text/javascript"></script>

     

    sort.php må du skrive om slik at den kan få tilsent hva den skal gjøre ($_GET['do'] == up/down/delete) og $_GET['id'] er ID på raden som skal flyttes/slettes. Til slutt i sort.php genereres ønskelista.

     

    I stedefor å linke til sort.php?id=32&do=up bruker du ajax til å kalle denne filen. Pseudokode blir:

    function doStuff(rowid, action)
    {
     $.get("sort.php", { id: rowid, do: action }, function(data)
     {
    $("#list").html(data);
     });
    }

     

    Når du trykker "Opp" på en item i listen må du kjøre javascript-funksjonen doStuff(28, 'up'). $.get() henter da inn sort.php?id=28&do=up og hva enn denne filen ellers ville printet på skjermen (altså ønskelisten) blir returnert til variabelen data.

     

    $("#list").html(data); setter innholdet i et html-object med id="list" til det sort.php returnerer (altså ønskelisten).

     

     

    Ok, dette er vanskelig å forklare men..

     

    1. sort.php genererer ønskelisten med knapper som kjører doStuff(id, "up/down/delete");

    2. når du trykker på en knapp kjøres funksjonen doStuff med verdier for den raden/knappen, f.eks. doStuff(13, 'down')

    3. sort.php?id=13&do=down hentes, og rad med id 13 flyttes ned. Kode for ønskeliste genereres og returneres til javascriptet, i variabelen "data"

    4. innholdet i <div id="list"> settes til variabelen "data"

     

    Get it? xD

  2. Ah, I see.. Må først bare si at jeg ikke er fan av bruk av cookies, men det virker som den enkleste løsningen her tross alt. Du kan enkelt og greit legge følgende kode i bake.php:

     

    <?php
    if(!empty($_POST))
    {
    $validcookies = array('name', 'account');
    foreach($_POST as $key => $value)
    {
    	if(in_array($key, $validcookies))
    	{
    		setcookie($key, $value);
    	}
    }
    header('Location: bake.php');
    }
    else
    {
    echo '<form action="bake.php" method="post">
    Firma: <input type="text" name="name" value="'.$_COOKIE['name'].'" /><br />
    Konto: <input type="text" name="account" value="'.$_COOKIE['account'].'" /><br />
    <input type="submit" value="lagre" />
    </form>'."\r\n";
    }
    ?>

     

     

    Tillate cookie-navn er spesifisert i arrayet $validcookies og disse må stemme over ens med navnene i formen, i.e.:

     

    <input type="text" name="name" value="'.$_COOKIE['name'].'" />

     

    Så må du sette inn $_COOKIE['name'], $_COOKIE['account'] og evt. andre verdier du vil lagre på denne måten inn på rett sted på giroen.

  3. Har lekt med samme opplegget som deg et par ganger, det første tilfellet var et spill alá Dawn of Myth der man researchet og bygget ting som tok (n * haltimes "ticks") å gjøre ferdig. Løsningen her var ikke å lage en jobb, og "gjøre noe" når jobben var ferdig. Dette er bakvendt tenkning! Løsningen var å lage ordren ferdig i basen men med et timestamp-felt som sa når den var ferdig. Deretter var det bare for meg legge til "WHERE timestamp_done >= UNIX_TIMESTAMP()" når jeg listet mine ferdige byggninger eller det motsatte ("WHERE timestamp_done < UNIX_TIMESTAMP()") for å liste uferdige byggninger.

     

    Skal du derimot ha noe der man f.eks. bestiller 10 "Miners" som det tar 4 timer å trene og som, når de er ferdige, utvinner 5 gold hver i timen.. Da er du nødt til å legge inn "jobber". Alikevel, den eneste "jobben" som må gå er å gi folk de ressursjene de skal ha, altså (gold = gold + (miners * 5)), hvert tick. Antall Miners finner du på samme måte som ferdige bygninger i eksemplet over. Når de bestilles lagres de med (timestamp_done = UNIX-TIMESTAMP()+ (3600*4)), altså er de ferdige om 4 timer. For å telle antall Miners henter du ut alle som tilhører en bruker og som har (timestamp_done >= UNIX_TIMESTAMP())

     

    Håper du fikk med deg noe her, føler posten ble noget ustrukturert! x/

  4. Jeg forstår hva du mener, South_Bridge, men ikke hvorfor du gjør det sånn. Hvorfor ikke bare generere thumbnail i samme kodeblokk som tar imot den opplastede filen? Virker lite fornuftig å delegere denne jobben til en egen, separat fil.

     

    Når det er sagt kan du kalle bildethumb.php med funksjonene file() eller file_get_contents(). F.eks.:

    $data = file_get_contents('http://dittdomene.no/bildethumb.php?filename='.$filename);

     

    Det sendes da et separat http-request til webserveren som kjører bildethumb.php uten at du på noen måte blir redirected bort fra siden du er på.

     

    Et annet alternativ er å avslutte bildethumb.php med..

    header('Location: index.php'); //eller hvilken som helst annen fil du skal tilbake til

    ..dog dette virker knotete.

     

    Jeg vil uansett anbefale å putte koden for thumbnail-generering i fila som tar imot og lagrer det opplastede bildet. Er ingenting som stopper deg fra å gjøre dette, og det er utvilsomt den reneste, peneste måten å gjøre det på.

  5. Kikket på siden og det første som slo meg var at hele løsningen hadde vært veldig mye mer smooth dersom ønskelisten lå i en DIV og du brukte jQuery sin ajax-funksjonalitet til å sende "opp/ned/slett" og oppdatere innholdet i DIV'en.

     

    Så kikket jeg raskt på sort.php, og svarte mann... in the name of all that is holy, bytt ut

    <meta http-equiv="refresh" content="0;URL=index.php">

    med

    header('Location: index.php');

     

    Når du bruker løsningen du har nå vil webserveren gjøre seg ferdig med å prosessere sort.php, sende siden (selv om den er tom) til nettleseren, nettleseren vil vise siden og sende deg tilbake dit du kom fra. Det er derfor man får et veldig merkbart avbrudd hver gang man trykker på noe.

     

    Bruker du Header()-funksjonen i php vil ikke webserveren sende sort.php, den vil "redirecte" webrequestet til index.php uten at brukeren merker noe og brukeren slipper det hvite "hakket" hver gang man trykker på noe.

  6. Du trenger strengt tatt ikke bry deg med pdf til å begynne med. Har sett litt på nettopp dette tidligere og selv om det absolutt er gjennomførbart er det litt å sette seg inn i for funksjonalitet som for det meste ikke er nødvendig.

     

    Det jeg heller ville gjort var å scanne inn en giro og replikere utseende med css. "Tegne" fakturaen med DIV's, so to speak.

     

    Hva mener du med "..cookies som husker konto som det skal betales til, navn på firma osv."? Er ikke dette giroer (fakturaer) du skal sende ut, der mottager alltid vil være deg/ditt firma? Du kan jo tross alt ikke skrive ut giroer eller fakturaer i andre's navn..

     

    Dersom du heller tenkte på mottager, penger, ol. er dette "per-user" info og brukerinfo bør ligge i en database (dersom det er f.eks. en webshop dette er til). Husk forresten også å studere reglene for utsending av faktura om det er dette du skal! Du må faktisk gå til innkjøp av faktura-ark med påskrevede, gyldige blankettnummer og ha med en full spesifikasjon på hva du faktisk skal ha betalt for (eks. timer*timepris, produkt/pakke, osv.). Følger du ikke reglene for utsending av faktura kan du ikke gjøre annet enn å håpe på at mottager er dum eller seriøs nok til å faktisk betale, for du har ingen krav på pengene dine om.. vel.. kravet (fakturaen) ikke er gyldig (logisk nok, eh :p )

  7. Hei

     

    https://hsw.no/

     

    Han heter Henrik Steen han er ganske flink gå vidre til hjemmesiden hans så ser du hans referanser.

     

    Jesus fucking christ.. referanser? Endel "vennesider" laget for medruss og.. *drumroll* enda et mafia-spill! Hehe, neida, er godt mulig fyren har skill, han har i allefall gjort endel webjobber. Klør meg bare i hodet over alle disse Mafiaspillene som jeg trodde toppet popularitetskurven 4-5 år tilbake men alikevel fortsetter oppover i antall. xD

  8. Ser ut som om du er godt på vei, og det er godt å se noen her på forumet som faktisk gjør en innsats for å lære i stedenfor å poste "HAI U CAN I HAZ PHPZ K THX BAI"! ^^

     

    Sessions er server-side cookies i mangel av en bedre forklaring. Vanlige cookies er verdier som lagres i en fil hos klienten, mens sessions benytter seg av en unik id nettleseren tildeles når de går inn på siden og lagrer selve infoen på serveren. Når du setter en $_SESSION-variabel vil den være tilgjengelig for det nettleservinduet siden ble hentet i for alle script innen samme domene, og ingen skummel informasjon lagres client-side.

     

    Å lage et forum utav dette er vel en passelig stor utfordring for en nybegynner. Du trenger først login-form:

     

    <form action="login.php" method="post">
    Brukernavn: <input type="text" name="username" /><br />
    Passord: <input type="password" name="password" /><br />
    <input type="submit" value="Logg inn" />
    </form>

     

     

    Så et enkelt script som validerer innloggingen: (forutsetter en MySQL-tabell `users` med userID (INT, autoincrement, unique), username (VARCHAR(50) ellerno) og password (VARCHAR(40))

     

    <?php
    session_start();
    
    if(!empty($_GET['logout']))
    {
    session_destroy();
    /*
    linken for å logge ut blir "login.php?logout=1"
    session_destroy(); fjerner alle satte $_SESSION-variabler
    */
    }
    
    elseif(!empty($_POST['username']) && !empty($_POST['password']))
    {
    foreach($_POST as $key => $value)
    {
    	$$key = mysql_real_escape_string($value);
    	/*
    	vi looper igjennom alle $_POST verdier, der $key er "nøkkelen" (name-veltet i html-koden)
    	og $value er det man skrev inn. $$key lager en variabel, så om $key == 'username' settes
    	variabelen $username = mysql_real_escape_string($value) 
    	(altså verdien av $_POST['username']). Dette er en rask, enkel måte å sanitere all data
    	som evt. skal brukes i en databasespørring så du slipper SQL-injection sårbarhet.
    	*/
    }
    
    include("connect.php");
    $tmp = mysql_query("SELECT * FROM `users` WHERE
    						username = '".$username."' AND
    						password = '".md5($password)."'");
    /*
    merk funksjonen md5()
    I basen lagrer du ikke passordene, men en md5()-hash av passordet. Så sammenligner du
    md5()-hashen av det sendte passordet med hashen som ligger i basen. På denne måten kan
    ingen, inkludert degselv finne ut hva brukerenes passord er.
    */
    if(mysql_num_rows($tmp) == 1) //sjekker at spørringen returnerte én rad, altså én bruker
    {
    	$user = mysql_fetch_object($tmp); //henter ut data av spørringen som et objekt
    	$_SESSION['username'] == $user->username;
    }
    }
    header('Location: index.php'); //sender brukeren direkte tilbake til index.php (eller f.eks. loginform.php eller whatever)
    ?>

     

     

    For sider/funksjoner bare innloggede brukere skal kunne se/bruke sjekker du enkelt og greit:

     

    if(!empty($_SESSION['username']))
    {
    //bruker er innlogget
    }
    else
    {
    //bruker er ikek innlogget
    }

     

     

     

    Dersom du ønsker å lage noe forum-aktig utav det, eller i det minste ha muligheten til å svare på noen andres svar, må du legge til kolonnen "parentID (INT, default=0)" i gjestebok-basen din.

     

    Dette fungerer slik at om du skriver et innlegg som får ID 104 (og parentID 0 siden det er default), og jeg velger å svare på det får min post parentID 104. Slik bygger du opp en trestruktur.

     

     

    ID	parentID
    1	0	innlegg 1
    2	0	innlegg 2
    3	0	innlegg 3
    4	2	svar på innlegg 2
    5	2	enda et svar på innlegg 2
    6	1	svar på innlegg 1
    7	4	svar på "svar på innlegg 2"
    
    osv.

     

     

     

    Når det gjelder registrering av tid bør du bytte ut NOW() med UNIX_TIMESTAMP() (som i php tilsvarer funksjonen time() ). Disse returnerer antall sekunder siden 1. januar 1970 om jeg ikke tar helt feil, og for å konvertere det til et leselig format bruker du funksjonen date(). Eksempel:

     

     

    $innlegg[$i]['tid'] = date("d/m-Y H:i:s", $temp['tid']);
    //formatet blir f.eks. 22/10-2009 10:21:34

     

     

     

    Edit: Lykke til! Bare å spørre om det er noe. Er ikke sikkert koden min fungerer sånn helt uten videre, klabba det bare sammen nå. =)

  9. Neida, poenget er at det er fullstendig irrelevant hvorvidt det er en bra eller dårlig server disse gutta betaler 900kr måneden for. De kan betale rundt 200-300kr året for en shared host og fortsatt ha mer enn nok kapasitet til å serve et par hundre brukere, forutsatt at de ikke skriver kode og SQL som ufaglærte aper. =P

     

    Og Simpson S.. ikke for å være slem, men vet du hva grammatikk og rettskrivning er? Skal du fremstå som seriøs (noe du nødvendigvis må når du presenterer et prosjekt/en prosjektidé) er det greit å ikke ha 3 skrivefeil på 3 settninger og en settningoppbygning som knappest kan kalles Norsk selv med all verdens godvilje.

     

    Igjen, dette er ikke for å være en drittsekk. Jeg må selv slå opp et ord eller to når jeg skriver et innlegg som dette. Det var ment som et godt råd, nemlig at dersom du vil at folk skal ta deg seriøst må du ta deg 5 minutter til å sjekke over hvordan du skriver. Du blir ikke tatt seriøst om du kommer på jobbintervju ikledd Rimi-poser og teip, og du blir ikke tatt seriøs når du -med en språkbeherskelse som hører hjemme på barneskolen- ber om gratis hjelp til et svært omfattende prosjekt som (uavhengig av hva du måtte tro) ikke bringer noe nytt eller orginalt til Mafia-konseptet!

     

    Ha en fin dag!

  10. Hvis jeg skulle lagd et slikt spill ville jeg brukt mye tid på ballansere prosent for å bli tatt/gjennomføre forskjellige kriminelle handlinger. Dette virker alllllt for lite gjennomtenkt og bare random i alle de mafia-spillene jeg har spilt.

     

    For å være ærlig gjelder dette strengt tatt alle spill. Dawn of Myth? Planetarion? World of Warcraft? Starcraft? Alle er "bare utregninger" av stats vs. stats. Ok, WoW er å dra similien litt langt da mange spillere er helt clueless men det er ikke til å komme unna at man uansett skill taper mot noen med merkbart bedre stats.

     

    At det er 100% random er jeg ingen fan av, men forslaget mitt om klasser vil vel mitigere dette noe? Da blir det skill-og-verktøy man har mot vakter, alarmer og whatnot motstanderen måtte ha. Selvfølgelig er det fortsatt en rand() inne i bildet men det gir i allefall spilleren et insentiv for å bli bedre, ikke bare trykke på linken som gir deg mest mulig penger og ta en pissepause når du havner i fengsel. =P

  11. Uansett hvor realistisk - MAFIASPILL SUGER!

    Herregud, 50% av trådene her i PHP avdelingen handler sikkert om mafiaspill.

     

    Mafiaspill suger fordi det er et voldsomt utall kloner som, per definisjon av ordet "klone", er dønn like. Konseptet i seg selv er veldig greit. Jeg kommer i allefall ikke på noen annen form for organisasjon som er så enkel å gjøre om til et spill i farta. Man starter "på gata" som småkriminell men etterhvert som man får mer penger øker også mulighetene man har i spillet. Man "stiger i gradene" helt til det punktet der man starter sin egen Familie og betaler de lengre ned for å gjøre jobber samt tar prosenter av alt de tjener. Skal endel til å replikere det samme i henhold til karakterutvikling og følelse av "fremgang" i en helt annen setting.

     

    Folk bør absolutt "låses" fast når de skal gjøre noe. Du kan ikke gamble eller rane pensjonister mens du sitter i fengsel.

    Det du beskriver er ikke annet enn game states. Selvfølgelig burde dette være med. Det jeg bemerket meg ved var forced wait time, noe som selv i liten grad kan drepe de beste spill.

     

    Yeah, men å faktisk implementere det slik at ting koster tid, ikke bare penger, er etter min mening en grei idé. Selvfølgelig må man låse spillere i fengsel men jeg synes dette kan og bør utvides til f.eks. en flytur fra London til Moskva. Flyturen bør ta noen minutter og så lenge man er på flyet kan man ikke gjøre noe annet enn å sende post (forutsatt at man har en laptop i inventory).

     

    Er ikke akkurat for å ha wait time på alt man gjør men ting som tar tid (som lange reiser ol.) bør låses for "realisme". Gjør man samtidig slik at store brekk tar tid å gjennomføre åpner man for at lavere spillere kan bryte seg inn hos folk mens de ikke er hjemme og slikt. Jeg vet ikke jeg, har aldri gitt disse Mafiaspillene mange minutter av tiden min og har ikke interessert meg stort for hvordan de fungerer heller. Konseptet er vel strengt tatt det absolutte lavmål for web-baserte spill, selv om det ikke egentlig er noen grunn til at et Mafiaspill ikke kan implementeres på en kul, orginal måte.

     

    P.S.: Hva med "klasser"? F.eks. innbrudd-skill som øker med suksessfulle brekk, og "vakter" man kan engasjere om man har råd. Dyrere vakter == større sjanse for å buste en innbruddstyv med en gitt skill. Samme med leiemorder-skill og bodyguards. Bodyguards og vakter er selvfølgelig ikke spillere, men med et sånt system på plass lar man spillere starte som en vanlig Mafia-løpegutt, leiemorder eller tyv og progressere til å ha sin egen Familie, eller bli en mester-assassin/tyv som jobber freelance for bossene med penger.

  12. Litt enig med PlastBox her, selv om jeg tviler på at han er så 1337 som han sier selv.

     

    Hahaha, tar den der! Har tross alt ingen store komplette prosjekter å vise til for øyeblikket og å poste på hw-forumet om hvor mye php-skill man har.. *cough*

     

    Still, er drøye 10 år siden jeg startet med php, så jeg antar det er rundt 8-9 år siden jeg var på nivå med gjennomsnittsposteren her på hw. That's gotta count for something, right? :p

  13. Er enig med deg, TheClown, det er potensiale i det du tenker på. Forutsatt, that is, at du bruker det for å gjøre multiplayer-aspektet bedre. Såvidt jeg vet er "multiplayer"-biten i Mafia-klonene generelt begrenset til å trykke "Drep" og bruke opp dyre kuler eller sende post.

     

    Folk bør absolutt "låses" fast når de skal gjøre noe. Du kan ikke gamble eller rane pensjonister mens du sitter i fengsel. Å ha muligheten til å ha eiendeler (f.eks. biler) og muligheten til å stjele fra andre spillere, samt å selge eller requeste ting på et spiller-drevet "Black market" (alá Auction House i WoW) vil ta flerspiller-aspektet til et helt nytt nivå. Siden du allerede er inne på dette med å ha et slags "travel"-system kan du jo også legge inn muligheten for at de med mye penger kan legge inn et "Request for info about %player%" på svartebørsen slik at jeg kan spionere på Jonas og dersom han gjør noe kriminelt i tiden jeg bruker (og evt. kaster bort) får jeg en item som jeg kan selge.

     

    Så om noen har stjålet min Ferrari kan jeg etterlyse info om hvem som gjorde det. Ok, så er ikke dette fryktelig gjennomtenkt men en kamerat fortalte meg at når noen blir drept i nordic mafia (tror jeg det var) så får en tilfeldig spiller et dokument der det står hvem som gjorde det. Dette dokumentet kan etterlyses og selges dersom noen ønsker å ta hevn.

     

    Jaja.. sunday morning ramblings ^^

  14. Der tar dufeil ;) Fått 2scriptere alereddet.

     

    Breach of logic. Jeg kan:

    A) Lage spillet alene på en helg med hard geeking og ikke dele inntekter med noen.

    B) Gjøre mye mer arbeid utav det enn nødvendig ved å tvinge megselv til å jobbe sammen med andre potensielt uerfarne programmerere med rare vaner, ikke få betalt og i tillegg ikke eie koden jeg selv skriver!

     

    Hvorfor skulle noen som kan gjøre A, velge å gjøre B?

  15. Jeg har lyst til å lage et mafiaspill som er 100% realtime :) Lurer på om jeg noen gang blir ferdig med de andre prosjektene jeg holder på med... ROFL

     

    Høres tøft ut, hvordan er planen for å gjøre det realtime? Akkurat hva spesifikt er det du vil gjøre realtime? Med tanke på det veldig fastspikrede konseptet med Mafia-spill ser jeg ikke helt hva som skal gjøres mer realtime enn at man ser at noe har skjedd når man refresher sida, evt. bruke ajax for å oppdatere litt info.

     

    Derfor lurer jeg fælt på hvilken funksjonalitet du har i tankene! :thumbup:

  16. TheClown: Nice, du får ha lykke til med prosjektet ditt! Send gjerne en applikasjonsinvite til meg (plastbox) når du får det opp, kan godt alpha/beta-teste litt for deg også. =)

     

    Et lite word of advice though.. Lista for facebook spill er ufattelig lav. Lag noe som har karakterprogressjon og en eller annen form for karakterinteraksjon ("magi"-dueller, siden det er Avatar?) og skiten vil spre seg på facebook som svartedauden i en verden uten såpe! Gjør du i tillegg noe så "på kanten" som å gi folk.. tja.. et skillpoint for hver venn de sender en invite til.. heh. ;)

  17. jeg har en liten aning om at jeg vil velge og gå web design på videregående, men jeg er en person som har det litt vanskelig og lære om det ikke er i ''praksis''

     

    snart så får jeg litt mere tid og da skal jeg jaggu lære meg php.

     

    men takk til alle som hjalp til:P

     

    Jeg skal i allefall love deg én ting og det er at jeg ikke lærte noen verdens ting på videregående annet enn det jeg gikk inn for å lære selv. Nå gikk jeg riktignok IKT-driftsfag, det fantes ingen andre IT-relaterte linjer, så får håpe linja du skal på er bedre med både et relevant og stimulerende pensum og lærere som ikke bare er kompetente men også engasjerte i yrket sitt. :thumbup:

     

    Er veldig med på det du sier om å lære best i praksis! Derfor er det ingen grunn til å nøle, har du en pc er det bare å smekke inn php og en webserver og kode i vei; "praksis" her koster ikke et rødt øre. Dersom du ikke føler deg helt stødig på oppsett av apache2 eller IIS og kanskje anser dette som en hindring vil jeg på det aller sterkeste anbefale PortableWebAp.

     

    1. Last ned og pakk ut

    2. Start portablewebap.exe

    3. Gå til http://localhost:8000

    4. Lag index.php under "\PortableWebAp4.0.pro\Program\www\localhost\"

     

    evt:

    5. Endre "port=8000" til "port=80" i "\PortableWebAp4.0.pro\Program\conf\conf.ini" og du har din egen php-enabled webserver på http://localhost

     

     

    Sett i gang og lær! Det er så enkelt og gøy, og trenger du hjelp (etter å ha forsøkt litt selv ;) ) har du alltids forumet her!

  18. Det er nok mange fler enn det. Har sett utrolig mange mafia-spill nå.

     

    Kanskje ikke så rart. Kan du forestille deg noe enklere spillformat å bygge med php? Sammenlign med Dawn of Myth eller Planetarion, der man ikke bare kjøper kuler og skyter, men konstruerer byggninger som f.eks. gir tilgang til eller oppgraderer soldat-type enheter, trener soldater, organiserer flere hærer og sender ut samordnede angrep mot andre baser som igjen kjører samme prosess med å investere ressurser riktig og kan få hjelp av venner til et organisert forsvar.

     

    Hva med et multiplayer rpg? Da må du ha et system for å reise rundt i verden (for å gjøre quests, se nye ting, ol.) og det er mer tricky enn det høres ut! Du må lage et kampsystem som er stimulerende og intuitivt nok til at folk forstår det fort og bruker lang tid på å gå lei. Du må ha items, både ting du kan ha på deg og ting du bruker (f.eks. nøkler), samt valuta og medhørende økonomi. I tillegg kommer karakterutvikling med medhørende experience, skills, talenter og hva du måtte velge å ha med, balansering, og store mengder innhold som skal til for at spillerne ikke skal gå lei på et par timer.

     

    Forsøker ikke å rakke ned på det tøffe Mafiaspillet deres, som sagt har dere et produkt mens jeg har null, nix, nada å vise for all kodingen min. :( Bare påpeker hvorfor dere bør være litt kreative: spill i Mafia stil der du går fra å stjele håndvesker til å rane banker, gambler, benytter banken for å unngå å bli ranet og kjøper latterlig dyre kuler for å klikke på "Drep spiller" og se en rand() avgjøre om du trenger et par kuler til eller ikke... La meg bare si, det har blitt gjort før og (igjen, ikke før å være en klysete drittsekk), antageligvis bedre. Få til en litt orginal vri derimot, og post som gale rundt på forumer, blogger ol. og dere har fort noen hundre brukere som genererer 20-30++ klikk om dagen. Det er faktisk nok trafikk til å høste en aldri så liten profitt fra Google AdSense!

     

    Desktop Tower Defense

    Denne fyren laget et Tower Defense spill i Flash og tjente bortimot et 6-siffret antall dollar på et år. La meg regne det om for deg: over 600.000 (i forhold til dollarens verdi da) Norske kronasjer på et år, for et Flash-spill! I snitt hadde han 5 sidevisninger (klikk) per unike bruker, på tross av at man aldri trenger å reloade en side med et Flash-spill. Jeg håper du ser potensialet i spillet deres, der hver eneste bittelille ting brukerene gjør krever én pageview! Paul Preece hadde 20 millioner pageviews og 4 millioner besøkende per måned. Om du antar et snitt på 50 klikk per dag per bruker og 100 brukere innom daglig er dere oppe i 150.000 pageviews per måned. Ganske beskjedent i forhold til godeste Mr. Preece men blir spillet deres bra får dere glatt mer enn 100 brukere i snitt hver dag og da begynner pengene å rulle inn!

     

     

    Svarte faen, må komme i gang med dette igjen snart... :roll:

     

     

    Edit: Om denne fyren tjente 50.000kr måneden på 20.000.000 pageviews vil det si at han fikk i snitt 0,0025kr per pageview. Det vil si at dersom dere blir sinnsykt populære og drar inn 3333 brukere som genererer i snitt 100 pageviews hver per dag vil dere tjene 25.000kr måneden. Faktisk mer enn mange av oss tjener på fulltids jobbing. Selv med 100 faste brukere og 100 klikk per bruker per dag tjener du/dere nesten 4000kr i måneden som så avgjort ikke er til å fnyse av. Få spillet ferdig, skaff 100 brukere og sett pengene på en "Jeg er i syden 3 uker i halvåret fordi jeg gadd å kode ferdig, BITCHES!"-konto! :evil:

     

    Når dette er gjort er det faktisk ingenting som hindrer dere i å legge opp samme spillet på en annen server og adresse men med et helt annet tema, og doble inntekten...

  19. Vet ikke om denne er løst eller ikke men jeg vil anbefale bruk av

    echo 'Tid: '.(microtime(true) - $ts).'<br />';
    (float)$ts = microtime(true);

    flere steder i koden din for å se hvilke biter som tar lengst tid og hva du må optimalisere. En MySQL-tabell med lusne 20.000 rader skal ikke trenge noen avansert indeksering utenom det vanlige primærnøkkel/index feltet for å returnere resultatet i løpet av millisekunder.

     

    For å virkelig utelukke hvorvidt problemet faktisk er MySQL kan du gjøre om tabellen din til MEMORY fremfor InnoDB eller hva nå enn du bruker til vanlig. Med memory-tabeller jobber MySQL mot maskinens RAM og klarer fin-fint en spørring mot et hundretusentalls rader så raskt at du ikke vil merke noen forsinkelse. Beware though, MEMORY-tabeller er som RAM-disker. Forsvinner strømmen (eller databasemotoren), så forsvinner innholdet!

×
×
  • Opprett ny...