
Show HN: Build an iPhone Game in your Browser - TheMakeA
https://www.makegameswith.us/build-an-ios-game-in-your-browser/
======
seivan
Looks cool, but it felt a bit short or am I missing something?

Sorry for being this person...

Your init selector should return 'instancetype' and not 'id' if it is an
instance of the class you're returning (which init should!)

Not much of a benefit here, but it's a good habit to get into.

The benefit comes once you do protocols for multiple classes that could return
an instance of the class.

@protocol SHReversing <NSObject>

-(instancetype)SH_reversedObject;

@end

@interface NSArray (SHReversing)

<SHReversing>

@end

@interface NSOrderedSet (SHReversing)

<SHReversing>

@end

~~~
DesaiAshu
This tutorial will eventually serve as the intro into our full tutorials
(which unfortunately still require you to download Xcode :), but it's going to
be really useful for us to reduce friction for devs getting started. Also this
was our submission for CSEdWeek's Hour of Code next week, we're pretty excited
to get more kids exposed to programming!

------
yesimahuman
Nice interface, very impressive obj-c dev platform, best of luck. I can't help
but wonder though if HTML5 would be more compelling, especially if the goal is
to teach. As it stands, I've waited 5 minutes just to build one test of my
app, but it would be instantaneous with html5.

I assume building a faster build service is on the roadmap though. Cool stuff!

~~~
DesaiAshu
Thanks! The tutorial was built as an intro into our full iOS game dev
tutorials (which unfortunately still require you to download xcode :). Our
goal is for our students to have a quality mobile game at the end of their
MGWU experience, we've found iOS is the best platform to start with (and using
Apportable we can easily port over to Android!). You can check out our past
games (mostly built by high school students) here:
[https://www.makegameswith.us/games/](https://www.makegameswith.us/games/)

------
eranation
Looks great, wish it worked, pressed run and got this: "It looks like you have
an error. Look for the red exclamation mark next to your code and fix the
error."

Looked for the red exclamation mark, didn't find one.

~~~
TheMakeA
Thanks! Yeah sorry, we're under a lot of load right now as you can imagine.
Keep trying!

------
yasyfm
This is really neat! Looking forward to seeing it expanded. The summer program
looks interesting too, glad this was introduced to me.

------
antoinec
Technically it's very cool, but I'd never use something like this to actually
learn how to code an iphone game.

I'm a developer, I've done some C but I've never wrote an iphone application
in Objective-C.

Seeing "Your game will be written in Objective-C, the language that is used to
write all native iPhone apps" I first assume that your target is people that
want to learn how to code an iphone game with no programming knowledge (I
think I can safely assume that every programmer knows that you are using
objective-c to develop native iphone applications).

From this point of view, there a lot of things that I find bothering: On the
first screen: "Go ahead and create a class-scope variable int screenHeight;
right above the line @implementation GameplayLayer but below the #import
lines. ". But why here ?? What is "#import" ?? And what "@implementation
GameplayLayer" does ?? Then you explain what "[CCDirector sharedDirector]" is
but not why I have to put a second level of '[' around this.

Later: "Notice the asterisk. We will cover later why you MUST declare anything
that isn't a primitive with an asterisk, for now just take our word for it".
Again...I want to learn how to code, but I'm told to write something without
asking too much questions about it...

Then finally I see a "Basic Syntax" section...is there anybody still around?

So after these few pages, I really don't understand who you want to get to use
your application:

\- Developer with basics knowledges of programming? I'm one but when I'm
trying to learn something and I see "Write this things, we'll cover it in the
chapter 35, section F", I don't really want to continue. I want to learn and
understand what I'm doing.

\- Developers with basics knowledges in Objective-C that want to specifically
learn how to make a game? Well, when you explain at the first page what
Objective-C is, your are going to lose them all.

\- Non-developers that want to learn? Do you really think that they can learn
by writing code and executing it without understanding anything ??? I don't.
It's too complicated to make them understand without basics knowledge? Then,
send them to a tutorial that covered the necessary basis and thell them to
come back after.

I also thought that the goal wasn't too learn to code anything but just to
"build an iPhone Game in your browser", but then why even bother myself to
write code? Could I just have a nice interface when I can drag & drop my ships
please?

So, I'd like to know what is the profile of a typical user that would do the
entire tutorial, and get some benefit from it: ie you give him xCode and he
gives you back a game (or even something that works).

Thanks

~~~
DesaiAshu
Hey antoinec, we built this tutorial to replace the intro project of our full
iOS game dev tutorials
([https://www.makegameswith.us/tutorials/learn/](https://www.makegameswith.us/tutorials/learn/)),
the idea is to reduce friction in the first step by allowing you to get
started without downloading Xcode. We target developers who have basic
knowledge of programming, more specifically ones who are interested in the
shortest path to ship a game to the app store and will get excited and
motivated by having built something tangible every step of the way (even if
they don't fully understand what they've done). We've had pretty good success
with these tutorials so far, with more than 20 original games built by high
school and college students who had no prior experience with iOS or
Objective-C, you can check some of them out here
([https://www.makegameswith.us/games/](https://www.makegameswith.us/games/)).
Though you're right, we could do more for students who would like to fully
understand the code they're writing. In the future we'd like to add tooltips
over the concepts that we don't fully explain to allow students like you to
learn more!

------
azamsharp1981
Not working for me! Crashes 100% of the time

~~~
TheMakeA
Thanks! What browser/OS combo are you using?

------
djrconcepts
Great concept, but terribly buggy for me at the moment. Will come back later
to try again.

~~~
TheMakeA
Yeah, we found some major bottlenecks and fixes are on the horizon. Thanks! :)

------
vignesh_vs_in
Was there any specific reason to choose iOs over android?

It would seem a android emulator is far easier to build but i may be wrong.

Edit: Cocos2d port Cocos2dx is also available for android.

~~~
icefox
Developers are more interested in learning iOS because it has a higher
monetary return?

~~~
vignesh_vs_in
Android is catching up really fast, though i agree to what u said. In my
opinion game developers should not limit their scope to one platform.

~~~
zachlatta
I'm a professional iOS game developer with a relatively popular game currently
in the App Store. However, I'm an Android user.

In terms of revenue, Android may be catching up, but iOS will remain
significantly more profitable for the forseeable future. Also, support for
Android is a nightmare.

