Äskettäin kyselin HTML5 mobiilipeleistä ja tulin siihen lopputulokseen vastauksien perusteella, että tapahtumankuuntelu HTML5:lla on aika hankalaa ja lisäksi korkeatasoisen grafiikan mahdollistava webGL olisi tuettu vain osassa selaimia.
Seuraava kysymys on siis, mikä on mielestänne paras mobiilipeleihin suunnattu "SDK", jos prioriteetin olisi seuraavat: (ei enää samat kuin HTML5 kysymyksessä)
1. Täytyy mahdollistaa korkeatasoisen 2d-grafiikan renderöinnin.
2. Täytyy tukea kosketusnäytöjä, joka mahdollistaisi hyvin sulavan ja hyvän pelattavuuden. "Multitouch" ja "doublemove" pitäisi löytyä, en tiedä miten ne käytännössä toimii, että onko tuollainen doublemove sitten vaan multitouch koordinaattien analysointia.
3. Lähdekoodin saisi "käännettyä" alustalle/alustoille, jotka on yleisesti käytössä. Jos ei saa monelle alustalle, niin olisi hyvä, jos olisi jokin jippo, miten pelin voisi helposti uudelleenkoodata muille alustoille.
4. SDK pitäisi olla halpa ellei ilmanen.
5. Ohjelmointikieli/kirjasto pitäisi olla melko korkean tason kieli. Eli että joskus sais jotain näkyvää myös näytölle, ettei tarttis kaikkea tehdä itse.
Tarkoitus ei ole koodata Clash of the Clansia, mutta alustalla pitäisi olla teoreettiset mahdollisuudet sen kaltaisiin peleihin. Kyseessä on toimintapeli, jonka hahmon ohjaaminen tapahtuu kahtasormea liikuttamalla.
Kokeilin Googlea, mutta en saanut mitään hyvää yleiskäsitystä koko mobiilipelihommasta. Tiedän(/Luulen) vain, että on olemassa iOS, Android ja Windows ja käsittääkseni niille on omia SDK:ita ja sen lisäksi C++:lla on "MARMALADE" ympäristö, joka vissiin mahdollistaisi käännön usealle alustalle. En kuitenkaan tiedän niiden sopivuudesta käyttätarkoitukseeni lainkaan.
Jos joku osaisi avata tätä asiaa, niin olisin kiitollinen.
EDIT:
Ilmeisesti Android ja iOS kattavat lähes koko mobiilimarketin, että jos niille löytyis SDK, niin se olis varmaan riittävä.
http://www.idc.com/getdoc.jsp?containerId=prUS23946013
Oletko Unityyn tutustunut? Lukaise esim. https://unity3d.com/unity/multiplatform/mobile
Joo Unityllä onnistuu. Itse oon sitä viimeaikoina kanssa opetellut.
Okei, hyvä tietää. Käytin joskus sitä Unityn ekaa versiota, mutta se oli silloin vielä pikkasen kankea ja mobiiliversiota ei luonnollisesti ollu saatavilla.
Näyttää siltä, että tuolla Unityllä on tosiaan tehty ihan huippupelejäkin puhelimeen, että varmaan toi Unity kyllä kannattaa. Unityn koko versio tais vaan olla aika kallis(?)
using UnityEngine; using System.Collections; public class TouchTest : MonoBehaviour { void Update () { Touch myTouch = Input.GetTouch(0); Touch[] myTouches = Input.touches; for(int i = 0; i < Input.touchCount; i++) { //Do something with the touches } } }
Ilmeisesti tällä voi saada kaikki touchit talteen. Tota kutsutaan varmaan sitten ihan FPS mukaan(?)
http://unity3d.com/learn/tutorials/modules/
Joo unityllä on tehty ihan huippu pelejä puhelimiin sekä pc;lle. Steamissa on myynnisstä unityllä tehtyjä pelejä myös. Muistaakseni unity on ilmainen mutta jos liikevaihtosi ylittää 100 tuhatta euroa niin joudut sitten ostamaan lisenssin siihen. joka on muutaman kympin kuussa. tai sitten voit ostaa sen kerralla joka oli jotain 5 tonnia mutta en tosiaan tarkistanut tätä vaan ihan ulkomuistista heitin.
Lisäys: Tällä hetkellä unitys asset storessa on muuten ale käynnissä jos tarviit jotain elementtejä mitä et jaksa / halua alkaa itse tekemään.
Ja oliks se vielä niin, että Unityllä voi laittaa pelit siihen kuntoon, että ne menee suoraan sisään Apple Storessa ja Androidin vastaavissa?
Joo pelin voi buildata suoraan mobiiliin. Androidille windows8 mobiili, tai iphone. En sitten tiedä mitenkä ne laitetaan aplle storeen tai vastaaviin en ole koskaan sitä tehnyt
Apple Storeen menee läpi jos menee läpi. Päättävät siellä päässä pelikohtaisesti, että haluavatko kyseistä peliä sinne.
Hinta alkaa olemaan hiukan suolainen 4500 eurossa jos haluaa PC:lle, Androidille ja iOS:ille Unityn Pro:n, joka on sinänsä varsin haluttava. Basic-lisenssitkin pitää muistaakseni ostaa Androidille ja iOSille erikseen. Hintaa niillä taisi olla 400 euroa kipale.
Ilmaisia vaihtoehtoja vastaavalla portattavuudella on esimerkiksi libGDX ja Googlen PlayN. Niissä ei kuitenkaan ole esimerkiksi minkäänlaista graafista skene-editoria eikä samaa määrää valmiita ominaisuuksia kuin Unityssä. Nämä, sekä Unity, vaativat jonkinlaisen ohjelmointikokemuksen, jotta niistä saa juuri mitään irti.
Eli onko se siis niin, että jos haluan kääntää pelin vaikka Androidille ja IOS:iin, niin en voi tehdä sitä ilmaisella versiolla, vaan pelkästä mahdollisuudesta kääntää joutuu ostamaan esim. tämän IOS pro:n?
Paulus M kirjoitti:
Eli onko se siis niin, että jos haluan kääntää pelin vaikka Androidille ja IOS:iin, niin en voi tehdä sitä ilmaisella versiolla, vaan pelkästä mahdollisuudesta kääntää joutuu ostamaan esim. tämän IOS pro:n?
Lisäksi iOS:lle käännettäessä (jotta saat sen iTunesiin), joudut liittymään Applen omaan kauppiasohjelmaan, joka taas maksoi n. satasen vuodessa. Googlella vastaava maksu taas on 25 dollaria, jota ei tarvitse maksaa kuin kerran.
Paulus M kirjoitti:
Eli onko se siis niin, että jos haluan kääntää pelin vaikka Androidille ja IOS:iin, niin en voi tehdä sitä ilmaisella versiolla, vaan pelkästä mahdollisuudesta kääntää joutuu ostamaan esim. tämän IOS pro:n?
Muistaakseni (nämä tiedot kyllä löytyvät suht helposti Unityn sivuiltakin ;) ) löytyy myös "iOS Basic" 400 euron hintaan, samoin Unity Pro PC:lle tuo mukanansa iOS- ja Android Basic -tuet. iOS Pro taisi maksaa jo sitten rahtusen enemmän, pyöriköhän jossain 1.5 tuhannen korvilla.
Voi todellakin tarkemmin tarkistaa heidän omilta sivuiltansa.
Cocos2d-x. Javascript (HTML5)-version saa pyörimään natiivisti C++:n päällä ja API on täysin yhteensopiva C++ ja JS-versioiden välillä.
Toisinsanoen suhteellisen pienillä koodimuutoksilla saat cocos2d-x:n pelittämään alustalla kuin alustalla, kirjoitit alkuperäisen version sitten Javascriptillä tai C++:lla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.