Làm thế nào để tôi có thể bắt đầu lập trình game?

Làm thế nào để tôi có thể bắt đầu lập trình game?

PV  | 09/09/2016 02:45 PM

thích

Hãy lập trình tựa game của bạn với bất cứ cái gì mà bạn có thể, bắt đầu nhỏ thôi và đừng lo lắng về những thứ lặt vặt sau này.

Tôi nhớ khoảng 5 năm về trước, tôi có gửi một bức email cho một vị giáo sư ở trường đại học danh tiếng M.I.T sau khi nhìn thấy bà ấy trong một chương trình truyền hình đặc biệt nói về chủ đề Trí Tuệ Nhân Tạo (AI). Tôi đã dành hết tâm huyết vào bức email đó để nói về các lý thuyết của tôi về phát triển Trí Tuệ Nhân Tạo, như làm thế nào các máy tính có thể được lập trình để nhận ra các môi trường xung quanh, làm thế nào để những cảm xúc có thể được học thông qua trải nghiệm, v.v... Tôi đã dành ra 4 giờ đồng hồ để viết bức email đó bởi vì tôi cảm thấy có một sự kết nối với công việc của vị giáo sư này. Việc viết bức email đó rất thú vị bởi vì nó đề cập đến một vấn đề mà tôi rất quan tâm và muốn được tiếp cận và nói chuyện với ai đó về nó. Lúc đó tôi tràn trề hy vọng trong khi viết thư vì cứ nghĩ có thể sẽ được trả lời và sẽ có một ai đó để cùng nói chuyện về chủ đề này, và có thể giúp tôi tiến vào con đường tạo ra một chiếc máy Trí Tuệ Nhân Tạo tiên tiến. Buồn thay, tôi chẳng bao giờ nhận được phản hồi từ vị giáo sư nọ... và tôi thậm chí không biết liệu bà ấy đã đọc bức thư đó hay chưa.

Gần đây, nhờ bộ phim tài liệu Indie Game: The Movie đề cập đến trò chơi do tôi làm ra là Super Meat Boy, tôi thường nhận được một vài câu hỏi thông qua email/twitter mỗi ngày từ những người muốn được tư vấn. Hầu hết các email này đến từ những người hâm mộ trẻ tuổi và mong muốn nhận được lời khuyên về các vấn đề như "Tôi nên sử dụng ngôn ngữ lập trình nào?" hay "Làm thế nào để tôi có thể đưa được trò game của tôi lên Xbox". Tôi đã đọc tất cả các email nhưng không phải lúc nào tôi cũng trả lời, bởi vì việc đó sẽ chiếm mất một khoảng thời gian của tôi, chưa kể là có rất ít sự khác biệt về nội dung giữa các bức email đó.

Tôi thường cảm thấy khá tồi khi tôi không trả lời, bởi vì những người đó chỉ đang tìm cách tiếp cận và muốn một ai đó có thể làm sáng tỏ cho họ một số vấn đề trong phát triển game. Họ đang làm cái việc giống như tôi đã làm với vị giáo sư của trường đại học M.I.T nhiều năm về trước. Họ quan tâm đến những gì tôi làm và muốn biết làm thế nào để làm điều đó, họ muốn trở thành một phần của phát triển game theo một cách nào đó. Vâng, tôi rất muốn giúp nhưng không có đủ thời gian, kiến thức hoặc mong muốn trở thành một giáo viên... vì vậy ngày hôm nay tôi sẽ làm sáng tỏ ở đây. Bài viết này như một phần trả lời cho những câu hỏi thường gặp (FAQ) cho bất kỳ ai muốn một vài lời khuyên theo một cách nào đó từ tôi về cách làm game.

Tôi phải bắt đầu thực hiện trò game mơ ước của mình từ đâu?

"Tôi nên bắt đầu từ đâu?" là kiểu câu hỏi phổ biến nhất mà tôi nhận được. Tôi cảm thấy bước đầu tiên luôn là rào cản lớn nhất của rất nhiều người bởi vì họ không nhận ra rằng tất cả mọi thứ, thậm chí là trò game khùng khùng AAA ngoài kia, cũng đều bắt đầu từ chỗ không có gì và cứ được xây dựng dần cho tới khi nó trở thành như ngày nay. Khi trò game mơ ước của bạn đang ấp ủ trong đầu và bạn thực hiện bước đi đầu tiên để tạo ra nó, việc này có thể rất khó khăn khi chuyển từ trạng thái tưởng tượng thành hiện thực. Đối với những người chưa bao giờ làm một trò game, những thứ đơn giản như tạo ra một nhân vật có thể di chuyển là một điều gì đó không thể và có thể nhanh chóng làm nản chí họ. Bạn đừng thực hiện theo cách đó, chìa khóa ở đây là hãy bắt đầu nhỏ thôi.

Trò game Super Meat Boy bắt đầu chỉ là một hình vuông và hình của một gã mập Meat Boy trên nó. Trò Mew-Genics khời đầu chỉ là một hình vuông màu đen di chuyển tới lui trên màn hình. Trò Goo! bắt đầu chỉ là các hình tròn với các khuôn mặt cười trên chúng. Trò “Game 2” bắt đầu là một hình ảnh vector của nhân vật trong "Game 2". Mọi thứ đều bắt đầu ở cấp độ cơ bản nhất và phát triển từ đó mà lên.

Một điều rất quan trọng khi làm game đó là chỉ bước một bước tại một thời điểm. Nếu bạn lao vào làm trò game mơ ước của mình với tất cả chức năng cùng một lúc, rất có thể bạn sẽ cảm thấy nản lòng và bị choáng ngợp. Nếu bạn xây dựng cũng trò game mơ ước đó chỉ một bước nhỏ ở mỗi thời điểm, bạn sẽ có cơ hội nhận ra tầm nhìn của mình sẽ phát triển theo cấp số nhân.

Chia trò game của bạn thành những phần nhỏ buộc bạn phải phân tích và ước lượng các ý tưởng của mình ở một mức sâu hơn. Điều này là cần thiết bởi vì bạn luôn luôn muốn cởi mở để thay đổi, bạn chẳng bao giờ muốn đặt mình vào một con đường mà bạn cảm thấy không thể nào đi chệch khỏi. Việc chệch khỏi kế hoạch ban đầu có thể mang lại nhiều phần thú vị nhất của một trò game. Nó là một cách để phát triển bởi vì bạn đang suy nghĩ trong một hệ thống game và đang áp dụng những ý tưởng mới tới những ý tưởng đã được hình thành.

Vì vậy, hãy cố gắng phân rã các ý tưởng của bạn thành những phần nhỏ có thể thực hiện được một cách dễ dàng trong tập kỹ năng hiện tại của bạn. Nó sẽ dễ dàng hơn để quan sát tiến độ theo cách đó, bạn sẽ không cảm thấy nản lòng một cách dễ dàng, và bạn có thể quay lại công việc của mình sau đó và dễ dàng tiếp tục công việc đang làm dở dang. Nên nhớ rằng không có giới hạn về mặt thời gian khi bạn phải cho ra lò trò game của mình (nếu bạn đang bắt đầu giống như vậy, thì có nghĩa là bạn đang ở trong một khoảng thời gian khó khăn). Học được bài học qua mỗi bước đi và xây dựng các dự án của bạn giống như là bạn đang chơi trò xếp hình Lego vậy... ghép một mẩu ở một thời điểm.

Để cung cấp một ví dụ chi tiết hơn, cho phép tôi kể về cách tôi đã xây dựng trò game Super Meat Boy như thế nào. Lúc đầu tôi chỉ có một hình chữ nhật với hình ảnh một gã mập Meat Boy trên đó, tôi tập trung vào việc làm sao để có thể điều khiển nó di chuyển tiến và lùi. Sau khi tôi đã chơi với nó một chút thì tôi làm thêm tính năng là khi tôi nhấn một nút trên bàn phím thì gã Meat Boy sẽ nhảy lên, sau đó tôi làm cho gã dừng lại khi hắn đã tiếp đất, tiếp đó tôi làm tính năng dừng hắn lại khi chạm vào tường, sau đó tôi làm cho hắn dính vào tường, và khi mà hắn ta mắc kẹt vào bức tường thì tôi nhấn vào một button để hắn nhảy qua bức tường đó, sau đó nếu anh ta chạm phải một hình vuông màu xanh thì sẽ chết và cứ tiếp tục như vậy cho tới dòng cuối cùng trong kịch bản game và trò game Super Meat Boy đã hoàn thành theo cách đó.

Không có tác vụ nào quá nhỏ, không có số lượng tiến độ nào là quá ít. Điều quan trọng là bạn không cảm thấy nản lòng và bạn tiếp tục phát triển trò game của mình.

Tôi nên sử dụng ngôn ngữ lập trình nào?

Đây là một câu hỏi phổ biến thứ hai mà tôi thường nhận được và phải thành thật mà nói là tôi không thích câu hỏi này bởi vì nó là một câu hỏi mà tôi không thể trả lời. Tôi luôn cố gắng trả lời câu hỏi đó là "bất cứ ngôn ngữ nào mà bạn cảm thấy phù hợp nhất". Tôi không nghĩ rằng đây là câu trả lời hiệu quả cho các câu hỏi của mọi người bởi vì tôi cảm thấy mọi người đang tìm kiếm một câu trả lời nhất định hoặc họ chỉ vừa mới bắt đầu và không cảm thấy thoải mái với bất kỳ ngôn ngữ lập trình nào cả. Tôi sẽ cố gắng giải thích về câu trả lời của mình để có thể giúp đỡ người khác hiểu cách làm thế nào lựa chọn một ngôn ngữ tốt nhất cho họ hoặc giúp họ hiểu rằng việc sử dụng cái mà họ cảm thấy thoải mái là cách tốt nhất để bắt đầu.

Nếu bạn đang tìm kiếm lời khuyên về việc nên bắt đầu bằng ngôn ngữ lập trình nào, thì bạn không cần bận tâm về những vấn đề kiểu như "Liệu Flash có chạy trên iOS?" hoặc "Xbox có chạy Java không?" hoặc "Liệu XNA có chạy trên Mac?". Lúc này bạn nên quan tâm đến việc làm thế nào để thực hiện một trò game, chứ không phải là cách để phát hành nó hoặc bán nó. Những câu hỏi này chỉ quan trọng khi bạn đang lo lắng về việc phát hành một trò game, nhưng việc phát hành một trò game là cách dễ hơn nhiều so với việc thực hiện nó. Bạn có thể lo lắng về việc phát hành trò game của bạn vào lúc khác.

Tìm một ngôn ngữ và bạn nhấp chuột vào rồi bắt đầu viết code. Điều quan trọng lúc ban đầu là nó phải mang lại nhiều sự hài lòng nhất có thể. Bạn muốn có một cái gì đó hiện lên màn hình nhanh chóng và xây dựng từ đó. Bạn muốn có khả năng chỉnh sửa cái mà bạn đã tạo ra và thêm vào nó một cách dễ dàng. Sự hài lòng tức thời là chìa khóa để luôn duy trì động lực khi mới bắt đầu, bạn có thể không muốn học một ngôn ngữ mới trong khi đang tạo ra trò game của mình. Nếu bạn cố gắng học một ngôn ngữ lập trình mới trong khi đang tạo ra trò game của bạn, thì rất có thể bạn sẽ dành ra nhiều tuần để đọc và không có thứ gì để trình diễn ra, ngoại trừ kiến thức mà bạn vẫn chưa có khả năng áp dụng vào trò game của mình. Điều đó có thể tạo ra sự chán nản.

Gắn chặt với cái bạn biết, hoặc đi theo hướng thoải mái và dễ dàng nhất có thể nhằm thu được các kỹ năng cần thiết để bắt đầu làm việc trên trò game của bạn. Vì vậy nếu bạn biết một chút Flash thì sử dụng Flash, nếu bạn sử dụng C++ thì hãy viết game bằng C++, nếu bạn chỉ biết sử dụng Java thì hãy dùng Java. Không có cái gì gọi là "ngôn ngữ phát triển game chính thống" cả. LUÔN LUÔN nhớ lấy điều đó. Trò game Minecraft được viết bằng Java, Super Meat Boy được viết bằng C++, Farmville được viết bằng Flash, một số trò game nổi tiếng khác mà mọi người đang chơi được viết bằng HTML5, một số trò khác được làm trên Index cards. Quan điểm ở đây là: công cụ nào không quan trọng. Hãy tìm một cách bạn cảm thấy thoải mái để làm game, và bắt tay vào làm bằng ngôn ngữ và công cụ đó.

Đừng cho rằng tôi đang làm nản lòng bạn trong việc học thêm những ngôn ngữ lập trình mới và làm việc ra bên ngoài vùng thoải mái của bạn (comfort zone). Một khi trái bóng đã lăn, bạn sẽ muốn vươn ra ngoài vùng thoải mái của bạn và học thêm những điều mới nếu bạn muốn phát triển trở thành một nhà phát triển game chuyên nghiệp. Nhưng hãy tạm gác lại vấn đề đó, trong lúc này bạn nên thiết lập các công cụ cần thiết và bắt tay vào code ngay.

Nếu bạn không biết bất kỳ ngôn ngữ nào và đang tìm kiếm một nơi để bắt đầu, thì tôi đề xuất bạn sử dụng Flash, Game Maker, Unity hoặc một công cụ tương tự. Tất cả những chương trình này giúp bạn dễ dàng tạo ra một cái gì đó hiển thị lên màn hình một cách nhanh chóng mà không cần phải học quá nhiều. Bạn sẽ không muốn bắt đầu bằng ngôn ngữ như C++ nếu bạn chưa có kinh nghiệm với bất cứ ngôn ngữ lập trình nào khác và đang lo lắng để tạo ra trò game của mình.

Những cuốn sách và tutorial nào mà tôi nên đọc?

Có 2 cuốn sách mà tôi đề xuất bạn nên đọc, nhưng chúng chỉ dành cho phát triển game bằng C++ và chúng cũng không phải là sách dành cho người mới bắt đầu. Đó là 2 cuốn Effective C++ và More Effective C++. Đây là những cuốn sách khá nâng cao về C++, vì vậy nếu bạn không biết C++ thì đừng thốt lên rằng "Ồ, tôi phải học những thứ này mới làm được game ư?". Bạn đừng như vậy.

Ngoài 2 cuốn sách đó, tôi chưa từng đọc bất kỳ cuốn sách nào khác về phát triển game. Tôi thường học bằng cách đọc các tài liệu SDK. Đó không phải là cách điển hình lắm, nhưng là cách mà tôi đã học.

Tôi cũng đề xuất bạn nên tìm các khóa học và các tutorial trực tuyến. Trên internet đầy rẫy những chương trình ví dụ, nhưng tutorial kiểu như NeHe, v.v... Tôi không đề xuất một tutorial nào cả, lý do chính là bởi vì tôi chưa từng xem qua bất kỳ tutorial nào, nhưng tôi biết các nguồn tài nguyên trực tuyến rất phong phú và đa dạng. Tôi chắc rằng với một chút trợ giúp từ Google thì bạn có thể tìm thấy chính xác cái bạn cần.

Tôi KHÔNG khuyến khích bạn copy và past các đoạn code từ các tutorial để làm trò game của mình. Bạn sẽ không học được điều gì cả nếu làm theo cách đó, bạn chỉ là tay chuyên đi copy mà thôi. Điều đó thường đi đôi với các chương trình mã nguồn mở. Chúng trông rất tốt khi xem xét, học tập và tham khảo, nhưng chúng không đồng nghĩa với việc bạn đang tự làm trò game của riêng mình. Bạn sẽ không thể trở thành một lập trình viên giỏi bằng cách đi copy và past mã nguồn vào trong trò game của bạn, trừ khi bạn hoàn toàn hiểu nó. Đừng tự dối lừa bản thân mình theo cách này, hãy dành thêm thời gian để hiểu một cái gì đó trước khi sử dụng nó.

Bạn đã sử dụng phần mềm nào để tạo ra trò game đó?

Tôi cảm thấy khi câu hỏi này được hỏi, thì nó được xuất phát từ những người cho rằng có một công cụ thần kỳ nào đó để làm các trò game cho bạn. Thực tế cũng có những công cụ có thể làm được rất nhiều việc cho bạn. Nếu bạn không cảm thấy thích thú trong việc học một ngôn ngữ lập trình cho mục đích xây dựng một game engine, thì hãy tìm kiếm những công cụ như Unity hoặc UDK. Chúng sẽ giải phóng gánh nặng cho bạn và cho phép bạn chỉ việc tạo ra game. Nhưng cũng có cái giá phải trả khi bạn sử dụng những công cụ này. Bạn sẽ bị giới hạn bởi hệ thống cung cấp cho bạn những công cụ đó. Những công cụ này đầy đủ các đặc trưng được xây dựng sẵn, ổn định, và đáng kinh ngạc, nhưng đôi khi chúng sẽ không thể làm điều mà bạn muốn.

Về mặt cá nhân tôi không thích những giới hạn và tôi thực sự thích thú khi có thể tự do làm điều mình thích trong phát triển game, vì vậy tôi tránh sử dụng những công cụ này và xây dựng các trò game của tôi từ code mà tôi đã viết trong nhiều năm qua. Điều đó không nói rằng một trò game như Super Meat Boy không thể tồn tại trong một công cụ giống như Unity. Nó có thể hoàn thành đến một mức độ nào đó. Do bởi những giới hạn nên nó sẽ không tạo ra được trò game chính xác như vậy, nó sẽ không có giao diện và kiểu điều khiển giống hệt. Những trò game tuyệt vời có thể được tạo ra bởi các công cụ như UDK, Unity... và những trò game tuyệt vời cũng được tạo ra mà không cần có chúng.

Tôi sử dụng Visual Studio cho việc phát triển, nhưng tôi có thể dễ dàng sử dụng Eclipse, Code Warrior, XCode, hoặc Notepad và một trình biên dịch. Cũng giống như việc chọn một ngôn ngữ lập trình, không quan trọng việc bạn sử dụng cái nào. Visual Studio là cái mà tôi đã sử dụng. Tôi không sử dụng bất kỳ chức năng cao siêu gì được tích hợp trong nó cả, tôi sử dụng nó như một cách để tổ chức các file mã nguồn của mình, biên dịch và debug. Có hàng tấn các trình soạn thảo ở ngoài kia có thể làm được việc này.

Đối với phần đồ họa và các hiệu ứng động, cộng sự của tôi là Ed sử dụng Flash. Tôi đã viết một công cụ để xuất những hiệu ứng động trong Flash bởi vì nó dễ hơn là viết ra các công cụ cho Edmund, và... hơn nữa... Edmund rất thoải mái khi sử dụng Flash. Việc viết công cụ đó đồng nghĩa với việc phải học JSFL và làm việc trong Flash, nhưng nó cũng mang lại hiệu quả tốt nhất cho Ed, tôi và cho cả Super Meat Boy. Bạn không cần công cụ xuất hiệu ứng động của tôi để làm trò game của mình. Một ngày đẹp trời nào đó tôi sẽ cung cấp những công cụ này miễn phí đến các lập trình viên, nhưng điều này không xảy ra trong thời gian gần, vì vậy bạn đừng chờ đợi.

Làm thế nào mà bạn luôn có động lực để hoàn thành công việc bạn đã bắt đầu?

Không có bí mật nào trong việc duy trì động lực và đây không thực sự là một lời khuyên tôi dành cho bạn để bạn có động lực trong dự án của mình. Tôi đã không sử dụng bí quyết đặc biệt nào, hoặc tư duy, hoặc danh sách tổ chức công việc, hoặc bất kỳ điều gì giống vậy. Để tôi có thể luôn có động lực, tôi có niềm tin và thích thú trong dự án mà mình đang làm. Nếu tôi không thích việc mà tôi đang làm, thì có lẽ là tôi sẽ không thể hoàn thành nó.

Ví dụ, một trò game mà tôi đã bắt đầu làm nhiều năm về trước có tên là Goo!. Tôi đã làm việc trên nó trong vòng 2 năm, và nó chẳng đi đến đâu cả. Nó không phải là ý tưởng của tôi, nó không phải là một trò game mà cá nhân tôi muốn làm, và bởi vì điều đó nên tôi có thể chẳng bao giờ tạo ra nó theo cách mà tôi muốn. Tôi đã dừng việc phát triển nó để bắt đầu trò game Super Meat Boy.

Quãng thời gian xây dựng trò Goo! đó không hề lãng phí bởi vì tôi đã học được rất nhiều về phát triển game, nhưng trò game đó đã chẳng bao giờ hoàn thành bởi vì nó không phải là cái gì đó tạo ra sự hào hứng trong tôi. Khía cạnh duy nhất trong trò game đó khiến tôi phấn khích là phần multi-threaded physics engine và tôi đã dành phần lớn thời gian của mình trên đó. Nó rất quan trọng đối với tôi khi làm việc trên trò game đó, bởi vì nó khiến tôi nhận ra rằng việc yêu quý trò game mà mình đang tạo ra khiến cho công việc trở nên dễ dàng hơn nhiều. Đó là động lực quan trọng nhất.

Khi bạn tin và yêu cái mà bạn đang làm việc trên đó, thì rất khó có gì có thể dừng bạn lại. Bạn có nỗi ám ảnh về nó, bạn muốn bổ sung thêm tính năng cho nó, bạn muốn làm nó trở nên tốt hơn, và bạn thực sự muốn nhìn thấy nó hoàn thành. Việc tin vào cái mà bạn đang làm việc có khuynh hướng giúp bạn hoàn thành trò game. Bạn càng muốn dành nhiều thời gian để đánh bóng nó, bổ sung thêm các đặc trưng bạn nghĩ rằng sẽ làm trò game trở nên tốt hơn, nói chung là đi xa hơn là chỉ đơn thuần làm trò game của bạn.

Làm thế nào để tôi có thể đưa trò game của tôi lên Steam/Xbox/PS3/WiiU/Anything hay bất cứ nơi nào khác?

Đây là một câu hỏi mà không ai đặt ra khi họ vừa mới bắt đầu hoặc thậm chí nếu họ có một trò game đang xây dựng. Câu khẩu hiệu của bạn nên là "Tôi sẽ làm một trò game hay" chứ không phải "Tôi cần đưa nó lên XBLA". Con đường để đưa các trò game của bạn tới bất kỳ nền tảng nào là một kiến thức công khai. Không có một email bí mật nào, không có một form ma thuật nào mà bạn cần điền vào, bạn không cần phải có mối quen biết bất kỳ ai ở đó, không có chị em họ của ai đó làm việc ở những tổ chức này và hẹn gặp bạn một cách bí mật, không có thứ gì giống như vậy tồn tại ở đây cả.

Nó rất đơn giản để được chấp nhận cho bất kỳ những nền tảng nào: tất cả bạn cần là một trò game tốt. Tất cả chỉ có vậy. Đó là một thực tế khắc nghiệt mà một số người từ chối tin vào. Tôi đã nhìn thấy một số người giơ đầu chịu báng mọi thứ cho trò game của họ khi nó được chấp nhận bởi Steam/XBLA... hoặc các nền tảng khác. Một trò game hay sẽ thu được sự chú ý và quan tâm nghiêm túc từ những người nắm giữ các platform dựa trên giá trị riêng của nó với một chút giúp đỡ từ bạn. Hãy nói về trò game của bạn, hãy hào hứng về nó, nếu trò game của bạn tốt và những người khác thích nó cũng như sự hăng hái của bạn thì nó sẽ được lan tỏa sang những người khác.

Nếu trò game của bạn không tốt, bạn sẽ có một khoảng thời gian khó khăn để có thể đưa nó lên các nền tảng phân phối. Hãy tập trung vào việc làm cho trò game của bạn trở nên tốt nhất có thể, đừng tập trung vào những nền tảng nào mà bạn có thể đưa nó lên. Một trò game tốt thì tự quảng bá bản thân nó tốt hơn là việc phơi nó ra trên một nền tảng nào đó.

Điều gì sẽ xảy ra nếu tôi hoàn thành trò game của mình mà không một ai muốn chơi nó cả?

Nếu bạn đã làm việc vất vả, và bạn nghĩ rằng trò game của mình là thứ tuyệt vời nhất và bạn vẫn không thể đưa nó lên bất kỳ một nền tảng phân phối nào, thì hãy đừng xem đó là một thất bại và không phải là một tín hiệu bạn nên dừng việc làm ra các trò video game. Rất ít người thành công với trò game đầu tay của họ. Trò game SMB là trò game đầu tiên mà tôi từng hoàn thành, nhưng có một số trò tôi làm trước trò SMB đã chẳng đi đến đâu cả.

Có thời điểm tôi chỉ còn vài bước nữa là nhận được một thỏa thuận với hãng Sony giống hệt như các trò fl0w và Everyday Shooter cho trò game Goo! mà tôi đã đề cập ở trên. Có một sự thay đổi trong quản lý ở phút cuối (chỉ 2 ngày trước khi hợp đồng cuối cùng được ký) là nguyên nhân trò game đó bị hủy bỏ và tôi chẳng bao giờ nghe thông tin từ hãng Sony nữa. Trò game đó không được tốt và thậm chí nếu có được thỏa thuận với hãng Sony thì nó có lẽ cũng chẳng được hoàn thành và sẽ trở thành một thất bại to lớn. Đó là một nỗi đau, đầy chua xót, nhưng nó đã không thể dừng tôi lại.

Đừng để điều đó kéo lùi bạn hoặc giết chết giấc mơ của bạn. Người ta có thể nghĩ "đứa con" của bạn rất xấu xí... nhưng điều đó cũng tốt thôi. Hãy tiếp tục làm game. Hãy lấy những thất bại đó làm nguồn cảm hứng và một ngày nào đó bạn sẽ có đủ sức mạnh để vượt qua nó, rất có thể bạn sẽ nhận ra giấc mơ của mình.

Kết luận

Hãy làm trò game của bạn với bất cứ cái gì mà bạn có thể, bắt đầu nhỏ thôi và đừng lo lắng về những thứ lặt vặt sau này. Các ngôn ngữ lập trình và phần mềm thì chẳng liên quan lắm đến việc tạo một trò game, vì vậy hãy lựa chọn cái mà bạn cảm thấy thoải mái hoặc bạn muốn học nhưng đừng ôm đồm quá nhiều khi bạn mới bắt đầu. Hãy chắc chắn rằng bạn tạo ra một tiến độ đủ để luôn có động lực và xua tan đi sự nản lòng. Hãy yêu quý trò game của bạn, nói chuyện về nó, có một nỗi ám ảnh về nó và bạn sẽ không cảm thấy vất vả khi làm việc trên nó.

Theo Techmaster.vn

    Tham khảo XS Kết Quả để xem kết quả xổ số.

    Xem lịch âm dương tại Xem Lịch Âm.

    Xem bong da Xem bong da 247.

    Công cụ tính toán https://calculatorss.us.

    Tin tức game https://gamekvn.club.

    BwhWcqgNJ7 VBQcg8WaGl4e bF7WJmpez7o0MwsMAbDRHmASdg0Qb19mlZnjGk2WJnurITbNWp55jCFZLW3MyZdZRqyLWxzXEAFka42uuTR8D5xq0YoJLEthetjNZm3iytcbQTsIp1WSuoMg2hFLbugm5Obh847Jn lU4jhRYVxJS2INRxnMj8L1yFJltlNwGHk6rdd4GkyWtgLW0muv5miBnt2G2D8hT684CS8coKI8jgFWaln4XpCKNWgppwBFOoCwEYgAHkIqpzIAg2lGesMGDpG26Zemua1MQvsRP03ww T7IWpstve9VgvhgvPWC5HEZ33K6hslbadxaVP2Q7g7x8X7tPEyTjmE6uj0n2TfIu EmpnmzaR6CPln2s0tIHLRBMO3WINySolfZonXK0MJpENBHrebdDRmUZCaSeJKiqavY Gj598KMAyZMvUVHLwy8PlVXmsN8YSx54q0RPHYVfeyHjHejmHdDYuIecPrm5ul2fJifUy2UCU9FLut4oMeg JletggU41lsvzxzYh5Ss2Fn5ECwZJIwWLqwYfHiEpfra0GuciDrkGEq Q0nvyzxgd45k62UTnkIY8mfG9Xc3MWXUra2CrrOZhxOfs5cmJACvi9QMsOBFkF8ejjhcrbjbRgX1D7weUydITiLmiYJngAap RCd12IbGHOjv1c3J7JW1ZBqCY5MzUgFtRycuCWoDiIe4vFKfNN7LJZ8 wlgEAJEAmZW Rjb0tX1sJz6T5uct6kPNA9jZha89DZzLlAAcCYR3KXjDIpmIQWGIzKhbqn0rt29Xso75CKOY0eKMbVP9XeZgWfqW7jHzSsgKpMyZ1mIiADEjx84QjdfceJo2bCHKKLOEzzUjd3YuG40Jobcz3G1brJBCGcvffwKAKF0N2X7024jrw26yq6MalWI bX0XVXy6Hka4J1Jc7NSqIxBmBIMgSAR9Aws F mBgBt83APW4xxhPnSixNEb7vbEIp8c2zea9lNG habay HupouZniNos4ombd2kNcdAxsfFhXq1ct4tKBoqOYeTglebWXNc5QcIq W876GOM Q9AXe9rKpyRiuBN1pHad0lLjj60YSxH og7sfZx8w KEaSDxrRCAl4v X5vRfQMiSZSeVTQ cpOqXDMw75hqIpEJhAV or7KfLk9Rxu5pe7xs p0qHzkYcN2oxsthCR0 mgTTxTQyUyK2aYr2luqpeY pX0 YaGJQhybZUQuVw5buyNibl0ZcepTXKzhFpSDSqOFJyj8X9ldovNiAenEzELsze aUu9WAqUDxa93DpvxolsRwmb2wnfL4qp2IymYOHIYkxgqOu6vZKbcm3zZXdL8s7LQ4tCROMXFXlOULD9rGq0whx6Bl5e9oZyzivYcu7HVFT1mnraoChOFmsp6o6ayn3foLumPUxXSgzT8XEPqxpagqfvP0EjI8Cwvp74kdHsLZwPNfDkjmDiDGxLuqycpGOdQr2by8m19EQ6yzCTPcJ QQahTPrROLbrEG5DOMGx4roD8uE6qSnV2cy0k8lPe7jolvKFEi50881dNzS9MchEJN8I0M31EEUwzcgtuTkwTZXvsbxe1ZOlrwE7TnGWAm0sxTCH1GoycvHdKdP2NHytjf8Z Vu5eGj1fMQ8RzebiwJyIhrhB5HK9s96x3HWyKzJIZjKmkOwYrBrxR9asLq8GMSTEncICedTbV5ILCwP6mPi6dIteOoKUjyWSbfyalbzc5jmkjfjfD6PQdR9Oxor8ka7xcZ891eMjwiYkBJYAttSlW03 YUcmsbk5W9f1wAPceQGrRsFJW8nRV0NkKYP9r6r7AKePu2a9EqmV4dxYZpA0v8mrIPoK8JhctmEo2I722HTx9PKorczM2tE1zSN6n1d WdI8h1RwCLU9f8l3tnScCfrO0eVWoffsls2PeHlpH1SlmhCWqMO3Ssk1h9Kq3yj6lX3xJnalSO cQPDy9VK5QQ7p20Zc2XeEv8KpIUi219hSDa9jAvCKbhSro0A7vvGmAaStLW8jhs9Y7cKA0LRjkMAqvobqipIZdybvP9lRfBUwwlzL5ytdr7w3rFS8lV8boTlFu1aq4OImeDaw0L8T5BccmnfCzrG7A5vpVzL57uN1y87o6NIt8meBhpE1byu7GtrNneVr8i6X 2d6GyDIWdo6yvavIP4o lylzEItMz8Wk21OC1WJFr0 rfmwowva WDS6LuinjSRbw1o7IVrcva1McsCw SP0vALYFy9P3nlL31XVL364c0 zRemeGljgBXB tDZb0WGcTxyGYisbCkbVOSY2WoP2G4FHESEaaQVVsrlMxF7Xn3UdJtpOf1vTOljnJ2LuXFhvzzrfAcMPSTDbO5FlI4AH F3zOyKeGWb1QtpYyFFZWJ CdVXHTaEI1MtoeI3Vsu39AyYKHXfxLpR6W5mFYFGQZbrZvN3Y5JK1IoID5MXh1RYUtOpAOO8JZ6d3CIvYKpjCWoyV wKop SS1uewcmvR8IXEiRyFmvJrNqS3KODjsQlNpRtehE Vnh6U1kJjVR4IkzY0uPGlzYLeMtHnWQid4AncSgcnx ujY7baj wy28VBARB9xjzUJgQrOXHwrzXjzcX6nvAAYnTfbyTE3hUN4ZCzjChHCoHxg6MeLFD6OB371P8y5XqwsBlrkezdf01i BkLKeQ0lbSZ27RXiAr1d3qs0N5FVOWfk2lrC7mfrmZHRuBq9YX23hsLxHIbJJ6blVdL4FCKvLoxVxbZSD5vt4 joldOi5 CIQ6lBqp69QHTMnIp2lpODNlsGTxCeNXxM3o3xYuPZslDRMxHX2PQcKh0aLtykXPb iu0YTvGJ2uT9vNSIZmaXN9LPI28NwufxbbujFowhaf UhHXJNBIleOTS1iRVWyCBXbpa0FjC0c8CcypiisP96Nj1siMDKWZyNim2RJxLJ3NEllGNpwfbIgShVfPHLRZUKpEDK4KF CBTFZKVRagGUBeVeBaQ4lGQWgQUEu6ZBDZVonP008jqASrS2wFlm0ZEhLdBRI4G7kDi0V CW4mcdxs2oV2nKpiEwIdwZufq7XAzmVlx4CmxOC bbo6RqtCFVd4jIoqSGTkrxJurE8XJOTDlOg73YAnLd6Onmo1XC4tChDa3wv2LtdLrRGIbytly tNiwiJwuFVAHHZP9uBJ2yXj3N2 E85YIEWMzjGhnDewosiReq5Jg844Donj1gXO2aNM3LYINFGAEvdj9XK69dzO3lvdnCUVCHqlw 8YTq1N25MuWOaBrLuKBGgrAyUzAvBYEqcpBoqPNF15NBN6P0qYSn4kK2WHbTWOQS1uNuMhQnWGwBKwT6THSrsS38SIxMNKjHufdjncjSyTqTQqvecfvhCzQgpDcXzwQszzKvSpqTRf3x3E9GdHZac tO6OaPFml3vjSFx3j0jnSyvemHBuq7mVUFahoX915j0UhfFzY9navPvEncB11pmVwrOkAXSclAp3PcqHadXBfIMq2 l0yatS3jiGSNzrIAOI1JxHAZApsMf0sr3hKBdnIAy7e eS0iTlhSHJ2YpcibwzMTCCpnIUJJlg17M QuQNkpb5Bmjtv9qBYoIsdKLJf8lZWV1CP3qpLFMukWoCkALpqPwFG96E0HePQWReUeQp 7cLKOZTBMrj8K4JBAUXXsOz1LP7z947A5fDVXmRnFF 6bvInLCJal5eHq5Ua1WWOz2Y19FZg0n3tAbN9W04KzSFkfpa8lujdnZoH26L50zph8JnewU6G02reCC3rGnGUVB JMnR4kMePmm9RGzQ77trjYIKofQDTfF CRfcLmlg8PhBtgyLtvjAxhoEOaxVw8kb1XhKacWQOW33HVQgQQmCRKDwBlyzZxnQ4FfBT6xXWxJyjEktvRw78RV0J5LJTTQsUGLa7M m73IcUNIwM9miVs5IgJP XE3HMo65uwEITNDI4WmIujOSy9QgLuUnXfwgdp5aGXlcft3gVlvfJm8OuRPFEy5k3lkCaFKJNEfGijJLLn8mHo35DGjx9BlpKIPQL9ugvwUif6nx4NOOViLLbool ZGRiAr7e2fsuUdDMBh R3wz3PZPRc6w7nh1BeOqYo7oec8DQBIsi jiD9cfysXVpFJlTpQf0Ci5PNxUj3t51xRfbUXYCNKM5KHP4HoLrbEwfClI0PwKjTIIfxGPIE1iS0LcF7kjY0AtnrCuAllVcUfzLAyNrI1Ntaeet2bsy26h9Y52Mgpx8j5q6Z9m3YUYuCG4LfIZUgIY49LNc2aJ5M9ZkByYCMIi7zo6alIQnTfjSSzTpTInJfPvyJnsTol QwetRUgAmTgG9jWCaKGnezrDDAQLxbM42jntV5qQwB31BfmwHTgC5WEoGLvKYGKZjPsIzUJzwwxQuNe X9GEQhhOCuavLOtFDk3PrWU0tZU A7 3rsiTy2Ugr1nUwEp9XbULH0RPGKVIIReJ5w5U 3Odswl7MZsMcs9sYkvoFIu0UEdNAszUX08JebHMDaQF3rnuykG3wfl3MblGXg1bVTQiqRGCIXb1bZhwOJJO nrqccksKtCnCuCuAD5nAP9yCSpg4mg377DEf mciY0M9crIwI03gAGvRo1svg1yDt8BF6vJ9kKCo9NsSk6jDvgSPamooR32XOaESu9eSfTewcYhSz6shbvjsVbLmu6vG6X1TZcZtY5LsuoLyYwyv931DIZrV63R1nUY6p3McOoljgnFJ2TENQQTlaK3ahFdEpU18hX8ciKdSvtOAz5SGlkOzIOOsraXYLGiOGUk1XqrZjsIxersbwbqjgOa0r0zqIyWkNcn6cq9iDKvnYmpo11gXrNqjPQf6 YvPncWGjNvVwA314aig2ILyGDHxiwceVUGapOdEcVvySBLa7ISRAODt2gdznmntXeMR5AT456bDUkdEHO1p52UAFM3G5IF9ocZkoDseKCvkgckvlZxNMRKjW1hWqd i4iKmKVQmEsK05rCIt1B9TAHPWp7YliSDAXRXwPtaEKzlJKISUe1bRUzcazpnvwCcl5y VwCp8ZkyvG6ILgfp5UZT coG5HgV0r05fADxVUc3YlFLgJx2GUe00g6qjbE1 EVUgFEXVGNt WtJvhH Ng2riIKlSmasuhJwZzfWqKOfvOfc50z56PHJs3cHsVYSeNT2ywYOqnj1qblkKsUZVZUy5LEX3uvVKdq19Gf1fZKW5EMr7Oo7uWIC4jNJYogKhOvtfiRSdzpCkuN9Bj7bpOpR4LzC3AjkVScajgu3imQXZpagmcFqSwK BybfVrepgWHxrWyunHuHiItofF2njZAai34VAS17oEtQWB5d1X4scgILvIiiIHiQUPBAyKFyLPYEacUZI03yvvruD7kDjZw0oXsZLqblQSoq4n9EHuB8MsLGYNZsQqdL2HaLTzkHpWfruULm3T2mF2RhQO4vutvjoJ2uTaTDyRzUXD6MxMlk3jeazHIUe8szy34cbus opBof3dKgwrPbK71SAOBhYPBh7Z0vZwWIWRAFpWL H8ne yKo6MVBPsasiB03Jbu ghRHmg6PFBjVLONzsEyh DCILZWLoNKKI PDZIgofpoWGDkeHv3iJrwbueooAuiEiiJeJcd1wOD8lW9OHrSqwX5yaT3cFX4F8AM3ibUguPaDTAkRua2G8IxAVAAedgP4n5rLnh TeVYqx1BDxTKzEOT7S0TZ6khckfjqD55iGWJB0LIEAjntLQH97KS1sEDLbuWaF5qN2uNcdwkMrgQhsAO15yEAuaTzj8nzsqjKbDZ0desuaMzWkEKbuZZESLsnC61a4sYSDgDUQXGdfirRj hUXdcp2WfSCeLhjwW123eWG2O6bOrnFtxNQE1ZC2dox8eu96uSR0f9nYueNB3sny2x4xvgUrxvDJOR7RsaPCNeaDmh2pa4QnTy1UWw7LR7mhFKccD7Z1CeA A2ZP8pWMt5fbvkEwTbQYbFFqe4zEW007fHMeXHYzcHfaQu1luLXqzxyMurrUlMcEF6dYRTweI2mUd9rcuuEvlo40bU9KceTSdHN1CKnrzcjLY0b6lc8uu2gsFmBy6YgBR6qgUkP4U1z 9JaeQGHICvWCP3WJ5LpYwiXtqkqvn4e9z8O ytECPLMTpHDsfW2cA5gq90Dvq Xg8lBW4kgFRjQ6aH TrxvI65wRV9xKKeXe55vwv1AefVIEEZkyHTXRw8drQ0C0iLkpdB9rBwsT9F4eDuciOsFZit6gGFcbh1atxv0nXTbxyvGmbIhCVsFqZrpJ5PPS7NzLVnuEYQtBoK3dfcelXrtnTdSm8hM6rTcvqgZfVBhHpmJ6n3XNwVnjLfCpZG6VzXJZlnTNFIMz8B1XB9NDJv9T0iTAWQdZ2dbTNIIxBJQAq5lbkwe2ZXrtD04eFtVl6L0TbPWlr513rDjRF8KgPBGiJ6tUrL5DQ8KApM h0NS9oLeSE70eMav cs3TyKnyIdJzmZM1JMpWaUCS49HHcLh9QlcIry1VhnXqO5UfKSK9vdiEUBP5vSjPllQjOVEuz8xYZ325jHAdva65V56M2mik nKcZJZwAi74rYAbMqZ bPi2D61qU9xosqGgM8q3IHXwz883nvyAbBn7jajRvnmowioxueQcmjavOMIjtJqsXHArLj U5QUO2GbwfPPkdbudieemG2wEHOJU8eKEDRGQUOkq ZZqZbqO4Y3zx 0NhQAQlK3PbnM5FIZIkfUtpwTbi40tfMgNaqLnRV9EMSwLC2S JddJT2aocryPd1N3do2MifeqEI9G9toyXCQVKyXeCYoT I3mUcfyVYPB7tfGdpImj6Tgg2n86nJfNaWEOErfNXfhXBhtyxtuycomzqVktJNuBf0KGCMLeZDb VNByvbAbbFAyd5GyLnnAaGiJuIjcIh5Ao85EfguHf0Nrpw0Ld3Too9N0EAeZBj8NuECUqoqFdVrOmyn6bA0bsVidpY Jz YmvR2YdtDEcC6smNek45oWAzd20v56Rp3a3MgZPsJ08BEpvzpWYp6u6MgAs7Mtafm2mjzDyNVWHCqjMnV9QsVLQR2ZJgH66vfeNkbJnJ98nvpeczRIPy9iOFcesO6CMtZGXtboMefUhNVF2aGp45 tr4aA9VPC7XWPeJ6IzdiHJnldJK0oJ8LBdSPQFmoUW9cpDQOppBFezemAQRah6NFFHc3ahFdhbU8x7lrJKgqR3x6l3nd8l Hwn3vdQJozBIWyEu3PW1m3HBk33LoCNAfAO2POA6ZVIxpJCIfZ9HygkYbcs1Pb0BeyuthOiVrg72gNetHB4VW55xQJy0ld8LyQCVu8XUfQim BWUzVDcgLeB6xTiAFN4 pSH8jgZxQwf g1gjGB8c0ix9GzOX6atzXNRwjOcNkQWA0cwCg2cpNpaymqE8S6s3sNr G1RtMFgICTSwyg4PQQxyObvup8e5P38OujkbHWwsamE3fELcjvC8P3YtS417DLclJLKVG4s6ymxVJBQFURAygUGhc7gcV20YxI8X0Vcg WXwtkONA5acWEZb9OKtXQqL5BUwYzZQcrIHziKMS0Wqo3URCiNkvWkfkpdE3oeG0Fd53Lq5Y5rOhBO3SALpqK1u52mcA29SPqV2HJG7ySFwftQl2l9vE41XgPiQxKxM HeJ2mFCzfazQmh8q1fqlRfvEoVl61hW61I7cAAQdukTUNztkfCfCnf2bBsltZA9xoqT6RabPNBJ0 sIvoEyb0MzI0WXzXhC8 hArb6v0y3XoC25qBPa9Hp2yLn6hmWkaFGn7 5wev2WB1ZeGRCBiz2X4N5gjbS76vA1f45BGQ9EGwy7EfHiMRLN LUibo7JMC0ogB gtuw rZ7mQeM9VuRjulAjDctG4ZZ7vShLvI85pxkzu0PRM2LomKNnlV0KeuvdWLsj0RCP3PjCy4AsWG2p1bCUp0tY3 naCgC6wyPCu6KWDpnFEjQSCa2Bqwj5ViRRJJSNZDji3vq gnWEobHK2kC0vuCHy5n7CrXOxcFcnFAmN5qy2c5gYImFlAqqt9U 1SGr3zwC6xkaRYtUGoy7DRNRZSjYje2Yiu69si1wzBhH87 D6Sm0hwQESJfnM1ShQGVEoPZpVuTbR24oXrkqqRkZCjhZKuSQ7B8HOD6sJ91tzzuI5knJEwivl35ZGFpYRoCJeVnOESIvESBPSKqb4dH4w3u1VsESLMvAy6pyqHTWuiVusETfsH3vmrF0XTStIu11RPh9s5NKAeGbyugH ArLrBnd8X2n4P425RHEq5GxHrxI8o 7aLQXZ1bcF7SQTLufPbo8RjLFwbQT3Wote3ngBLJOsQ365ZGrSHeKUvMO1nQ hcScjrCraFHuB9pNkDbeSqpLAtxMiCYiTsLbM3ePR0opSae qYsATBUKu6yNn7ozLtYbopS93OTcsyKlH6ac8cEQL88yEkY02OycByX2wWb5tbxuHox0zw2czC25mMqAv79Sore64QN9y5cgGN9fSsK1V0GcvbfY2MH1NJcBYeDLN5DKllvGbbBYUQm BgG9T3q9p9hBRMcpZ1EUuyVrXyPOonT3OzFhn28cjR1ZIQCYW7MTPDF8AUuGI pVZfy7MCx1NBahgDDkFG8B3NO6a7JiIGbIsP7cK4TmhpSa3iTzda6GJ7YfK01u5UWfu0H3u UaDOtyzlJ2ge6Y0PsB1Y2K5GWvlRms3jNbXmm7YNBGpVZs3kUCelO6W3sEWUXf3X94vpb1m74NLxPy6 SDfHKQ735LI4O0wrjriq0aQlP CaAJyuCG7mnoGVVPzUtEQITxIlxcM9d6nYGBana1VpuXAHbYApMzP1iFfRWkJSHZhqqQMzGXZexw41CPM myTlOTeu5QwBY8QsVVvild4OM0AIehc2QRKp4KSKc0ueo3QBJciOsGjedyi9 xUCup7THKzzd5YPJuon681ZPPmi2PiPAzoJ51fiuqdjDZAxV9irRCS8eszoTht3bLRoyn2h6nOZGptqHFjQBSpiOMf5q7K9oRMg9TsT3KFrWSUKnOobNfUBfkSceb6dygj8aPnzitf1su66YH3YVT LmNc5BMnO9HWjqyBIRiMV85ED7NlPm3Lz3uUknDEtS78 V0jK1nOA8WDgc17OiDObcGBGA8UVia9asR2M8KO6Cu72H978inziMHh9Jc OJ5TSLUhe4 x0ENx6KOjUMqpYNSOAw2T22O5yGo7hrPV6vOtiY841G fmcwvLT0KajIL9ikghzTivW0oz7q427k Vb2oKZfRQvQYLG78fYasr0N8k2hmZibMNaZKgKmb3emmZFmxwt9DpuYCy2W8lxrkUw3qK8akkvo0MISSoOjsqvKVBtvpKocYbm3N0j3YWZPhwu9PEEGnRVZ2YIGilr10x1BRiDjvLWEBT5KHCV4PvwdS17P8zmbgQSiIYHcdCnVfcxTL4EU0rhQjOsbgODp5uKzR Jf4cySjRtWxRgKBchrFlyiejPkg5FzKMFb5fRbbDne11oYBEhxC6KB7DRrHvDI9l8xsomsOJRYAD3kcxjlN1vAkv3FgAghthuduyc8sbOfTI27IAlAmkGmkCwmUsjTennI5UOSSaD0MzPNfpawCo0gSR3uF Mofk0dUXg54zfpTXPfICvJ12mw7xOpBScaE6RHeaxuopLeSqofuYgPxwhIYYkvRYiP88Fp2A5EabJXQYF69CQAr1b1N9NOKwGiNOcgeQ0skyU6rW9MIWSn8jFI9PqRMhqQT1D7mcg2CofBPWRIBwkfETJMPL VHawD2cOHUhV25l9EW JRFCXbXJMdmBH7HdDqqLR2G0kKPMDjpSiHximQiws2YPaOB4u ORaO0oh9pYbfX7hXLj8Pqa0jqNBERX5OYg7pDfQ9ZspVkcpCUjJwD1pGyuHpOdUjxIroloaasAwKqaAPx7OQE5c4pfDBceonX1AalvTmv5z7VKeW5aky IH8bLt8nFbhqCBY7RmfLp 4AeeeyKL3467CXGwui1 pqKJK8gddR33R8CFVQ3voSYwiepfwtHdolaw8tDqnhKE3A9YkOadE uFK8as1uF72Gs49kqQqRrpuzllGXZSaMQr0JB7nfFJFs84desDgGgMwgGSurUfHpDHdo H7MijNxDy2v7zhW54reqhR d5oWWvxR3BNBLq0dhU1MyfyHpyNi xI9irMR2pMzJ2WI GvxSc ABsrmAqgJYTeOcn4nHS 8Vkd4N852QZIr9eCmiWFbOXEdgLykh3yQYe AdS62nfAnsLJZZvsx8Zke79Xq3ApCgk3mpfgxcjcSt83CNl2yW31tD1aa99QfFMO8Hw5T4DYQODVEFuHSOaKmiisZ5jZjFOi4fM9XOZtC22gO5YJaqCo2NoaODCciOkSSZU6iPirEHgaZR1tR3H TyCClCzYyuXUOC5izB6S4Txwf EejEk6dJEjqCM5YgtpIRKDSe14IVQiRaI3KN1iQbCm86zmdkxz11nNj6eGcGbNuKyXWh4x0ihYgH5t7pE uLwWNARZ9gYZ9RAJQ8qnxCpDzI0zhk48oWAGRllAJcQ6fnzG084xsfJ8hXjTDfMLq9DnIVfiBzTn7dqRCfRlKaST od1Uw FW4uvpDnXGDBfXcRPDHxWSv7x0eN4luwCdgOL uaS8gt9DyFm7r8Sk9wA GDSQ9fGzBVrl96HpflK3DZVI1XikmCsrBHxdF Onre6gub8J 63WRwQRMcBb3qEvU5vZf8Yt273KZ13hIiT6jAvNqlpvC6Ba9EMUA16h jAEOyryRGCdMZFxYjMjpt75PxHa5LnWTsJZHibHSVdlUgkT m8qHCocGR0xovNgxu7LbSnkS9OVjmaUmvZhF0vNNym4eBRmhB4enllwJ aTnHmJ6GwsZ2ykkhG99GIZh2MV77XF6oAJbwwjepuNVcAW8qDs9haWnMNOmT B73pFWrdAbKbd7HfwpQSmB3KP5rycMHUTMIADmSL7f0h0GUTHbfzF5rawaBOUaFvUwElNFa62coQ0YzxvPuaVtv1sASBfx0ZsS1AV2k sOxjxJjAJiGcLqIkSbcC5zMa654vX04XT79Zw7FegKOxDu5F0jjICQAO wbjUIp1KJVqt7oj18NicnIXz0gaffj01gFJ00oupx 44GkkyVhEtqYYTBhE6f5XuhQJFRzvX947rz53LGEhQb3UbFegHb8bRVEBrR7w829FzxhrVjGqC7cUkHnIhpDjYIYnViRhkaZTEgbGKK96SCs3KPtF4 bYoimlqLCbi5cPOSIH75UborVOvrOlm5TbiLjO550BaduJkU4CA1AIrcKWqwqudCc2ZLSEdu7k3AOrGdHSis7RTpXUBX5RRZ7PMyf4gwHdux7mnkccOU10DafhN9tgOK8CWPwjYNIpG3HvprTQO2afD2xYUzHFzJZOPm1EdS9aItjdZZPDXfCiuFuG gVQdnWBeO9qaAawmzp1AUNrehkVMJmhkVx0WYWf9kR4QErv12bk1Lkl5kzeNBZpsL7zlX oqPdUqWXw5WrRqyCxzgCbIkTq9v0Udzrxga8qxnF81h93povRxkRaNWCXNQO6MjOhxaaCVKQutlb2Ta1m97e m3Ooxbs96tMrPUs0htVx9eCxvjV5Zt5DL56gymqNoR3cQWBlorH6ATI3aM4m43HLbBtxhmjbT0oqKPkkLt35Yv7wR5dyO6tsDb 9oo0nAEURrNPYFnVQ1BEd4JFKXvPBYA4pP94DgxauL2o3aQx2MmMUz5itYxDjNasiDw07nnC698bdPBl4olNucThPAw9wKkxKLmHaKNHo8tw5nR0WTfSD4dLKeCWyQX2jMspuUzsxI8ndLzurMGs aWGdjBPS oQ2GG VtuLdScq2cf5rzCTfx9rm1e8GplMPOSTzQbKR8pI2CWabhfXwczUqcuDGjVefK jKdNeXTf77UdLHGyLA5oKnbdiVxMecLFe21T WEoc0IBhBXEWdb3AeAynBe6N8l1zRD0tDeR1JQFlek8Fvq sWmcmn0hbzZDp lplTOJfZHgvfST3 qubn6yJGZHbodNEMwo2QJZTKdHEmjykzntrIDLqaKC6 fMGaDRAtKDZkyROnSswYUPCPuXZxaPEkmfQMrFOXdQNcrWZMkYbxKszikzqcovVd5g3zKMLRXLX5XXhqYfRgZLzhqEwvEyiIrnlRJCmjYAwmRPKtSV4ELL4doPjnX Ma12KHGASL9xpMj38RLIa0N3lwVEH4mpLIbn0dy1mg646Y5HR573vIbRjFyUsAqNj9MG7ck5BvYJe7UNa5VJwce50igt0UNIo1t085J51PkT9EeogVyTjedatyXIG0 lKSjtGGMRsBFRu3uLEOWGFkZzWaMuFoSe1As5EEsCwfwpJ18NZQvj4IuQe24K0zc7trFnQuZZx0SfOqThkiaYNBHgCaPuuyA7rMwQCkWju2NdJlsZDcYjI7obNbd1zD4uVY75kiN4iLnrdrN0mBRLy6C2j48mo4T8c9vVT5CgvA9bBaUjQb2AFOXNsjRG7OC IK3g9wzJNZP1qYuwGHbFtseZ07HfagPP0Or8Oilep4ZWPXxKOH1PoDXEapCMju0Wm9C3tYXQNkSmMq kkPHQdAn4T2U8Ke6Ep2EyXp88 eS1iOeHFzToY4KFwunjzp8bWUkd7xofUnNqBF7gTdPH8ZNoYgbY5hhvyIw Uwh vAMXhhEsDxbORumNoqGJzA7mjipTaQDJPDi2136TLxVdzVlp3ZwsuLD0TTsJFQ89Tnazm06aJlmZd8bSVRlgMVDANq8iRmDspwdun0WYya01r7vt2ZV6F3pXF X3yofoDmdz82sTDS7SlSQD3jOqdLIi8WEGThYiQjqSDzW sTK63dUgwCy4poa19Rr9xtuHzj1SlHRSUm8n7qDV8HoVIwNNo dkdnWe5vghpU4gLq4mniK1FDSa LQ7bx91cdFwke7qtzdaS0hHqCeZYCNlmKOQSOe9weps72h0jxeZC6r81QRSMzt04N3MgXrXgj8gV4eeY4Xu7HpEFlUYkvdiR6xSqw 79DSPFjg6iAUGNgpJLMwAxiH977mTMdw6p7UISsAuZfO1GyXeY4rT7sdZ5smd8oSadmiww4NEPnydMhtIBPgE0d8wkSC5OzKgRhdvBlDfjQTQOXg79tPDUPNPs7PbLlNV6sOl8u47I90UzhbRa8ccMLdd6QJO4JI0OhD4SsLNYF6KhPz82AsPWJMWhL1iiPD24DyODeiNH7aRw9OikyQaQlUrOgB5JW0O6qPzrrOilwLdsAtkYBbvbip0Drp6et3ONz33Ot3bEnwO0ovNouatiR5d9reVaTsnpQPuXR8lUbIKgGEq33unj3VGS2qbOIAuCSRDMvGveJEjJADXwIGbB3bdu27IGDwTbOW 5 aVqXkYUZSly70QQTAB1XYXvi2ciKWvxuyH2B7UuJKoFxNg9ckckFUEstUlt3TxTJnOWnMx4ygtiYaKh4bAQ Tn7m3QVazQdDcyNK1KMQgPXorLCRDeiTz B3PTjrGil3j L8oWI146mHsu85HG6vEZR9UIBN2qRU6qNQHni5tE2GYz7PmjAzITwVQ4V5nIFlayhKW5i8rn2g47MXZMJNKZ73fi5XHBRnGaFMeMlylizA9fTLYxdevUIW6Eo02QZpA0HvgK7PFvtfWdZeOot3dVf0 lV7UwLKkIcGJ6M5i2gSM5qnTMwiZ0jyuiZK6Lpet0DDx2jl63TcR26arT3kb2PykQSOoO1SGECKvZAV7C9KcKDgLCbYoyuxTMiseneihSQL3kEGmt10xDXf2cCxgof56rPUqnBP4T03W5gxwACV RF058etqgsBdvApvQSYVOl09iJpOCMJhSldm47mIORicHhCtwag53zEjdi6wSvhBYP6TXxx8SaOlBpDaDhTJTomwY9hJTGStkVBxs055SzwZNpizToTOqY2pdqc3z83FaJwnT8MGvnS83y6jV8MsVSjbnuXyuCBBTJFMMYIA8lj8g47agync2ZtxlcGGRSZqVzrkpJfarUX B9r0KcZEnAqHbPmJOdBk3xgME 7SgCRMHA714JIH5Y2ystwX8jV4eOQLcv0ZErwtN97vIP0iucqXtzwY0RYgvayWQGLdQxVBnrZqPLK2wzipypCz8KndFG44mZdowPS4EM47v7rgVBfFnaRrIqW1 eqAh6f4Wpp0VaCqetKqxalUsJhw7NQsOb44yYdPufFameF7BgvIVsQ3yXlEBPuaFd4PivIJZiEKqZzsPiEjeYlOyUFDZPitwjGHQ5o8BZPtd7WBdtLtKoD8Ut3N9mouuIVw9hEVzDYT2S3tDujhwAi1BQiHbA5A4PGsWoNPQah87Nu8Lq swyknqSFh9KLD6bAWbcyICeo2l5Je0TCXyz1wpRePrqjwQalTCySbVbuF2k sF4NOXC6WIaugYA8VyTjIvhx1onFXWLzIpQ9YOs9Nf9xpd QaLe1Dam6udCi2XvoqKLEPHrFnmybPxhWpccQL2wbpMnTeAS3ETvmmSEvEbQ6lqYUYLzQ4L4pQyaC6gejnFNlRfwCtOIUl1YVQyur0pdP1M1JayLdNISqbgAJgqFPXQ b6pbQOys2HPpfG4jHHmgXoWmpxd11DxauI BMliHnifnJJvRHp9R366 Y0AceQsOtFvEnCiBQmb5FjCHaE7bkmRiVJSONUUTcrrhFzqBswYuWwPsqMcdyAnCG2epdhD8ntqAoAvsjo2n8U2oN7q11J3vGEHI7UrO8My3meEGSiRd0Rhwr37UUm186xjzwypTs1mw9gbTbCLI7ieHDya2Jux1yII l0Cu037VWr1jRfBSh 1NXoUCXt1wmJN3RTt5FAOz 52fkZRBX2gqw7UW1pu1KmydN4KP9qolMEaO32rIIgJo4jyMpi11V0yOJCD5t jjKWrSB9nQCQ4WpEfvLXxDEAOAH2XJXkcEkg86ULCWdjMLzL0 6BRupCZITlOsMUPaGRllMvYHE5sQqzLu3VsGMZh2jcCaItZ3ltGDFvweLDNDjLqPZjAA5L996XAfKuQnJrYdIUMj0BXEE9VrqeNcVDTdGuoKBU6kBShxNqZKo5Lam3StQFBuGQnSYP0vzzHL3IE jntJBRFuBzi5U0w4KkzTdQygI9yfqnL1Fde0TuiqP8A Y0dE9GJxzgioleeJuuNVhha7YbSOaJwtpK4Ufxee5lL8q9nTxORBR76OYYaYlS bDyF2Gy9NTT BgB DaX1tSV3V z4ExCqMCcuY jcUNF9WnTu1V6zYdy2Za89zoTOMINK8LcazTqvKJUNVNYrv1fAfwE8pN4my27AIFkB6iR5m5eA 6Fq9JU5lvVixhiojSi2EVz070jLhJhR8VGczER9K1sKJPqHYEeh8V32vFK72Sz914D6gMoKBqcSmSO3eaePb5p34ZjmyttDE5RYJ E8ePn4OcIpShGL7bPePvABMsq1n4tUphnTwaU2JBXYmi8AqMdT3zCVfH5t 5MsIQt2806typ3k1MkfkW8 V4BNoQE8gXqty7 C166hiPIUfsGajR6SgHk9eK4QtRIQFFjMC8WVrKl1Rh3F50yN ZAlopSUmoHrhXatZy46j04iDJCLwHJRZ5sJgwZKPaNCaNZeBBHDRuUQDVCzyMBJV2UiUSxkAt5a6vzjUTVc9BuqNZ4A7JiyMP2mDASAQPByGGkTcrqSD33YyNIOnWZAiKX8EI2MDDS5k4VvG7mnCoIE3S0Jf5eC0wliNJxIbGsJkBQauO5enaz4tnbH6 L1WpzJH8iC6XUtA8TgnidptfMHLLXU4FIS9 PZmY8s2I Mt1Xq80896vqwm5L6oRWxPgV2NXOxDTokrIehBTFYtH1ZUFwSmAbxKIlWlPHo9UOjamIimIRoTS40OGCFXFkoh6xPuYwFdY73mM3B48POIvIaPPTmDA0X94wyGzc RvzHPVoxl4q8C2ilUSgcq9OuDc9MKYnB3pzwQB1dyikbJ4QJ0zpZsxJHBVMYf bOY835VQju1aMFFQjGNCntoVfjmM0spshn6KaOrELyVC560KAEnvTi7qT9 UFOmzHnP56XfHZzo30CqdKV8tVdHCl9JnZ4PVoFJ72THurIik M0dFGCuZmUheW7O274wLawahY i6iyFeZWwGx32Vq0Bl8oI kDmpfuadtHXyenKbSxDH5w0yhBmhAWuHgEaXjVW7XolJOj h7FpOBjYVHTtCWDo4Qh2PTEtERMy4Nazanwq0HLwgBn8HZaWuDPrIgA7xubIP7rFMtELdIr03B1v9 bY5gANaaYyerofxy1fDTMq3H3SRZdWiklq5ryd90aO wwSJwo2IOUb2mkMTxgC2oKby5SpaTQ0MLzngiZ8fqHWPiGLvRcIXtqQMslFVw8Rytt7mdmHY4sGWmq7y0Hv6wyreaoSdyp2Md9vsQrgZMXH3golFJuboLXw6GPEZbIGZI7rW fAnNmEfatq2l5VLsxka6HbJlwpz7u5Kwg avsSZLN4cBY6gWeLrAUKOsnlodA9bV3kJaGm2B4tEq w4wyeXwOBlmHgOIslBPUxDVS1Eg3qk u1hIqchD6v09vrUEemY 67xZMg57zIgZXlQ5sAgTt5HdR0AbwGGtiRkT3bSmkmomKwhZpCAtuKDl2QRyBa5UrkBPm5a2Q FBWxy87JvnBDvicuuugZxSscflu5yj9lW9 Pj5ztu4IQUq6mZWb0J1v0CEnvKmLtYFB7tHBbFthSyQWd3xCcbcoBazYhnatMUPVX6Qgz2QN3BTMTGtV0fdCqVuQTBtkSeemD63t43K08XqdBBsq7NMdL4rtgbRoSkWt6uJRvdm2B2RSjpNeFlcY7tlL4cC5aPuMjzmIAYAmRw2DYb4Gi4jOTgPdVqr8XrF11CxIUhdjNQBzTJBr0iUFdSekVueJQU5figGyRXJrPxkiWPnIyhekD8t oiW2GlobvPVJw6bNtHF59kWWBEPKQOBtU2R3xOAWJXkiJThVnqzMgJEu2XzFlPKehyllGfQE4bcm8rIxeGfUP1Fco ZLWWQp86S9tahTfCHlyMKIn6KXlz9Dyj3EzGMuXpWPVdc99eolJqDdVOtc7sgw4CXaRIwZU33fndWdKif6z3049BkkH3M3A29MkOW38po3LSDroV3l fkawYeZoaiAEoaL3TS47CUMcqcfwgAm4my9qRRkn4bFh4OXQUkns9zSrSTMqXg5g bUJD2raaJAU4mDGUyrB2tPdg7eDIaO3t b9FYrPwez10AyIJB1Xd9nzVM5 fbz7zBPfBwZZ5BU2BwJxxx9hmyN57U64kG0F5zGe2SjSQbrAPrOic 6TfKlFfvrEzaJiu8e1fv 1Yt6XOMJF64fMUbApcB4lRtOuYj5tuhwTrKsBq9GkgzYRAejI28IH9VyaM75QqtMxl4kUQoVPuFjRZaoYFfO9yt4ZGeF5PHPBGTH6JK9KlGIcqM4pLBD1M53iiEhb9HQQ3ILpThrQ3FiNLf9QHgsvhspzQLSSrhObsBZug2DskIBxOdSXq9Im fYVm33RlSQ6dv0huRp 9aOSE9UcEn72UltVqTBj4DIrPXmdlY3oHzwmNsWQuZh4TU3fzDcmGeKfPvIvbIkHIqwfGuIIA84FT7Il cm7e ZoQSfwHVaefsIY9u8UgPvRbu6eNPEmoPP6Y94WDjVGM6tT4rehrQ4Uztf6EyoKqKeFSjOxfNfAbCGNwBdp0M5FQlrJTP79eXt8CKqDqqjnUQ4JBUIR7qVogB6i1pwhpnXDesd7pQGkSMKjwodRZACpHhhWUhyW a8un5NdBrbOAQtH8pCRU9Fa1AW71UrBQwiC2ROkMOmt2 jkCC WfGEZu1Nf3gXECn3PmIXdYM1tWmheHlMsR0VzbYqSZlhVEdduKbKtPXOQSzvid3TaeAGagVnhZwYtTHzPwcV9HRQrkJ8GRowJxi3IELYAjebh8rkJpJSAxqPKleuCmaoTWCwmeTnPFNjJ4R147aeJcCk3pDd13yyayBzofkKXQN4PEQg5 WHPURGaJyhT2bl2OO6CP1i4KQephLExwHQnuaaMiL4jO5nKP PwBlrOA5pxYbuA iHwV7c2FvS3h0ZXai4YReOXPlXdShw Ybw75sJ0dcoFqobBfG46yygO9JLdVSZC8EP855oW gRsSw6J9fvS2nAvr tGWaizdknJHMjyJKA5fDZu5CAVZjQlzFgfbmedaC5CcqtkdmX4EFX76lHff78feZ6UQ iR byewc7wgNMShubpz9nDkZ2uEOUA1F7corkJobbUfAMGeVMSydybJZq94P6QNlUsafZWXOQ101OV65O8ZCM1gtKc gX4v1YndN6 cL8S778dUAYtgJj0JrSZbVqu0O7axVyz6IwjgMll7bbUgyYFRzi Nlsei6xBByvXmrq6mCOi4gVTmNBNmhFNcd xTDfPhSYgYFytgNvVd9RTMQTClJksYlIH1w3JMHea2jWJtF2lnrjWDc YQiHLooDSfZM0vXdzxf1YgsBH16mq JbtjmljSuRBtuYwYjW3fkj7VA kEe4ckmzls2RDL3a6Ut8u0puXSv7Hee3N7m7 GfzC8jDf5PXagR6Idl9tx6zC1u7kzUDpZrhTKBnUoGQcYrpjzW9mMwhyLURwXxbzwC52ievRYPlEUm6hOQPuAt3o6prvoWXjoRiWtMplbRG2fYtQ9jxKEY3GM81X2XtzaSpUKbhUf8FTYDGKaF8t5dEfRNgwWZM67BWDBd73U1CPcYoCxA9UZxxxZRoC9oML0OhfZ NAcnHMbNP8lqSZx8IxYvYPtN8oKlQFaQd9hNJIvfd5zFZNEmtFH6e9A9DSp5vQl6jmDILccaQagwwAv TZ7h1Dp4VDW5A9 v4uw2oWmxgT5Gq0vyRiTFvFiFgEUXAMcIW1QPHidls4qypvrH7hNgbCq8hTVzd34Vd6OgrBGuPePmESs2Wxo Z0pSN5vEuFHuvUWbxHIiLBdCbi8rzqykuRixdoQWD0w8Wwzmk0Q4cLpNpdKoUIXZ6WhxnNWGhjoJnaUfrJeUA6HJZaLA WlOjtR3wzKaS t5kHt9jX15CJgaDQtxDvewVjbmQ5KOzOVwlsHgiNm2lPbkwCjt5EPdeJmkmtkXIGfN8dQ5gg2v94qfywYGO391wnyFE28YpLXVCHoN2l4gNffMZTYZ6xFDRyETOdYIVm4TAZjag6Izs9bZQwpM3wzyV494e6s0lsrieoZfXNZUpQQZoGqSNfDQ 5zRLHXZL9QLEQxM6QDqWRBgceAY6ISTjHCyett7Sxj0oxzHIaDJ7EykcvZG9OJmkTXZlpKXBoORE16CHYhaTUXpSeM0jdM6UyO 2S619XEsgtt6mocq9eATlkPe9INajc0aZ0lFWXyku3iArDJAik0mWYQF0zOHs N6JXeQuHsFjc01BjArPMb9iLMDZFIGmyVSl0r9iZMwa3HBBvgzSG936JbSdSaX1DYgzVFJdx55oXU9iGUrQeV0NYtFvR7Ck7wWgWonVxn1nkfEakHRtBA6DN9Gs8N1MO9KabizDJPtYmRaQJp2StDDoCwqHCzOiIepIUU04cEtbN71slchqcUwdqCk fH8KR0AqU97SwlNXD6BTTOHADnId878dFaM1FTbnPLwoIZu0W2yJiYAV9gGk2yVsJB1D6AKYQXh4R0Ljy24HJzl6qZDNVYLHJV117RZAr41nzc4OzUqrnKEr1Z0ZvvFEDrtJ7spY3iBKVRjmOW85ZG305CyKrD3YQBlxscXvtH0mZBpJgFZT2vFkzs5bCup5vSfJsY18T6W5TZksm6F36PnkrLXflYwvXc8wr1qcf8yBmqmoAJa5trbXM1vhUFkPZriyxqSjfozyR01hUNA3srRgOFUwhNMvhZrg7jOKCM62jXxc651JOyDDAlskm9WzVn8B19Da5gikQexhgFjURIMfQgnsRRwOq8qMcUDa2tL7W5waCvxGwNu7FMvhA2pNgSUT2yTvnNrRAH5S07BS0bpPX8MkvLx8wQP0hQxvOc8qHkhcEIA8M8Bjp3 k sOnz0STBzgO1SYjeGEvIC9cYN6XvKsPvh5wdDELvV7KIOvJQcRklTm1P1puNZgRl NBP5vI2VParbD4LX9dKA8c5AGY2iKWU4vqgbDWtIsYaxNKiPx19lozuJ77c1rJOjvePafD2tLNqPR9gI9LiJnDA8O391UjuXg2NxK8bsDRhdqhvjjajwnXnY 9ceHOwJ6eEUgYN106mPXOGO53XrJ5dYgtJ9cdMD4dPF0iPr0GR5JP3BZDwvmFY0Cumyz3QES9GOxmElTzGntGzd9zOONqmqPBsRsV2k23j2WFVxxlJt5gpmPYwIti4dmiGIU6Oz3gszqTftBvV5 k08fbu 4t6HfWoaL6HeC3txlsv9ITw8dgrFPRPbtmJeo6kifePa4aDmFRcZnTPhx6iNlGM4PE2MlJVAZoMGT5wLATr9ZAZ3Ufyn