Group Group Group Group Group Group Group Group Group

Open Call for Video Tutorial Suggestions!


#1

We are always looking for good ideas for what you guys would like to see in future video tutorial series on raywenderlich.com. If you have any suggestions, please post them here - we check this regularly! :]


#2

#3

Idea from @yourbrahelijah on an Instruments video tutorial series: Does Anyone Else think a Video Tutorial Series On Instruments Would Be a Good Idea?


#4

I would love to see a series on OS X development. In particular, I would like to see a complete series on NSTableView. Included with this would be simple tableviews like in your written tutorial post advancing to binding with NSArrayController, NSPredicates, NSSortDescriptor and finally including custom cells.


#5

Hi,
I was wondering if we could get a few more SceneKit Written and Video tutorials. I’m not sure if the current scenekit tutorial you have is up-to-date with the latest version of swift.
-James


#6

I have two suggestions that I’d love to see in video (or written ones):

  • Dynamic interfaces: Some interfaces that can easily be designed in IB (for most part), but have some nice dynamic elements, like the weather app where scrolling changes the layout, or Youtube app where a diagonal swipe folds the UI into a corner video player.

  • Sprite/SceneKit with dynamic sizes screens: Most of the current tutorials relay heavily on code to set up the frames and the levels and GUI elements. How about the visual editor to tilemap the levels, the actions’ editor from last year.
    Some hints to set up a different UI depending the screen (iPad being bigger, the layout should be different, and maybe more room for the game, as opposed to just some scaled-up version).
    An example for good videos would be the lecture 503 from WWDC 2013 (a bit outdated tools wise), or the Demobots from last year.
    Also, if a new Sprite/SceneKit tutorial is made, I’d really love to see a small part dedicated to effects with some examples (falling leaves, wind, sandstorm, etc) and/or shaders.

Thanks,
Ein


Does Anyone Else think a Video Tutorial Series On Instruments Would Be a Good Idea?
#7

Here is my suggestion as a subscriber (Subscriber Only)

  • 3D Touch Tutorial with App Shortcut

  • NSAsynchronousFetchRequest with Coredata and all the NewFetures Like Batch Update and insert

  • I will Update more Soon :grinning:


#8

I like more iPad and iPad pro (video) tutorials. Until now a neglected area in your series


#9

I’ll second the 3D Touch suggestion, especially since Apple was begging us awhile back.


#10

hello everyone, i’ve got a suggestion :

  • Apply effect like blur in spriteKit on a SKSpriteNode or other

#11

Definitely would like an updated board game tutorial (in Swift!). Specifically something that includes SpriteKit, SceneKit, and any other kits that are needed to produce a board game for multiple players on one device and/or across devices potentially even including a computer player!


#12

HI,
Would love some Swift Server side Perfect tutorials.
Thanks


#13

I really like the idea of dynamic sizing… it has been difficult for me to find, for example, how to just put a snow emitter background on a view that sizes dynamically… i’m sure it’s simple, but I’d like to see the pattern for it.


#14

Hi,
Yeah, strategies can be difficult from a programmer perspective, unless you have a full freedom on the design part, better ask the designer’s vision.

For a dynamically resizing SKEmitterNode, many strategies here, but the best is to subclass it and update it somewhere where the view changes (frame, size, etc).
I made a small example (not well optimised, just extracted some patterns from a game I made): Github Link


#15

oh cool. I’ll have a look!

so basically, over those last few days, I’d learned a way to do it for snow falling, which basically looked like this:

    let emitter = SKEmitterNode(fileNamed: "snow")!
    emitter.position = CGPointMake(view.center.x, view.bounds.height + 20)
    emitter.particlePositionRange = CGVector(dx: view.bounds.width, dy: 10)
    
    addChild(emitter)
    
    emitter.advanceSimulationTime(15) //when first shown, it's as if it were going 15 seconds.

so basically, I have to set the lifetime of the particles so that they keep falling until they reach the end of the rectangle they should be in… that’s kind of problematic to adjust for any kind of emitters that don’t necessarily have moving particles…

it definitely would be cool to be able to just have a function or subclass figure out what is necessary considering things like the speed or whatever…

then as i kept experimenting, I got to see a star field emitter which looks like this one:

    backgroundColor = UIColor.blackColor()
    
    starfield = SKEmitterNode(fileNamed: "Starfield")
    starfield.position = CGPointMake(view.bounds.width + 10, view.center.y)
    starfield.particlePositionRange = CGVector(dx: 0, dy: view.bounds.height)
    starfield.advanceSimulationTime(15)
    addChild(starfield)
    starfield.zPosition = -1

basically in the emitter, the stars fall from right to left. it comes from project 23 at http://hackingwithswift.com

I was wondering when I first saw this emitter, how i could “change its speed” as the ship moved around, but it seems that just makes a mess, because the particles all come from one side and i’m not sure if there’s a way to “change the time flow” of an emitter so that it goes forward, backwards, stops, etc… but that would be cool, would it not?

not quite related, but just curious… is there a way to have multiple physics worlds in a scene for different objects? so for example, the player can be gravitationally attracted to a finger gesture, while all the other objects are obeying normal gravity? (or do i just use a field node and categories? hm)


#16

I’d love to be able to play the videos at 1.2x, 1.5x, etc.


#17

Nice to see you got a solution to your problem.
Have a look at what I’ve made for you, if you use it, it’s possible to have the subclass take care of itself, especially managing real-time rotations and size scale.

For advanceSimulationTime, basically you want it to be equal to your lifetime duration, that’s why I used the same variable for it (I hate magical numbers, so it’s better to have them set somewhere easy to manage).

If you use the enum, it’s possible to load many different particles, and have different parameters for each.

I haven’t tried to have multiple physical words before, just setting different physical properties to different nodes … So I guess using a field node can work, but also a state machine with many bitmasks or using GKBehavior … Honestly, endless possibilities and I’m unsure which is the best practice, maybe we get some complex game tutorial :wink: .

For the particles speed and so, it’s pretty much possible to do that. The easiest way is to have a reference of your frame (aka the distance particles should cross), then do any logical work by using the particles size, speed or time to get the correct parameters.
The code I shared is already in the perfect place for that (didChangeSize:), but you can use other parameters (in a Gundam game, I used player’s touches to increase particles’ birthrate, speed, angle and color blending options, to give impression of an engine thrust, as well as adding a smoke effect … Upon releasing the button, setting everything back to normal state without using advanceSimulationTime().

Hope this helps.

Side note: Maybe continuing the discussion on a separate thread would be better, to not hijack this thread’s main purpose.


Scaleable particle emitters and stuff
#18

More Metal physics tutorials!

I’d especially like to see more advanced physical effects such as fluid dynamics, bobbing and floating objects in liquids, oceans, water bobbing about, flowing through things… spraying… soft objects colliding and deforming, objects exploding realistically and also being torn apart. that kind of advanced stuff.


#19

@rwenderlich Intermediate iOS Animations


#20

preventing tap fraud webinar

I’d love to see a tutotial that distills what is talked about in this webinar and helps a beginning publisher to reduce or prevent click/tap fraud.