CodeGym/Blog Java/Ngẫu nhiên/Lúc đầu, có...
John Squirrels
Mức độ
San Francisco

Lúc đầu, có...

Xuất bản trong nhóm
Ban đầu, có ... - 1 Thời gian thử việc ở công việc đầu tiên của tôi đã kết thúc cách đây 3 năm, nhưng đến bây giờ tôi mới có thời gian để viết một bài báo. Tôi đã dành một năm ở các khoa khác nhau tại trường đại học của mình: trong học kỳ đầu tiên, tôi học về quản lý và trong học kỳ thứ hai, tôi chuyển sang kỹ thuật phần mềm. Tôi hy vọng họ sẽ dạy tôi cách lập trình, nhưng tôi đã nhầm. Vì vậy, tôi đã thu thập tài liệu và quyết định tự học mọi thứ. Lý do duy nhất tôi biết ơn giáo viên của mình là ông ấy đã khuyên tôi nên bắt đầu với cuốn sách điện tử "Ngôn ngữ lập trình C" của Stephen Pratt. Nó thực sự là một cuốn sách hay với rất nhiều bài tập thực tế. Tôi đã dành khoảng 2 tháng cho cuốn sách, sau đó tôi tình cờ thấy khóa học Java trực tuyến này trong một nhóm của một người bạn và thế là nó bắt đầu. Lúc đầu, tôi dự định trở thành nhà phát triển Android, nhưng chương trình phụ trợ có vẻ thú vị hơn đối với tôi khi tôi tiến bộ trong quá trình học của mình. Nhân tiện, tôi đã mất 3 tháng học để đạt được Cấp độ 20, sau đó tôi quyết định cố gắng tìm việc làm. Thứ tự kinh doanh đầu tiên là chuyển đến một thành phố khácvì của tôi không có bất kỳ cơ hội nào cho nhà phát triển Java mới vào nghề. Tôi tìm được một công ty, ứng tuyển và nhận được một nhiệm vụ kiểm tra mà tôi có thời hạn một tuần để hoàn thành. Tôi phải viết một ứng dụng web đơn giản sử dụng Hibernate, Servlet/JSP và MySQL. Xem tất cả các thuật ngữ này, tôi chỉ biết rằng MySQL là một cơ sở dữ liệu. Lúc đầu, tôi rất thất vọng. Tôi thậm chí đã quyết định tìm kiếm cơ hội việc làm tại một số KFC, nhưng sau đó tôi quyết định thực hiện một nhiệm vụ thử nghiệm. Rốt cuộc, tôi luôn có thể kiếm được một công việc tại KFC. Tôi đã làm việc không ngừng nghỉ cả tuần và xoay sở để hoàn thành bài kiểm tra. Tôi đã gửi giải pháp của mình, nhưng nó "không đẹp", vì vậy tôi đã sửa lại 4 lần nữa. Giải pháp cuối cùng của tôi hóa ra là đúng, nhưng các vị trí đã được lấp đầy và các ứng dụng bổ sung sẽ không được chấp nhận trong 3 tháng. Bạn sẽ làm gì, phải không? Trong 3 tháng tới, Tôi đã học HTML, CSS, JS, SQL và PHP. Tại sao lại là PHP? Tôi cần một ngôn ngữ máy chủ có thể đáp ứng các yêu cầu, v.v. Vào thời điểm đó, servlet và jsp dường như quá phức tạp. Cuối cùng, tôi đã tạo ra một ứng dụng web chính thức với giao diện khủng khiếp. Tôi đã xuất bản mã trên GitHub cho danh mục đầu tư của mình. Đến lúc này, đã 3 tháng trôi qua và chính công ty đó đã liên lạc lại với tôi và mời tôi tham gia một cuộc phỏng vấn, giao cho tôi một nhiệm vụ đơn giản khác để kiểm tra kiến ​​​​thức về SQL của tôi và tôi đã cố gắng hoàn thành trong vài giờ. Người mà tôi đang trò chuyện về việc làm ám chỉ rằng họ sẽ hỏi về thuật toán và cấu trúc dữ liệu — những chủ đề mà tôi chưa có thời gian để nắm vững. Điều đó nói rằng, đã có 15 ngày trước cuộc phỏng vấn. Tôi hiểu rồi! Cuốn sách "Cấu trúc dữ liệu & thuật toán trong Java" của Robert Lafore đã giúp tôi. Tôi đã không' Tôi không có thời gian để đọc và hiểu tất cả trong hai tuần, nhưng tôi vẫn học được rất nhiều điều. Và rồi ngày phỏng vấn cũng đến. Tôi đến vào thời gian đã định. Hai người đàn ông chào tôi và cuộc phỏng vấn bắt đầu. Nói rằng tôi đã lo lắng sẽ là một cách nói hoang đường. Giọng tôi run run. Họ hỏi về mọi thứ trừ thuật toán và cấu trúc dữ liệu. Họ hỏi về Spring, DI, IoC, Hibernate, cách thức hoạt động của JVM, cách thức hoạt động của trình thu gom rác — tôi không thể trả lời một câu hỏi nào trong số những câu hỏi này. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Và rồi ngày phỏng vấn cũng đến. Tôi đến vào thời gian đã định. Hai người đàn ông chào tôi và cuộc phỏng vấn bắt đầu. Nói rằng tôi đã lo lắng sẽ là một cách nói hoang đường. Giọng tôi run run. Họ hỏi về mọi thứ trừ thuật toán và cấu trúc dữ liệu. Họ hỏi về Spring, DI, IoC, Hibernate, cách thức hoạt động của JVM, cách thức hoạt động của trình thu gom rác — tôi không thể trả lời một câu hỏi nào trong số những câu hỏi này. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Và rồi ngày phỏng vấn cũng đến. Tôi đến vào thời gian đã định. Hai người đàn ông chào tôi và cuộc phỏng vấn bắt đầu. Nói rằng tôi đã lo lắng sẽ là một cách nói hoang đường. Giọng tôi run run. Họ hỏi về mọi thứ trừ thuật toán và cấu trúc dữ liệu. Họ hỏi về Spring, DI, IoC, Hibernate, cách thức hoạt động của JVM, cách thức hoạt động của trình thu gom rác — tôi không thể trả lời một câu hỏi nào trong số này. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Nói rằng tôi đã lo lắng sẽ là một cách nói hoang đường. Giọng tôi run run. Họ hỏi về mọi thứ trừ thuật toán và cấu trúc dữ liệu. Họ hỏi về Spring, DI, IoC, Hibernate, cách thức hoạt động của JVM, cách thức hoạt động của trình thu gom rác — tôi không thể trả lời một câu hỏi nào trong số những câu hỏi này. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Nói rằng tôi đã lo lắng sẽ là một cách nói hoang đường. Giọng tôi run run. Họ hỏi về mọi thứ trừ thuật toán và cấu trúc dữ liệu. Họ hỏi về Spring, DI, IoC, Hibernate, cách thức hoạt động của JVM, cách thức hoạt động của trình thu gom rác — tôi không thể trả lời một câu hỏi nào trong số những câu hỏi này. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng. Tôi chỉ trả lời thành công các câu hỏi về Java Core (bộ sưu tập, ngoại lệ, OOP, v.v.). Khi còn ở buổi phỏng vấn, tôi biết rằng mình đã trượt nó, nhưng tôi vẫn thất vọng vì không nhận được bất kỳ phản hồi nào. Thay vào đó, tôi xác định những lỗ hổng trong kiến ​​thức của mình và bắt đầu làm việc siêng năng để khắc phục chúng.Tôi đã tìm được một công việc một tháng sau cuộc phỏng vấn thất bại của mình. Nhân tiện, tôi đã tìm thấy công việc đang mở trong các cuộc thảo luận trên CodeGym ( CodeGym là phiên bản tiếng Nga của CodeGym — ghi chú của biên tập viên). Đầu tiên là cuộc phỏng vấn qua Skype với nhà tuyển dụng (kéo dài khoảng 2 giờ). Họ hỏi về Java Core, bộ sưu tập rác (bây giờ tôi đã biết nó hoạt động như thế nào), cơ sở dữ liệu và cấu trúc dữ liệu. Người phỏng vấn yêu cầu tôi chia sẻ màn hình của mình và viết một máy tính. Tôi gần như phát khóc vì sung sướng, vì tôi đã viết được một máy tính chỉ một tuần trước đó. Tự tin vào bản thân, tôi bắt tay vào công việc. Nhưng không biết vì quá phấn khích hay vì một lý do nào khác mà tôi đã quên mất một phần của thuật toán. Màn hình của tôi đã được chia sẻ. Tôi sợ tham khảo ý kiến ​​​​của Google. May mắn thay, tôi đã có điện thoại di động, nó đã cứu tôi. Ngày hôm sau, họ gọi phỏng vấn trực tiếp và vài ngày sau tôi nhận được lời mời làm việc.. Đó không phải là một vị trí chính thức. Vai trò của tôi là một người học việc cho một chủ sở hữu duy nhất. Chúng tôi đã viết một dịch vụ tổ chức sự kiện, bán vé, v.v. Tôi nhớ ngày đầu tiên đi làm. Sếp của tôi mất 15 phút để giải thích những việc cần làm. "Mọi thứ đã rõ chưa?" anh ấy hỏi. "Hmm, không hẳn. Cậu xem lại một lần nữa được không?" Tôi hỏi với sự quan tâm lớn. Ông chủ giải thích mọi thứ một lần nữa. "Hiện tại rõ ràng?" "Ừ, bây giờ thì có." Thật ra tôi chẳng hiểu gì cả. Nhưng tôi sợ phải yêu cầu một lời giải thích khác. Tôi nghĩ rằng bất cứ ai làm việc có thể hiểu điều đó. Nhiệm vụ chuyển từ Thymeleaf sang AngularJS. May mắn thay, tôi đã tìm thấy một đoạn mã đã hoàn thành và sử dụng nó làm ví dụ về những việc cần làm. Tôi không hiểu nó hoạt động như thế nào, nhưng tôi đã hoàn thành nhiệm vụ. Sau đó, tôi được giao các nhiệm vụ liên quan trực tiếp đến phần phụ trợ. Chỉ sau khi trải nghiệm thực tế với Spring, tôi mới bắt đầu hiểu những gì tôi đọc được trong "Spring for Professionals". Tôi đã làm việc ở đó trong 8 tháng và sau đó chuyển đến một thành phố khác, nơi tôi nhanh chóng tìm được một công việc chính thức, làm việc trong 2 năm và thay đổi chức danh từ "cấp dưới" thành "cấp trung". Sau đó, tôi phải đối mặt với thực tế rằng công việc của tôi đã trở thành thói quen và không mang lại cho tôi niềm vui nào. Vì vậy, tôi đã nghỉ ngơi. Để các ngón tay không bị teo trong thời gian nghỉ ngơi, tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. Chỉ sau khi trải nghiệm thực tế với Spring, tôi mới bắt đầu hiểu những gì tôi đọc được trong "Spring for Professionals". Tôi đã làm việc ở đó trong 8 tháng và sau đó chuyển đến một thành phố khác, nơi tôi nhanh chóng tìm được một công việc chính thức, làm việc trong 2 năm và thay đổi chức danh từ "cấp dưới" thành "cấp trung". Sau đó, tôi phải đối mặt với thực tế rằng công việc của tôi đã trở thành thói quen và không mang lại cho tôi niềm vui nào. Vì vậy, tôi đã nghỉ ngơi. Để các ngón tay không bị teo trong thời gian nghỉ ngơi, tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. Chỉ sau khi trải nghiệm thực tế với Spring, tôi mới bắt đầu hiểu những gì tôi đọc được trong "Spring for Professionals". Tôi đã làm việc ở đó trong 8 tháng và sau đó chuyển đến một thành phố khác, nơi tôi nhanh chóng tìm được một công việc chính thức, làm việc trong 2 năm và thay đổi chức danh từ "cấp dưới" thành "cấp trung". Sau đó, tôi phải đối mặt với thực tế rằng công việc của tôi đã trở thành thói quen và không mang lại cho tôi niềm vui nào. Vì vậy, tôi đã nghỉ ngơi. Để các ngón tay không bị teo trong thời gian nghỉ ngơi, tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. nơi tôi nhanh chóng tìm được một công việc chính thức, làm việc trong 2 năm và thay đổi chức danh từ "cấp dưới" thành "cấp trung". Sau đó, tôi phải đối mặt với thực tế rằng công việc của tôi đã trở thành thói quen và không mang lại cho tôi niềm vui nào. Vì vậy, tôi đã nghỉ ngơi. Để các ngón tay không bị teo trong thời gian nghỉ ngơi, tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. nơi tôi nhanh chóng tìm được một công việc chính thức, làm việc trong 2 năm và thay đổi chức danh từ "cấp dưới" thành "cấp trung". Sau đó, tôi phải đối mặt với thực tế rằng công việc của tôi đã trở thành thói quen và không mang lại cho tôi niềm vui nào. Vì vậy, tôi đã nghỉ ngơi. Để các ngón tay không bị teo trong thời gian nghỉ ngơi, tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. Tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ. Tôi quyết định thử sức mình trong một lĩnh vực khác: phát triển trò chơi. Cụ thể hơn là phát triển game di động, chọn Android, vì tôi đã biết Java. Và đó là những gì tôi sẽ nói chi tiết bây giờ.Đội của tôi. Trong một thời gian ngắn, tôi đã tập hợp một nhóm nhỏ gồm 4 người (bao gồm cả tôi): 2 nhà phát triển, 1 nhà thiết kế trò chơi và 1 kỹ sư âm thanh. Bởi vì không ai trong nhóm có bất kỳ kinh nghiệm nào trong việc phát triển trò chơi và vì thời gian nghỉ phép của tôi có hạn nên chúng tôi quyết định thực hiện một dự án đơn giản mà chúng tôi chắc chắn sẽ có thể hoàn thành. Và vì vậy chúng tôi đã làm! Ban đầu, hạn chót là ngày 15 tháng 11, nhưng như bạn đã biết, hoàn thành một dự án đúng tiến độ là sai. Vì vậy, chúng tôi đã hoàn thành nó muộn hai tuần. Nhóm công nghệ của chúng tôi bao gồm Java 8 và libGDX.

Phát triển

Quá trình phát triển bắt đầu vào ngày 17 tháng 10. Tổng cộng, chúng tôi đã dành 45 ngày trong đó:
  1. Chúng tôi đã học cách sử dụng libGDX.
  2. Chúng tôi đã viết mã.
  3. Chúng tôi đã tạo ra đồ họa.
  4. Chúng tôi đã tạo ra âm nhạc.
Bất cứ ai đã xem trò chơi có thể hỏi, "Tại sao nó lại mất nhiều thời gian như vậy? Trò chơi quá đơn giản." Vâng, đó là sự thật, và nói một cách chính xác, phần phát triển (viết mã) mất khoảng một tuần rưỡi. Thời gian còn lại được chia cho:
  1. Nắm vững cách sử dụng game engine.
  2. Vẽ và vẽ lại tác phẩm nghệ thuật.
  3. Viết nhạc.
  4. Tìm kiếm âm thanh trên https://freesound.org .
  5. Đọc hàng đống bài báo về cách quảng bá trò chơi.
Chúng tôi cũng có những khoảnh khắc "thời gian chết" vì nhiều lý do: ai đó có bài kiểm tra, người khác có bài kiểm tra bù, v.v. Chúng tôi chắc chắn có thể quy một tuần rưỡi hoặc hơn cho thời gian ngừng hoạt động. Một số thời gian cũng được dành cho "tranh luận": những ý tưởng mới về những gì cần thêm vào trò chơi xuất hiện gần như hàng ngày, vì vậy chúng tôi đã tranh luận: "cái đó thừa", "cái đó không phù hợp", v.v. ví dụ: thêm những con gián đang chạy có thể bị nghiền nát để có thêm điểm: theo tôi, một trong những điều khó khăn nhất là quyết định trước điều gì sẽ xảy ra trong trò chơi và bám sát kế hoạch mà không cố thêm "chỉ một con nữa " tính năng. Đó là cách 45 ngày này tích lũy. Một nguyên mẫu của trò chơi đã sẵn sàng sau một tuần rưỡi. Trong thời kỳ này, chúng tôi thực sự không có bất kỳ đồ họa nào, Ban đầu, có ... - 2Trò chơi rất đơn giản theo nghĩa kỹ thuật. Chúng tôi thậm chí không cần sử dụng box2d (một công cụ vật lý). Chúng ta có thể xử lý các va chạm và tự mình tính toán cạnh huyền. Những điểm thú vị nhất tôi sẽ nhấn mạnh là:
  1. Ban đầu, tất cả các yếu tố trò chơi được tạo ngẫu nhiên. Nói cách khác, chúng tôi đặt các nhà cung cấp (lỗ đen, kéo, ngôi sao ninja, đầu bút chì, trái tim) vào một mảng, nhận một nhà cung cấp ngẫu nhiên, nhận một phần tử có tọa độ ngẫu nhiên. Rõ ràng là cách tiếp cận này "thực sự không tốt". Bạn bè tham gia thử nghiệm cũng nói với chúng tôi điều tương tự, khuyến nghị sử dụng các mẫu. Đối với những người tham gia phát triển trò chơi, đây có lẽ là một giải pháp rõ ràng. Nhưng bởi vì chúng tôi là những người mới trong lĩnh vực này, nên đó là lời khuyên rất thiết thực cho chúng tôi.

    Vì vậy, chúng tôi đã tạo ra một số mẫu: thung lũng kéo; đầu bút chì — thật thú vị khi thu thập chúng siêu nhanh (vút, vút, vút bằng ngón tay của bạn); và một mẫu nữa mà tôi không biết gọi là gì — tôi sẽ chỉ cho bạn biết chúng tôi đã đặt tên lớp như thế nào trong mã của mình: StraightForwardPattern.

    Ban đầu, có ... - 3

    Những mẫu này đã cải thiện nó, nhưng bằng cách nào đó nó trở nên quá dễ đoán. Đó là lý do tại sao chúng tôi đã thêm một thứ nữa: một mẫu ngẫu nhiên. Nói cách khác, chúng tôi hiện có một số mẫu "tĩnh" và một mẫu ngẫu nhiên (chèn meme "cân bằng hoàn hảo" tại đây).

  2. Đây là vấn đề chính mà chúng tôi gặp phải. LibGDX gọi phương thức kết xuất (float delta) trong một vòng lặp vô hạn. Đây là nơi tất cả các phần tử được vẽ. Đường bút chì được vẽ như sau: chúng tôi lấy tọa độ ngón tay và vẽ kết cấu ở đó. Vì vậy, nếu chúng ta di chuyển ngón tay trên màn hình rất nhanh, thì dòng đó sẽ có "khoảng trống" do mili giây giữa các lần gọi phương thức render(delta).

    Giải pháp khá đơn giản: chúng tôi ghi nhớ tọa độ cuối cùng nơi họa tiết được vẽ, lấy tọa độ tiếp theo và nếu khoảng cách giữa chúng lớn hơn X và ngón tay chưa được thả ra, thì chúng tôi sẽ lấp đầy khoảng trống. Lúc đầu, chúng tôi nghĩ rằng tùy chọn này có thể không hoạt động — các đường sẽ có góc cạnh. Nhưng nỗi sợ hãi của chúng tôi là vô căn cứ, mọi thứ vẫn hoạt động bình thường.

Giới thiệu về trò chơi

Trò chơi không được khẳng định là độc nhất, nhưng nó khá hay và có thể thu hút người dùng. Bạn điều khiển một cây bút chì, vẽ trên giấy theo đúng nghĩa đen và né tránh các chướng ngại vật — cái kéo, ngôi sao ninja và lỗ đen. Trong khi đó, chiếc bút chì của bạn sắp hết và bạn cần nhặt những chiếc bút chì nhỏ. Nếu cây bút chì của bạn sắp hết trước khi bạn nhặt một cây bút chì nhỏ, bạn có thể nhặt một mảnh gương. Trong vài giây, thay vì sử dụng đầu bút chì, nó sẽ được khôi phục, tuy nhiên, đồng thời, các điều khiển được phản chiếu — nếu ngón tay của bạn di chuyển sang trái, thì bút chì sẽ di chuyển sang phải. Bạn cũng có thể nhặt một trái tim cho phép bạn va phải chướng ngại vật một lần và sống sót. Bạn di chuyển bút chì mà không nhấc ngón tay càng lâu thì combo của bạn càng cao, đồng nghĩa với việc bạn sẽ tích lũy điểm nhanh hơn. Ban đầu, có ... - 4Tốc độ của trò chơi cũng tăng dần. Điều duy nhất còn thiếu là những con chim giận dữ. Ban đầu, chúng tôi dự định đặt tên trò chơi là Karan Dash (phiên âm từ tiếng Nga của từ bút chì là karandash — ha! hiểu chưa?), nhưng sau đó chúng tôi đã đổi ý và quyết định chọn Pencil Dash. Chúng tôi đã làm điều này bởi vì cách chơi chữ duyên dáng này sẽ chỉ được hiểu bởi khán giả nói tiếng Nga. Chúng tôi đã phát hành trò chơi vài ngày trước và hiện đang quảng bá nó. Ở đây cũng vậy, không ai trong nhóm có bất kỳ kinh nghiệm nào. Chúng tôi đã có được tất cả kiến ​​thức về quảng cáo trò chơi từ các bài báo khác nhau. Chúng tôi đã công bố miễn phí thông tin về trò chơi trên các trang web/diễn đàn khác nhau. Các kênh trả phí của chúng tôi bao gồm quảng cáo trên 4pd, quảng cáo với một blogger, một số bài đăng trong các nhóm công khai trên VKontakte và quảng cáo AdMob. Nhân tiện, bài đăng này cũng là một phần trong chương trình khuyến mãi của chúng tôi, vì vậy với sự cho phép của ban quản trị trang web, tôi sẽ bao gồm một liên kết đến trò chơi tại đây. Bạn có thể tìm thấy trò chơi trên Google Play tại đây . Tôi sẽ rất biết ơn nếu bạn cài đặt nó (có thể bạn sẽ thích nó!), và nếu bạn để lại xếp hạng, tôi hứa sẽ đặt tên một đứa trẻ theo tên bạn! :) Ban đầu, có ... - 6
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào