Nekromanti Programmering errata?

Joker

Veteran
Joined
30 Dec 2002
Messages
79
Location
Malmö
Jag har en liten fråga angående programmering…

Jag har en spelare med en karaktär som ville skriva ihop en agent för att söka upp ett namn, men agenten var specialdesignad för att inte ange varifrån den kom. Istället skulle den söka upp resultatet och sedan lämpa av det på en allmän anslagstavla, öppen för allmänheten. Spelaren ville att programmet skulle hålla kommersiell kvalitet, eftersom hon tänkte använda det fler gånger i framtiden och kanske också komma att lämna över det till sina överordnade för att imponera lite med sin initiativrikedom.

Svårigheten, enligt tabell N2-184 blir då Ob6t6 för agent och Ob6t6 för kommersiellt program. Totalt alltså Ob12t6. Naturligtvis så inspirerar inte det om man bara har programmering 12. Skönt nog så kan man ju dela upp koden i flera delar för att minska svårigheten och det är här som min fundering begynner.

För att hon skall känna att hon klarar av projektet så vill hon att svårigheten skall ner till Ob2t6 per delmoment. Varje del kommer då att ta en dag att programmera och måste sedan länkas samman till ett program. Så långt så klart.

Om vi då tar programmassan och delar den i två delar, så får vi två delar med Ob11t6 i svårighet, vardera som tar en dag att programmera. Delar vi dem igen så har vi fyra delar, fyra dagar med Ob10t6 i svårigheten. Det känns också lite mycket, så vi delar dem igen och finner då att vi har åtta delar med Ob9t6, sedan 16 med Ob8t6, 32 med Ob7t6, 64 med Ob6t6. Fortfarande känns möjligheten att slå under 12 med 6 tärningar liten. Vi fortsätter och finner att när vi är nere på svårigheten Ob2t6 så har vi 1024 delar! Varje del kommer ta en dag att programmera. Man får sedan antaga att länka ihop delarna inte kommer ske på en dag, med svårigheten Ob1024t6. Rimligare är kanske att anta Ob2t6 och då hinner man länka samman fyra delar per dag. Att skriva delarna tar då 1024 dagar och att länka dem tar 512 dagar, för en total på 1536 dagar eller 6,7 år om man jobbar heltid med det.

Det känns som om tidsåtgången är lite väl tilltagen. Förhoppningsvis är det jag som har missförstått det hela och i så fall tar jag gärna emot en förklaring. Är det inte så så undrar jag om någon har en bra, smidig lösning som man kan använda sig av? Tills vidare får man väl använda lite ”common sense” men det hade varit kul att ha en konsistent regel att konsultera. För en som precis har börjat uppskatta charmen med att vränga regler och hoppas det är en enkelt tryckfel...

Alternativet är så klart att man kan se det som att man delar programmet i två delar för Ob11t6, tre delar för Ob10t6 och så vidare. Det ger 11 delar för hela programmet, med knappt 17 dagar för hela projektet. Det känns kanske lite rimligare? Man får då så klart tänka att varje dag motsvarar 8 timmar, så det enklaste är att se hur lång tid varje dag person har att lägga ner. Detta verkar vara den bästa motsvarigheten för spelvarianten, även om realismen faller lite om man använder multipla programmerare.

/Joker

...smärta är bara vekhet som lämnar kroppen...
 

Zire

Swashbuckler
Joined
18 May 2000
Messages
3,005
Location
Umeå
Tiden 1024 dagar för att skriva modulerna till programmet tycker jag verkar ganska rimligt. Det tar lång tid att skriva ett program själv. Och en agent verkar vara ganska stor.
Däremot att länka ihop det skulle ta 512 dagar är smått absurt om det har nån likhet med dagens programmering. Länkandet behöver man ju inte ens kunna programmera för att göra. Men det är kanske tänkt att man gör debuggning och sånt också, över modul nivå, och att det är därför det tar lång tid.

Hur som helst. Behöver spelaren verkligen en kommersiell version? Eftersom det förmodligen krävs enkla, intuitiva interface, bra layoutade manualer, en buggtestning som inte är av denna värld osv. för att det ska vara på den nivån. Att programmeraren ska kunna använda det själv flera gånger i framtiden räknar jag fungerar redan från freeware nivån. (jag har lagt till nivån 'ful-hack' på +Ob0T6 som inte behöver innebära det). Och hon kan nog imponera med freeware också.. kommer hon med ett program på nivån kommersiellt som hon har skrivit själv så kommer de nog bara att fundera på om hon verkligen inte har nått bättre för sig.

- Zire
 

eNo

Veteran
Joined
20 May 2002
Messages
117
Location
Falun, Dalarna
I mina ögon tar det alldeles för lång tid. Ett program som letar genom några register och sedan skickar resultatet skylle, enligt mig, ta c:a 1 vecka för en bra programerare om man jobbar heltid. Och då räknar jag med att det finns en del säkerhet att ta sig förbi...

Men gör om reglerna lite, säg att hon hade lite gammal kod att använda och att hon får hjälp så ska det inte ta allt för lång tid.
 

Surukai

Warrior
Joined
3 Dec 2002
Messages
300
Location
Göteborg
Jag tycker inte det är så konstigt att det tar år och dagar att ENSAM programmera kommersiell kvalitet på programvara.

Det tar faktiskt jäkla tid att skriva alla felmeddelande, säkerhetsloggning, debuggning, testning och kompabilitetstestande, användarinterface, flerspråksstöd, kopieringskydd!!, licenshantering, automatiska uppdateringar.... you name it.
Tonvis med saker man faktiskt inte behöver i en egen liten agent!

Det enda skulle väl vara att "länka" inte skall vara så svårt.. man borde väl kunna länka ett par dussin bitar på en arbetsdag eller kompilerar hon sitt program på en solcellsdriven miniräknare?
Och det behöver väl inte vara så jäkla svårt.

Tyvärr så innebär sannolikhetsläran att ungefär var 20:e del kommer innehålla dolda hemska buggar (att slå dubbelsexa med 2t6 (fummelrisk) är en på 36 och över hälften av dom blir över 12 (och därmed fummel)) eller totalt 50 allvarliga buggar vilket kommer ta 6-7 år till att "avlusa"

Jag skulle nog som SL i det fallet slå ett slag kanske varje månad för att minska "automatiskt fummel"-problemet.
 

[H2O]

Veteran
Joined
17 May 2000
Messages
178
Location
Linköping
Jag gissar att det man menar med "länkning" inte är den tid det tar att länka ihop programmet rent fysiskt (eller digitalt snarare), utan att det handlar om länkning av flera moduler på ett logiskt plan.
Du har 14 moduler som är skrivna separat och som plötsligt skall börja fungera i ett större program. kompilatortiden borde ju vara försumbar, men att få dessa att kommunicera rätt kan ta en liten stund.

För att vara riktigt övertydlig tar jag ett exempel från egen erfarenhet: I en gymnmasiekurs kallad Programmering C (det kan varit i B också), så skulle vi skriva ett program som ritade ut en funktion i ett koordinatsystem. Det tog mig och en kompis knappt en halvtimme att skriva det programmet, dock var funktionen som ritades ut definierad i källkoden och kunde inte ändras under körning.
Då ville vår lärare att den skulle klara av det. Vi plockade då fram ett annat program vi skrivit som klarade av att räkna ut ett s.k. aritmetiskt uttryck (t.ex. 1+3*5+5/2+8*(23-2)) och skulle få det att räkna ut vår funktion.

Att få klart hela programmet tog förmodligen minst 10 timmar. Att kompilera det tog mindre än 5 sekunder...

Det var ett långt, och förmodligen helt meningslöst exempel. Men det var roligt att skriva :gremwink:
 

Surukai

Warrior
Joined
3 Dec 2002
Messages
300
Location
Göteborg
Bra exempel

Ett rätt bra exempel..

Men, om vi vänder på det. Jag har programmerat massor och jag har aldrig upplevt att jag måste göra klart en "modul" per dag... Nej tvärtom gör jag hellre EN solid del som jag programmerar någon timmer varje kväll istället.

TA exmpelvis http://iserve.reptid.nu/mutrpg som är ett "program" bestående av 10 moduler och 1 kärna. Själva grundscriptet tog väl någon timme att göra. (själva Index.php) och sen har vissa moduler tagit lite olika tid men gemensamt är att man inte behöver färdigställa något bara för att man måste sova och att man kan pilla lite på flera samtidigt (har exempelvis gjort "förmågor" mycket knapphändigt bara för att man skall kunna hoppa vidare och se ungefär hur helheten blir).

Varför måste man göra det i små moduler bara för att man tänker ta mer än en dag på sig för att programmera varje "del"?

Hela det konceptet tycker jag är rätt onära verkligheten s.a.s.

I neotech kan man exempelvis aldrig sitta och fila på en liten assembler-kod i flera dagar utan man måste prompt göra massa svårlänkade moduler som man måste försöka få ihop vilket känns som slöseri med tid IMO.
Den som skapat de reglerna måste ha fruktansvärt annorlunda programmerinsstil än vad jag har.
 

fusk

Warrior
Joined
5 May 2003
Messages
233
Location
Alingsås
Re: Bra exempel

"Den som skapat de reglerna måste ha fruktansvärt annorlunda programmerinsstil än vad jag har."
ja, dom kanske försöker åstadkomma något åt hållet plockprogrammering? associationsprogrammering? kalla det vad du vill, vad jag menar är att neotechs "vanliga" programmering skiljer sig med ljusår ifrån vårat sätt att programmera.
men skriv gärna nya regler för programmering a'la 1000talet ifall du vill(och posta dom här) :gremsmile:
 

Zire

Swashbuckler
Joined
18 May 2000
Messages
3,005
Location
Umeå
Re: Bra exempel

"Men, om vi vänder på det. Jag har programmerat massor och jag har aldrig upplevt att jag måste göra klart en "modul" per dag... Nej tvärtom gör jag hellre EN solid del som jag programmerar någon timmer varje kväll istället."
"Varför måste man göra det i små moduler bara för att man tänker ta mer än en dag på sig för att programmera varje 'del'?"


Jag tror inte att de delar som man delar upp programmet i behöver innebära logiska delar i koden. Utan helt enkelt att först implementerar jag en heap, och därefter använder jag den i min Dijkstras, typ.
De behöver inte vara så skilda från varandra, men jag kan inte skriva allt på en dag, så därför väljer jag vad jag vill skriva första dagen, och tar resten på nästa.

"I neotech kan man exempelvis aldrig sitta och fila på en liten assembler-kod i flera dagar utan man måste prompt göra massa svårlänkade moduler som man måste försöka få ihop vilket känns som slöseri med tid IMO.
Den som skapat de reglerna måste ha fruktansvärt annorlunda programmerinsstil än vad jag har."


Jag har tolkat det som att programmeringen verkligen är lite mer annorlunda dagens. Jag tror det är ännu krångligare att skriva direkt mot maskinkoden än vad det är nu. Och att nätverk, hårdvara och mjukvara har smält ihop till en enda stor gröt av moduler.
Programmen man gör är snarare modulpaket som man installerar. Och behöver man ett program så går det nästan alltid att få tag i lämpliga moduler ute på nätet. Det är bara att knåpa ihop dem, kanske ändra lite gränssnitt och göra nån egen liten modul för att få dem att fungera. Man kan naturligtvis göra egna moduler (för att göra den mer specifik, eller för att kunna sälja kanske) men det är nog inget bra alternativ om man vill ha programmet snabbt.


- Zire, som f.ö. tycker det saknas en del för att göra n2s cyberspace komplett
 

Surukai

Warrior
Joined
3 Dec 2002
Messages
300
Location
Göteborg
Re: Bra exempel

Om man ser programmeringens utveckling hittils och funderar lite så undrar jag varför programmering promt måste bli så himla konstigt i framtiden?

Jag är av tron att maskinkodande som man gjorde förr är bra mycket svårare. Idag har vi högnivås språk som gör nästan allt jobb åt en och man får tydliga beskrivande felmeddelanden om vad man har gjort fel etc. etc.

Det som kanske är svårt att programmera är just att sätta ihop massa andras moduler och använda men så länge man håller sig tilll sitt eget behöver man väl inte länka runt så mycket?

Anta att man vill "blanda in" lite utomstående moduler så får man slå slag för dom och att vissa kanske motsvarar ett visst antal delar

Exempelt Agent kanske man kan använda en Internetclient som bas som då i "sin" modul är värd 2/3 av programmet och att man då bara behöver skriva 300 dagars kod eller använda fler moduler (som då kräver massa länkningsfärdigheter istället för programmering)

Man kan vidare kanske bara räkna nivåer svårighet istället, dvs en bra grundmodul för sin agent kanske är "värd" Ob3t6 svårighet och om man bara gör en liten enkel sak till den (skriva ett mIRC script till den kompletta modulen mIRC) så blir det en Ob1t6 svårighet för ett program som ändå kan göra saker ett fristående ob4t6 program kan göra. Förstår ni ungefär vart jag är på väg?
 

Zire

Swashbuckler
Joined
18 May 2000
Messages
3,005
Location
Umeå
Re: Bra exempel

Om man ser programmeringens utveckling hittils och funderar lite så undrar jag varför programmering promt måste bli så himla konstigt i framtiden?"
Fast är det verkligen konstigt med en mer (fullständigt) modulbaserad framtid?
Trenden är ju mer och mer att man ska slippa skapa om sina program från början. Så att allt är modulbaserat är väl inte så konstigt. Det är ju dit dagens objektorienteringen strävar.
Se bara på OSen idag, och jämför dem med hur det såg ut för 10-15 år sedan.
Och ser man på programmeringen, idag behöver man t.ex. varken kunna programmera tangentbord, skärm eller nätverk för att göra ett nätverksspel i C, det är bara att hämta lämpliga libs.

"som då kräver massa länkningsfärdigheter istället för programmering"
Jag tror Neogames har tänkt sig att det är samma färdighet.

Att ha nivåer på färdiga moduler var ingen dum idé. Det blir ett enkelt sätt att använda dem på. Det bör kanske dessutom finnas en svårighetsnivå som visar hur lätta de är att använda. Stora avancerade moduler som underlättar jobbet mycket, är kanske ingenting som vilken hobbyprogrammerare som helst förstår sig på ändå.

- Zire
 

Joker

Veteran
Joined
30 Dec 2002
Messages
79
Location
Malmö
Nja, tiden är väl inte så rimlig, inte om man drar den vidare till sina logiska extremer... Det är ju samma effekt som riskornen på schackbrädet, om man känner till den gamla historien. Ett mer extremt räkneexempel är ju om man tar ett exceptionellt serverprogram och gör samma sak med...

I slutändan finner man att om man vill att modulerna skall ha svårigheten Ob2t6 att programmera så tar det 100 programmerare lite över 5500 år att göra det, räknat med 48 arbetsveckor per år...

Förvisso finns det många vettiga resonemang kring återanvändandet av moduler och mer objektorienterat tänkande, men visst måste det finnas utrymme för nyskapande också? Underhållande om man inte kan skåda en sociologisk trend mot stagnation genom att man bara återanvänder gammalt material på ett nytt sätt... I vilket fall som helst, min poäng är att reglerna är väldigt bristfälliga och ni verkar alla hålla med. Förhoppningen låg i att man skulle ordna regler som inte krävde sunt förnuft, utan bara direkt tillämpning efter texten, då jag utgår från att alla rollspelare eller spelledare inte behöver vara kunniga i programmering...

//Joker
 
Top