2022年8月28日 星期日

我的第一本電子書上架了

我的第一本電子書上架了           王飛龍  Dragon 

         前些日子,接到 ”The Kindle Direct Publishing Team”發來的短訊:”Congratulations, your book “pygame翻轉學習python” is now live and available for purchase in the Kindle Store!” ,獲知我的第一本電子書終於在亞馬遜Kindle Store正式發售了。

Amazon上架通知

   這件事情的起因,要從我的退休生活說起,大致上可分成三個部分來陳述;第一部分是寫這本書的動機,第二部分是出版這本書為電子書的原由,第三部分是出版電子書的眉角。

    先從第二部分說起,寫了一本書總是要出版才能叫做書,完成了之後,找了很多出版社及書局希望來合作出版,結果被打了回票,其中包括了幾間未退休前合作的書局,可能有他們的市場考量,但是給我的感覺是「人去茶涼」。在偶然的機會下,得知了出版電子書有很多的好處:免費、出版速度快、版稅又比實體書高。在這些誘因下,決定將這本書以電子書的型態出版。出版電子書看似簡單,因為是初次嘗試,也碰到了許多瓶頸,還好一一克服了,將心歷路程於第三部分與大家分享。

    很早很早以前,就學過電腦語言,可是學了整年上了幾次機,腦袋對電腦語言一片空白,自覺很慚愧地拿到學分。之後,隨著個人電腦的發展,幾乎成了生活不可分離的一部分,無論是文書處理、科學計算等正事,也花了不少時間在電腦遊戲上;後來互聯網的發展更是包山包海無所不能,佔據生活的時間也越來越多。無論是文書處理、科學計算等正事或者電腦遊戲,只要將相關程式安裝到個人電腦上,甚至直接在雲端計算就可使用,十分方便。最近,突發奇想,覺得老是利用別人寫的程式太沒意思了,不免心有所想,這些程式都是怎麼做的?自己能不能夠模仿或創新個程式呢?就興起了自己寫的程式的念頭。

  首先的目標設定為:寫電腦遊戲的程式。市面上已經有很多童年印象深刻的機台遊戲的電腦程式,玩這類懷舊遊戲,可以重溫舊日時光:自己動手模仿寫這類程式,較易沉浸在某種懷念情緒中成為動力,也有一個比較的目標。要做個遊戲當然要學會電腦程式語言,上網查了一下,很多人能推薦:為了打發時間而想學程式語言的人,最適合學Python電腦語言,因為Python易學易懂、語法接近於英文會話。於是到圖書館借了一堆入門書,上網蒐集了不少資料,想來個自我學習無師自通。

    後來又發現到,有很多人會選擇使用 Python附加Pygame套件,來製作自己的遊戲。Pygame是專門為了開發遊戲所推出的Python套件,Pygame 的語法和Python的語法很類似,單純且相當直覺,可以精簡方式完成許多控制聲音、影像的基礎工作,大幅簡化程式碼,使開發遊戲工作更為容易。於是到圖書館借了一堆Pygame入門書的書來參詳,經由Pygame視覺化的表現,重新了解到前面學的Python語法的意義。於是興起了翻轉學習的念頭,不再刻意去背那些Python語法,而是用Pygame作一些小遊戲,然後用Python的語法去印證和模擬它,把這兩者放在一起學習再度引燃了學習興趣。

 

動畫原理

pygame的機制

  自我摸索了許久,發現到:程式設計是一種介於藝術與科學的腦力創作運動,程式設計所代表的是科技概念與邏輯思維,是現代人們應該有的生活能力,不應再只是少數專業人員的技術。學習撰寫程式,可以學到:怎麼樣把一個複雜的問題,分割成一個個小問題分別處理,再整合起來,在這個過程中可以訓練邏輯思考、解決問題的能力。書中所舉的例子,都是著者在學習過中所遇到的,例子中會指出問題所在,以及著者以何種方式來解決。所寫出來的程式,在專業人員的眼裡顯得很粗糙、冗長,但是出版本書的目的,在培養初學者如何發掘問題,如何以邏輯思考的方式解決它們。

    其實早在 20 幾年前電子書市場就已經開始崛起了,最早是由 Amazon 所帶起的風潮,在幾年內快速在歐美地區盛行。然而台灣人的閱讀習慣仍然以實體書為主,導致電子書遲遲沒有進入台灣市場這也。但在近幾年內,台灣閱讀習慣漸漸改變,本土開始有許多電子書商開始帶起這市場,如:PubuReadmoo。而在 2019 年,亞馬遜更強勢進軍中文市場,開設了正體中文電子書店,把電子書推至更高的層次。

    要出版一本電子書,首先要用文書軟體把它寫出來,每一個電子書平台所能接收的文件格式不太相同,主要的電子書平台與要求如下表所示: 

電子書平台

接收的圖文格式

審查時間

Readmoo

EpubDOCX

714

Pubu

EpubPDFDOCPPT

18小時

Rakuten Kobo

EpubDOCMOBI

13

Amazon

DOCAZWMOBI

13

     在能夠接收的圖文格式中,DOCDOCXPDFPPT為我常用的檔案型式,製做起來沒甚麼問題。但是上傳DOCX後,經過預覽卻發現了問題,表格的排列會偏移也無法顯示網底或字體的顏色,所以也對於其它的格式做了嘗試與了解。PDF檔大家也應該很了解,它在傳送過程中編排格式不會變更,最適合傳送漫畫書,但是只有Pubu可以接收PDF檔。EPubElectronic Publication的縮寫)是一種自由的開放的電子圖書標準,屬於一種可以「自動重新排版」的內容;也就是文字內容可以根據閱讀裝置的特性,以最適於閱讀的方式顯示。只要在Google的線上文件編輯器docs上打上你的文章,就能夠儲存成EPub檔,供很多電子書平台使用相當方便。MOBI是一種電子書檔案格式,由Mobipocket推出,這種檔案主要是用來儲存電子書籍用,是專門為網路速度慢的行動設備,或者是沒有行動網路的使用者開發的格式,在線上可以將DOCX直接轉換成MOBI檔,但是預覽比較麻煩所以我沒採用。帶有AZW的文件是一個Kindle電子書格式文件,當你從互聯網上下載電子書或將Kindle電子書傳送到電腦時,可能會看到這種類型的文件。將AZW文件與另外的電子書格式互換,最簡單方法是安裝Calibre。 它不僅支持EpubMOBIPDFAZW3DOCX等流行格式,還支持PDBRTFSNBLIT等格式。

   要進入這些電子書平台的後台做編輯的工作,需要帳號記密碼,很幸運的只要擁有google帳號就可以暢通無阻。依照各個平台的規定填寫資料即可,Pubu Readmoo 是台灣本土書商,用的是正體中文所以很快就解決了。AmazonRakuten Kobo的表單都是英文的,填寫資料就比較有難度。Amazon,因為是美國外商,所以需要填寫 W8BEN 表單,並且銷售額會先被扣除 30% 稅金,需要另外去申請退稅,看在它是電子書平台的龍頭,只好忍受這種麻煩。

   上架的速度以Pubu為最快,傳完資料不到一個小時就通知我的電子書上架了。AmazonRakuten Kobo也都在隔天就收到上架簡訊了。Readmoo的速度很慢,經過了一星期了尚無音訊,要不是看到它能代理上架Google plays books Apple books,不想列入考慮。