Въпреки че не съм от най-върлите фенове на Guitar Hero, ми стана неприятно когато прочетох новината, че Activision спират да правят играта. Каквото било - било.
Като основен аргумент изтъкват факта, че не са могли да направят достатъчно пари от продукта си след първоначалните му продажби.
И ако си мислите "Тия 3 милиона само от продадени копия на играта не им ли стигат ?", вероятно имате известно основание, но все пак отговора е "Не".
Говорим за големи компании и големи пари, ако искаш да останеш голям трябват наистина големи и по-важното редовни продажби.
На много хора им се стори смешна новината, че Zynga - създателите на "шедьоври" като FarmVille тази година регистрират по-големи приходи от EA - създателите на игри като Need For Speed, FIFA и т.н, тоест компания, която прави истински игри. Признавам и аз първоначално се позасмях, но няма нищо по-показателно от парите в този бизнес. Дори да правиш страхотни игри - на кого му пука ако не правиш пари.
Проблема на EA и на всички подобни компании е алгоритъма - отиваш в магазина, купуваш игра, играеш, изиграваш, отиваш да купуваш нова и т.н. Обаче никой не може да вади толкова бързо игри. Не могат и да сложат голяма цена защото никой няма да го купи. За това избират по-малка цена, но тогава приходите не стигат и след 1 година оправят 5 бъга, пускат по-нова версия и се надяват същите хора пак да я купят (сещате се за коя игра говоря).
Модела на Zynga е прост и ... работещ. Регистрираш се безплатно, играеш, ако ти харесва си плащаш за глупости, при това колкото ти решиш и плащаш пак когато си решиш. Е, явно така се наливат доста повече пари и честно казано звучи логично.
За това и заглавия като League Of Legends залагат на същия метод за продажба и така дори най-обикновения български геймър, който през живота си не е купил една оригинална игра, налива по 5-10 лева в акаунта си.
вторник, февруари 15, 2011
Activision спират Guitar Hero
Етикети: вчерашни новини, Activision, gaming, opinions, Zynga
понеделник, февруари 14, 2011
За Nokia, Microsoft и пуйките
Миналата седмица Nokia съобщиха какви са бъдещите им планове за развитие на "умните" телефони на компанията, а те явно са свързани с Microsoft.
Финландците, които отделиха години на Symbian, MeeGo, Maemo и прочее забежки най-после признаха, че са се провалили и единствения им шанс за завръщане в умовете и сърцата на потребителите им е зад океана.
Йовко е споделил своето мнение за остаряващия гигант сред мобилните телефони, но според мен това е само част от картинката. Истина е, че Nokia не са това, което бяха преди години, но все още правят изключително добър хардуер и въпреки че софтуерното обезпечение куца, все още държат огромен пазарен дял. Да не забравя да отбележа, че говорим за обикновени телефони със "зелено и червен копче", каквито (ние компютърджиите често забравяме) все още ползват повечето хора.
С пускането на OVI компанията отбеляза значителен напредък, поне по мое мнение, валяха доклади за милионите продажби в OVI Store, но това са хора, които имат "тъпи" телефони и за пръв път имат сериозна възможност да инсталират разни допълнителни приложения. Едва ли някой би избрал някой от новите Nokia телефони защото, разбираш ли, имало OVI Maps. Всеки би си купил я Android, я iOS (iPhone) и Nokia се оказват блокирани в опитите си да направят нещо в тази насока.
От другата страна са Microsoft с техния Windows Phone 7 - наследника на Windows Mobile 6.5. WM 6.5 не е лоша операционна система, просто е прекалено стара и за днешните стандарти е просто ... дървена. Windows Phone 7 за телефони е това, което Vista беше за PC - неизбежната голяма крачка напред поемайки големи рискове, но пък отчайващо необходим ход за да останат някакви потребители на платформата. И докато Vista и Windows 7 постигнаха своя успех, те нямаха сериозна конкуренция, да се мигрира към тях беше просто въпрос на време. Интересно е как биха се справили ако имаше desktop еквивалент на iOS и Android и се налагаше да се изпотят малко повече. За Windows Phone 7 нещата ще са доста по-трудни.
И така, стигаме до момента, в който имаме добър производител на хардуер в Европа и добър производител на софтуер в щатите, стъпката изглежда логична, заедно би трябвало да се справят доста по-добре. Дали ? Вице президента на Google Vic Gundotra изрази своето мнение кратко и ясно в twitter : "Две пуйки не правят орел". Отговорът на Stephen Elop беше "Двама производители на колела от Охайо, един ден решили да летят." (Two bicycle makers, from Dayton Ohio, one day decided to fly.)
Лошото, поне за мен е, че изчезва OVI. Магазинът на Nokia изчезва за сметка на Windows Marketplace, а OVI Maps се слива с Bing Maps. Bing Live на всяка Nokia, звучи си страшничко.
За сметка на това пък на Nokia ще бъде разрешено да модифицират Windows Phone 7 повече от всеки друг производител (което не съм убеден, че ще направят). Micrsoft също се очаква да помогне на Nokia за сключване на договори с американските оператори за разпространение на финландски телефони (като правят Apple с iPhone например), защото позициите им там са доста слаби.
Въпреки че голяма част от клиентите на Nokia не са много доволни от това решение, работниците във Финландия негодуват заради несигурността на работните им места, като цяло смятам, че обединяването на двете компании на един фронт е нещо добро. Дори започнах да се замислям отново дали да не си взема Nokia, тъй като до преди седмица щеше да е необходимо да консумирам солидно количество алкохол за да се реше на такава стъпка.
Конкуренция - да. Разнообразието на ОС за мобилни телефони леко намаля, но пък нека бъдем искрени - Symbian и Maemo реално не бяха нещо сериозно.
Докато iPhone са заети да броят продадени телефони, Google да сложат Android на всеки телефон, а Nokia и Microsoft се мъчат да преподредят редиците, скритата заплаха може да се окаже HP с тяхната WebOS. Въпреки, че съм леко скептичен към тази OS смятам, че има потенциал и си заслужава да се хвърля по едно око в прес съобщенията на компанията.
неделя, ноември 14, 2010
Database Version Control за PHP програмисти
За разлика от version control системите за source code като svn или git, доста по-малко са познати подобните за бази данни.
До сега съм виждал няколко подхода:
1) На който му трябва най-новата база данни по която работим - да се оправя.
В една папка в svn-a, с оригиналното име "sql"q всеки който прави промени направо слага пълен експорт на неговата си база данни, като файла задължително се казва нещо от типа -
project-20100618(stefka).sql
+ освен ти сам, няма кой друг да ти счупи базата данни
- много, наистина много файлове за малко време, ровене
- трудна промяна на отделни полета в таблица
2) Правил си промени по базата данни - хайде сега да ги добавиш в един файл.
Същото като в предишния вариант, но файла е само един и всеки добавя само промените, които е направил.Файла е просто project.sql
+ относително лесно се вижда какво е променяно след като се пусне един diff (или WinMerge)
- голямо ровене става из тоя файл
- всеки го мързи да merge-ва файлове в следствие на което никой не качва промените си, докато не е твърде наложително
3) Ще правиш промени ? Я затвори тоя phpmyadmin!
Начина заради който пиша тоя пост, въобще. Не пишеш sql, не ползваш някой database designer - а създаваш таблици и описваш промени чрез php.
Става въпрос за ruckusing. Да покажа направо..
пишеш нещо такова в конзолата (не само за Linux):
php generate.php createUsersTableкоето генерира един файл с два метода - up() и down()
и в него пишем нещо като:
function up(){и съответно
$table = $this->create_table('users');
$table->column('username', 'string', array('null'=>false));
$table->column('password', 'string', array('null'=>false));
$table->finish();
}
function down(){
$this->drop_table('users');
}
Единия казва какво трябва да се случи ако качваме revision нагоре, другия какво трябва да се направи за да се върнем в изходно положение.
Влизаш обратно в конзолата и изпълняваш:
php main.php db:migrateи таблицата се създава. Имаш методи за създаване и премахване на - бази данни, таблици, колони в таблица и т.н., които покриват 99% от необходимата функционалност. За всичко останало имаш прекрасния метод query, които праска чист sql.
Защо ги правим всички тия финтове?
Когато commit-на генерираните файлове, колегата изпълнява и при него db:migrate и вече е с последната версия. Това е, без повече главоболия. Ако по някаква причина съм счупил нещо, на db:migrate му казваш - Абе, я ме върни 1 revision назад и всичко е песен.
- Има хипотетичен шанс да счупиш нещо на другарчето
+ Бързо е
+ Лесно е
+ Готино е
+ Модерно е ;)
Можете да видите още примери тук - http://code.google.com/p/ruckusing/wiki/CompleteExamples
Малко безполезно инфо:
Доста време търсих нещо подходящо, което да замени първите 2 начина на работа и дори мислех да започна да си пиша сам нещо такова.
Моята идея беше да се проверяват разликите между 2 export-а в xml формат и да се генерира само sql кода, който да докара първата база данни до втората. Тоест ако имаме в една таблица, която експортирана изглежда така:
CREATE TABLE `users` (и друга
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
В такава ситуация, понеже съм мързелив човек, директно drop-вам моята таблица и paste-вам новия код. За да си спестя глупостите и да не се налага наново да си импортирам данните, моята система трябваше да генерира един sql файл за миграция, който да съдържа:
ALTER TABLE `users` ADD `email` VARCHAR( 255 ) NOT NULL
четвъртък, октомври 21, 2010
sudo за windows 7
Въпреки общоприетото мнение User Account Control в Windows 7 не е нещо, което трябва да се изключи веднага след инсталация.
И аз си го ползвам.
Единствения ми проблем е че не съм windows guru и ми беше трудно да редактирам системни файлове през конзолата, един вид трябва ми sudo за windows. Ето как успях да направя номера
Първо трябва да активираме administrator акаунта.
cmd -> run as administrator
и пишете:
net user administrator /active:yes
net user administrator parola
След това ако искате да изпълните нещо като "root":
runas /user:administrator notepad
Малко по-дълго е от sudo vi, но върши работа.
btw, да препоръчам малко software за win
http://www.vim.org/download.php#pc
http://sourceforge.net/projects/console/
Правят windows малко по-приятно място :)
вторник, юли 27, 2010
Коментари в кода
В момента работя по един open source проект и попаднах този коментар:
*This one is really quick and dirty because I want to finish this and catchЧовека трябвало да хване автобуса :)
* the bus. Need to be redone ASAP
Сетих се, преди време ми подариха една книжка - Code Complete. Там пишеше нещо от типа, че ако ти се налага да напишеш коментар, който да пояснява някакъв завързан хак, по-добре да го изтриеш, пренапишеш или в краен случай да оставиш @todo коментар.
Автора на кода след този коментар, очевидно е осъзнавал, че кода му е мазало и трябва да се пренапише, само че ... получава се следното
Програмиста писал хака, повече няма да се захване да го пренаписва, защото вече веднъж го е направил. Никой не обича да пише едно и също нещо по няколко пъти и освен ако няма някой зъл триглав мениджър да му кисне на главата, почти съм сигурен, че няма да го направи.
Програмиста, който оправя кода след него (в случая аз) вижда въпросния коментар и в главата му автоматично се задейства "спагетената аларма". Като всеки самоуважаващ се програмист, той много внимателно го "заобикаля" и се мъчи да оправи евенуталния проблем, без да променя каквото и да било по въпросния блок, защото е напълно наясно, че ще трудно, гадно и неблагодарно.
Сега някои хора ще кажат, че това е принципен проблем на софтуера с отворен код (нали, Наско), но всъщност проблема е другаде. Проблема е в лидера на проекта и в това, че е пуснал това парче код в стабилната версия. За това BSD феновете толкова много се гордеят с "перфектния" си код, защото такива допълнения се отхвърлят много преди въобще да стигнат production версията. Въпреки базарния модел на софтуера с отворен код, винаги съм бил привърженик на идеята за силна фигура на върха, която да има последната дума по всеки въпрос. От тук идва разликата между добрия софтуер и сбирщината от хакове.
Все пак въпроса е какво искаш като краен резултат, многофункционален софтуер, който от време на време се чупи и губи информация или орязана откъм функционалност, но пък много стабилна система. Съществуват и двата варианта, и двата изкарват пари, а щом е така, значи има някакъв смисъл от това. Това пък от своя страна доказва, че всичко по-горе е просто една теория, която може и да има, може и да няма реална обосновка.
Етикети: develop, open culture, software
