サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
www.otwo.jp
こんにちはWEBの佐野です。 久しぶりの投稿になりますが、今回はJavaScriptの非同期処理についての内容になります。 この記事では非同期処理で想定した結果にならなかったケースを仮定して、その解決策を実際にコードを見ながら説明したいと思います。 ここで紹介する方法を詳しく理解するのは説明も長くなりますので、今回は使い方のイメージを掴める程度で紹介します。 よろしければ実際にコードを動かしながら最後までお付き合いください。 非同期処理とは まず非同期処理ってどんなものかを簡単に説明します。 非同期処理は実行した処理の完了を待たずに次の処理を実行する動きの事です。 逆に同期処理は実行した処理の完了を待って次の処理を実行する動きとして説明していきます。 ここでは例として2つの変数を足し算するコードで説明したいと思います。 let int1 = 0; let int2 = 0; // int1
こんにちは、WEBの佐野です。 今回は、html5のCanvasを使ったお絵描とき出来るコンテンツを作成してみました。 実装機能は、線の太さ・色を変更・画像ダウンロードなどシンプルなものになっているので、ぜひこれを改良しながら面白いお絵描きコンテンツを作ってみてください! 完成形のサンプル まずは今回の完成品になります。 See the Pen WNexBQw by otwo (@otwo) on CodePen. 要点のいくつかを後述しますが、コピペ用のコードはこちら。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>お絵描き DEMO/title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">/script> <
こんにちは。 Webデザイナーの山本です。 今回はCSSアニメーションの種類や詳細、使い方の例などをご紹介します! CSSアニメーションとは? CSSアニメーションとは、CSSだけでアニメーションすることができる機能のことです。 animationとtransitionの2種類があります。 animationは再生回数を指定したり逆再生や遅延して再生など詳細な指定が可能ですが、transitionはhover(マウスオーバー)などのタイミングで1度だけの再生になります。 主な違いはこんな感じ。 ▼animation ・ループできる ・本格的なアニメーションの設定ができる ・再生後にプロパティの継続ができる ・自動再生ができる ▼transition ・ループできない ・hover等のきっかけが必要(自動再生できない) ・再生後にプロパティが元に戻る animation animationは
はじめまして! 開発一部プランナーの宮城です! 今回は、先日社内で行われた、ゲームプランナー基礎講座「仕様書の書き方」の内容とその様子をご紹介します! ※追記(2018/8/8) 「企画書を作る工程やポイント」の記事も追加しましたので、こちらもぜひご覧ください。 ゲームプランナー基礎講座とは? ゲームプランナー基礎講座とは、社内のまだ経験の浅い若手プランナーが集い、スキルアップを目指して、基礎的な知識や技術を身につけることを目的とした研修会です。 開催は不定期で、今回が2回目の開催となります。 実は何を隠そう、これを書いている宮城も、別の職種からプランナーに転向したばかりで、日々「もっとレベルアップしていきたい!」という想いを持っていたので、渡りに船とばかりに喜び勇んで参加してきました! ゲームプランナーとは? 勉強会の紹介に入る前にまず、「ゲームプランナーって、なんだろう?」という点から
どうも、開発2部サーバー担当の山本です。 皆さんDBの水平分散は行ってますか? 最近ではサービス開始時点から水平分散しているタイトルも割と多いのではないでしょうか。ユーザーやデータが増えるのはサービスが好調な証ではありますが、いざ対応しようと思うと大変ですよね。 今回はMySQLのストレージエンジンであるSpiderを使った水平分散(以下シャーディング)について紹介したいと思います。 Spiderとは Spiderは2009年にver1.0がリリースされた国産のMySQLストレージエンジンで、MySQL以外にもMariaDBとOracleに対応しています。 MySQLにはInnodbを代表にMyISAM、MEMORYなど様々な特徴を持ったストレージエンジンが用意されていますが、Spiderの特徴はストレージエンジンがシャーディングに対応していることです。 ここ最近は皆さんAWSのAuror
はじめまして、WEBプログラマーの佐野と申します。 少し前ですが、NTTソルマーレ株式会社様の海外向けゲームアプリ「Moe! Ninja Girls」の公式サイト制作をさせていただきました! ※サーバーが海外にあるため、読み込みに時間がかかります。 ※日本での配信はしておりません。 その中で、HTML5のCanvasを使って桜を降らせるアニメーションを作成しましたので、 完成までの手順をSTEPに分けて共有させていただきたいと思います。 こちらが今回作成したサンプルの完成形です。 【2017/02/13追記】 ブログの最後に、今回のサンプル使ってWEBチームで1つ作品を作ってみました。 サンプルと違い、かなり豪華なものになってますので、ぜひ最後まで見ていただければと思います。 Step1:画像を表示して上から下に動かす まずは画像の表示と画像を上から下に動かすところまでやってみました。 S
こんにちは。webデザイナーの山本です。 今回は素材感のあるwebサイトのボタンの作り方をご紹介します。 ツールはPhotoshop CS5を使用しています。 制作方法 それでは実際に作っていきましょう。 ステップ1:土台を作ろう ・円形シェイプツールで円を作る。(直径230pxくらい、カラー:#000) ・新規レイヤーを作成し、ブラシツールで適当に形を作る。(今回はペンキブラシを使いましたが、何ブラシでもよいですし、もはやこの過程はなくても大丈夫です) ・上記2つを「レイヤーの結合」する ・さっき結合したレイヤーにレイヤースタイルを付ける。 ■ドロップシャドウ ・描画モード:乗算(カラー:#000) ・不透明度:75 ・角度:120(包括光源を使用にチェック付) ・距離:0 ・スプレッド:49 ・サイズ:13 ■シャドウ(内側) ・描画モード:乗算(カラー:#000) ・不透明度:75
こんにちは。開発1部デザイナーHです。 今回は、ソーシャルゲームカードゲームイラスト業務の手順、イラスト自体のメイキングなどを画像を交えてご紹介いたします。 また巷で流行りの色収差のやり方も併せてご紹介。 ▼「金属の質感描写にこだわったダークファンタジーなイラストの描き方」はこちら イラスト業務の手順 こういったイラスト制作の依頼では、まずどういったキャラクター。シチュエーション、レアリティなどの仕様書が届きます。 それらの決まりに従って進行していくわけですが、今回は大体どこでも共有している項目の一部を紹介したいと思います。 大ラフ ラフ 清書 完成形 – 納品 各手順の合間に提出~チェックバックがあります。 発注元によって細かく分かれていたりそうでなかったりしますが、概ねこのような手順になります。 今回の記事では1枚ですが、大体3枚で1組のセット注文になっていることが多いです。 今回のイ
どうも、開発2部でサーバ担当してる山本です。 今回はスマホゲームを運営される方であれば誰もが悩んだことがあるであろう「チート対策」(不正対策)についての記事です。 チートを放っておけば、ゲーム内の価値観やバランスが崩壊し、「ユーザー離脱」や「売り上げ低下」に繋がりかねません。 一般的なチートの種類やその対策についての知識を身につけ、より良いサービスを目指しましょう! 当記事は特定サービスにおける対策に関したものではなく、一般的なチート対策についてまとめた内容となっています。 チート行為を助長する意図はありませんので具体的な内容やツールについてはふれず、概要のみを記載していますのでご了承くださいm(_ _)m 今回扱うチート対策は以下の通りです。 送信パケットの改ざん 受信パケットの改ざん メモリの改ざん ローカルデータの改ざん bot 送信パケットの改ざん クライアントからサーバーに向けて
こんにちわ。webデザイナーの池田です。 弊社ではオリジナルレーベル「peakvox」にてfacebookを運用しているのですが、 突然facebookの更新情報が取得できなくなり、すこしハマってしまったので共有させて頂きます。 同じ現象にお悩みの方の参考になればと思います。 今までの取得方法 まずは、今までどのように取得していたかというところですが、 弊社ではgoogleFeedApiを使ってfacebookが発信しているfeed情報を取得してタイムラインの更新をお知らせしておりました。 しかしある日突然エラーが・・・。 「400:Feed could not be loaded.」 要するにフィードが読み込めないよーと言っているようです。 それもそのはず、実はfacebookのfeed配信の機能が2015年6月23日をもって終了となっていました。 https://developers.
どうも、開発2部でサーバ担当してる山本です。 3回にわたってJMeter(ジェイメーター)の紹介をしてきましたが、今回が最終回となります。 前回はサーバーから送られたjsonをパースして後続処理で利用する方法を紹介しました。 今回はクライアントからサーバーにjsonデータをPOSTする方法を紹介します。 ▼全記事はこちら【JMeter講座③(全3回)】 【JMeter講座①(全3回)】カウンタ/Random Variable/CSV Data Set Config 【JMeter講座②(全3回)】正規表現抽出/BeanShell PostProcessor 【JMeter講座③(全3回)】BeanShell PreProcessor 予め決まったjsonをPOSTする場合は、 HTTPリクエストのメソッドを「POST」に設定し、Body Dataにjson文字列を設定します。 動的にjso
どうも、開発2部でサーバ担当してる山本です。 ご無沙汰していましたが、今回はJMeter(ジェイメーター)について書いてみました。 最近のサーバーサイドの開発ではネイティブアプリで利用するAPIの開発がメインで、 その場合はjson形式でアプリとやり取りすることが多いです。 弊社では負荷試験にJMeterを利用しておりますが、 JMeterはレスポンスがhtmlでなく、jsonになっても問題なく使えます。 負荷試験の定番ツールなので既に使っておられる方も多いのではないでしょうか。 このJMeterのいくつかの機能を想定される利用ケースを交えながら 3回に分けて紹介したいと思います。 ▼全記事はこちら【JMeter講座③(全3回)】 【JMeter講座①(全3回)】カウンタ/Random Variable/CSV Data Set Config 【JMeter講座②(全3回)】正規表現抽出/
どうも、開発2部でサーバ担当してる山本です。 サーバチームでは毎週勉強会を行っていて、 今回nginxでリバースプロキシとロードバランサを構築したのでその内容を紹介したいと思います。 オーツーでは研修用にクラウドサービスを契約しており、 今回はそのクラウド上に環境を構築しました。 リバースプロキシの構築では、リバースプロキシ1台とwebサーバ2台を用意し、 リバースプロキシにグローバルIPを設定し、 異なるドメインのリクエストをそれぞれのwebサーバに振り分けます。 実際の現場でも社内にある開発用のVMを公開する際に リバースプロキシを使って環境の切り分けを行っています。 webサーバの設定 yumでhttpdをインストールし、ワーニングを取り除いて起動します。 2台のwebサーバとも同じ手順で構築し、それぞれweb01,web02とします。 # yum install httpd # v
社内サーバーの状況は、zabbixである程度管理出来るようになったんですが、ちょっと不安になってきたのがバックアップです。 開発用サーバーも含めてmysqlが色々なところで立ち上がっているのですが、このバックアップを楽に出来ないものか、と。 要件的には、 mysqldumpを各サーバーで行う リモートでmysqldumpを行うのではなく、各サーバーでdumpし、出力ファイルを回収する形で。リモート接続を許可していないmysqlもあるので。 各サーバーでdumpしたsqlファイルをまとめて、圧縮して固めておく 圧縮したバックアップは数日間、履歴管理出来るようにする(10日間ぐらい) 対象となるサーバーのリストは簡単に更新出来るようにする 各サーバーにログインする必要がありそうなので、fabricの出番です。 問題は履歴管理。 logrotate等色々とやり方があると思うのですが、練習がてらj
こんちは。開発2部の吉岡です。 オーツー社内には様々なサーバーがあります。ファイルサーバーや、バックアップ用サーバー、Jenkins、Jenkinsのスレーブ、Redmineなど… サーバーが増えていくのは良いのですが、どのサーバーはどんな状況なのかさっぱり把握出来ていません。 そこでサーバー状況を一括で管理するために、Zabbixを導入してみました。 Zabbixについて Zabbixは死活監視+負荷監視なオールインワンな感じのサーバー管理ツールです。 Webブラウザ上で設定を行うことが出来、項目や画面が多く、かなり高機能な印象です。 インストールしてみた インストールはマニュアルを参考に行ったのですが、意外と簡単で躓くこともなかったです。 被監視サーバーにはzabbix-agentをインストールするのですが、とりあえず使うにはzabbix-serverのIPアドレスを設定するぐらいでし
開発2部の吉岡です。 前回の記事 rpmを使ったchef-soloのレシピを作成していく 前々回の記事 chef-soloで使うrpmの配信サーバーを立ててみる 今回はVagrantとchef-soloを組み合わせて開発環境を作っていきたいと思います。 git submoduleでクックブックを持ってくる 前回の記事では、作成したクックブックをgitにpushしておきました。 vagrantのディレクトリを「git init」しておき、クックブック(「site-cookbooks」ディレクトリ)をsubmoduleとして追加してやります。 (なので、「cookbooks」に入っているサードパーティ製のレシピは使わない前提です) vagrant initしたディレクトリで $ git submodule add レポジトリURL ./site-cookbooks とすると、site-cook
開発2部の吉岡です。 現在、開発環境をどんな感じで構築しようかと考え中ですが、各所で話題のchef-soloとVagrantを使って挑戦してみました。 なんだかんだで3回に分けて掲載していこうかと思います。 ひとまず、開発環境をとしては、下記のようなものが欲しいです。 各開発スタッフが手早く開発環境を使用できるようにする。思い立ったら即環境をゲット出来るようにしたいです。 ミドルウェアの変更など、開発環境の変化も各スタッフで共有出来るようにする。各スタッフがなるべく同じ環境を使用できるようにしたいです。 本番環境も考えた環境を使用したい。ミドルウェアのバージョン等、本番で使用するものと出来るだけ同じにしたいです。 プロジェクト終了後でも、環境を復旧できるようにする。納品後でも動作環境を保持しておいて、検証や問い合わせ対応等の作業を行いやすくしたいです。 chef-solo・Vagrant
以前開催していた社内LT大会時に『アジャイル』というものを知り、 まずは1人でホワイトボードを使ったタスク管理をしていたのですが、 なかなかわかりやすいなと思い、チーム内でもはじめてみました。 (アジャイルではカンバンというみたいです) また、新しいタスク関連の記事も更新しましたので、こちらもぜひご覧くださいませ! ざっくりとした使い方 ToDo→Doing→Name00(個々のタスク)→Check(確認中)→Done(修正がなければ完了) 優先度が高いものは上へ 付箋の色は制作作業・見積・MTGなどのカテゴリー分け 個々のタスクは当日分のみ(持ち越し時は朝会で見直す) メリット パッと見てわかりやすい 視覚的にわかりやすいです。 全体でどれだけのタスクがあるか・個々のタスクはどれくらいあるか 朝会との併用で1人1人のタスクも偏らないように調整していきます。 導入が簡単 Webツールのよう
11/23にamazon大阪支社で開催された関西ソーシャルゲーム勉強会に参加してきました。 第5回 関西ソーシャルゲーム勉強会 関西ソーシャルゲーム勉強会 Facebookページ 最近は社内での勉強会も活発になっているので、私を含め、2部からも何名か参加しました。 セッション内容 AWS・運営・デバッグと幅広いテーマでセッションがありました。 なかなか難しいものもありましたが、 技術的な話が多め?全体的にエンジニアの方の参加が多いなという印象でした。 ビンゴ!! 途中のビンゴゲームでは私は残念ながらビンゴにはなりませんでしたが、 他の社員はいくつか景品をゲットしていました。 (悔しいけど、次回こそ…!) 懇親会はビアバッシュ! 聞くのにいっぱいいっぱいでセッション中は写真を撮っていなかったのですが、 懇親会では何枚か写真を撮りましたので、一部をご紹介します! あー!!進撃Tシャツをゲットし
こんちは、吉岡です! 先日、開発2部で見積もりポーカーのWorkshopを行いました。 今回はそのレポートです。 やってみた経緯 DevLove関西さん主催で行われた「アジャイルな見積もりを語ってみませんか?」というワークショップがあったのですが、社内で一緒に参加する方を募集してみたところ、思わず多く方から反応がありました。 結局、業務的な理由等で私一人での参加になったのですが、このワークショップがかなり面白く、勉強になるものでした。 見積もりに対する認識の違いをまとめるプロセスや、意見交換などを楽しむことが出来たと思います。 この勉強会について社内で話してみたところ、面白そうなのでやってみようという声があり、元々の関心が高かったということもあって、開催してみた次第です。 やってみました! ワークショップは、上記のDevLove関西の勉強会で使用されていた橋詰様のスライドを元に行いました。
こんちは。開発2部の吉岡です。 オーツーではKVSとしてRedisを使ってます。 なぜかというと、 インストールと設定が簡単なので、開発環境を作りやすい。 柔軟なデータ型。ハッシュとソート済みセットにはお世話になってます。 master-slaveのレプリケーションを作って、冗長構成も取ることが出来る。 という感じでしょうか。 ちなみにphpredis使って接続しています。 ランキングとRedis ランキング機能はソーシャルゲームに付き物です。 なぜRedisでランキングで作成するのかというと、データベースでも実装を行うことは出来るのですが、順位付けの処理に非常に負荷がかかります。特に同点同位。これがクセモノです。 リアルタイムでこれを生成するのはかなり難しいかと思いますが、Redisのソート済みセット使えばこの処理は比較的楽に実装出来ます。 参考になるのは↓な記事でしょうか。 Redis
CONTACT ゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。 ゲーム開発に関する お問い合わせはこちら Webサイト制作に関する お問い合わせはこちら
開発2部の吉岡です。 PHPでソーシャルゲームを作っている会社は多いかと思うのですが、 オーツーでは、自分たちでフレームワークを作って開発を行っています。 既存のフレームワークを使わなかったのは、データベースやキャッシュ用のKVSを柔軟に使いたかったという理由と、単純に技術力の向上目的です。 高負荷なゲームもコイツを使っていますが、なかなか良い感じで使えています。 パフォーマンスに問題があっても、ブラックボックス化したコードがないので、原因の調査もしやすいです。 フレームワークの中身 このフレームワークの内容をざっくり分けると下のような感じです。 ActionHandler リクエストURLから、呼び出すActionクラス決定します。 Action リクエストに合った処理を行います。 具体的には、Logicの呼び出し、その返却値を元に出力する内容をまとめます。 また、Validationや
株式会社オーツーは 「 コンシューマ部門 」 「 モバイルゲーム部門 」 「 Web部門 」 の3つの事業部からなる企業です。
このページを最初にブックマークしてみませんか?
『株式会社オーツー | 家庭用ゲーム・モバイルゲーム・WEBサイトの制作 | 大阪』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く