Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Build an iPhone Game in your Browser (makegameswith.us)
72 points by TheMakeA on Dec 4, 2013 | hide | past | favorite | 23 comments



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


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!


Yeah, there's some weird stylistic choices with it, but overall pretty cool. I'm compiling to see if some interesting things I've done actually work or not.


instancetype is implicit for init (and related methods): http://stackoverflow.com/a/14652187

The clang link seems to confirm that it doesn't even make a difference to throw @protocols into the mix, it only seems to consider the method name.


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!


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/


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.


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


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


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


Hey antoinec, we built this tutorial to replace the intro project of our full iOS game dev tutorials (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/). 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!


> 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).

I think the target is more likely to be people who don't have Macs (given that you can only use XCode with a Mac, not a windows PC or Chromebook).


Not working for me! Crashes 100% of the time


Thanks! What browser/OS combo are you using?


Same with me! Chrome 31.0.1650.63 on OSX 10.9


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


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


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.


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


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.


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.


The emulator is powered by App.io, they've done some pretty awesome stuff! We've also been using Apportable to port our Cocos2d games over to Android and it works like a charm!


Well that explains it. Thanks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: