2015 Hangout Topics and Guest Suggestions?

Hey Gang,

We are working on a 2015 Hangout Calendar that will show the line up of upcoming topics and guests and we need your help.

If you would like to us to cover a particular topic, or invite a specific guest to the Hangout, post your suggestions on this thread and we’ll do our best to schedule Hangouts on the topics you suggest.

As always, you are also welcome to join us on any of the Hangouts.

If you have other suggestions for the show, let us know that as well

Here are a few topic ideas to warm things up:

  • App Store Optimization
  • App Monetization
  • App Marketing
     
  • Corona SDK API specific topics
  • CoronaCards development
  • Windows Phone 8 development
     
  • Working with specific plugins
  • Social media integration
  • In App Purchase
  • Leaderboard integration
     
  • Creating game art
  • Game design
  • Game Mechanics
     
  • Creating non-game apps
     
  • Backend cloud integration
  • Analytic integration
     
  • Development tools
  • Marketing tools
  • Your topic here :slight_smile:

Current list of suggestions (click to download) as of 21 MAR 2015:

  • Advanced animations (involving bones?) - atrizhong
  • Analytic integration - Charles McKeever
  • App Localization (end-to-end) - StarCrunch
  • App Marketing - Charles McKeever
  • App Monetization - Charles McKeever
  • App Store Optimization - Charles McKeever
  • Backend cloud integration - Charles McKeever
  • Business App Development - simonmw13; anil8
  • Composer (GUI Editor) – Updates. - tony god
  • Hangout 137 - Contract Work - kmatrix
  • Corona SDK API specific topics - Charles McKeever
  • CoronaCards development - Charles McKeever
  • Hangout #122 - Coroutine examples (emulating multithreading) - atrizhong
  • Creating game art - Charles McKeever
  • Creating non-game apps - Charles McKeever
  • Curved Paths – Moving Objects On - tony god
  • Custom Widgets (expanding widget library) - StarCrunch
  • Debugging – Diagnosing Error Messages - StarCrunch
  • Debugging – Strategies - StarCrunch
  • Debugging – Tools - StarCrunch
  • Design Patterns - StarCrunch
  • Development tools - Charles McKeever
  • Documentating code/apps. - StarCrunch
  • Domain-specific Languages - StarCrunch
  • Functional programming - StarCrunch
  • Game design - Charles McKeever
  • Hangout 142 (part ofIchi Clone) Game Editors (writing) - StarCrunch
  • Game Mechanics - Charles McKeever
  • IAP – Beating Hackers - ChunkyApps
  • IAP – Storing Content in Cloud - ChunkyApps
  • IAP – Storing Content on Apple Servers - ChunkyApps
  • In App Purchase - Charles McKeever
  • Interview – Guy who made 'Only One - doloz.alexander
  • Joints & Physics – Tony God
  • Leaderboard integration - Charles McKeever
  • Map View – Markers? Overlays? - simonmw13
  • Marketing tools - Charles McKeever
  • Math - StarCrunch
  • Math Library – Focus on when functions are useful and for what. - James Sherburne
  • Maze Game - sysads
  • Optimization
    • ‘Big O’ notation and complexity analysis" - StarCrunch
    • Amortization - StarCrunch
    • Approximation - StarCrunch
    • Caching - StarCrunch
    • Dynamic programming - StarCrunch
    • Laziness - StarCrunch
    • Memoization - StarCrunch
    • Using better data structures / algorithms. - StarCrunch
  • Pathfinding - tony god
  • Penlight Library - doloz.alexander 
  • Rag Doll Physics - ChunkyApps; Tony God
  • Save File Formats - StarCrunch
  • Simulating Gravity & Using It In Games - tony god
  • Social media integration - Charles McKeever
  • Social Media on Android / iOS – Modern example(s) of how to do w/ and w/o plugins. - Lava Level
  • Tiles and Dusk Engine  - egruttner
  • Windows Phone 8 development - Charles McKeever
  • Working with specific plugins - Charles McKeever

Hello,

I would really like to see these topics covered

  • Coroutine examples (emulating multithreading)
  • Advanced animations (involving bones?)

Thanks @atrizhong. Regarding bones, what in particular do you want to do with them? If you can share some examples, it will help us tailor the conversation.

@atrizhong,

Re your topics:

  1. Lua Coroutines - We actually just had a hangout about this here: https://www.youtube.com/watch?v=wtNuzLwFLxI

However, I’m sure we can talk more about it in the future.  If you have specific questions that would help, but if not, we can probably come up with some practical usage examples of our own.

Please note:  Corona is a single-threaded environment, so with or without co-routines, you’ll never see simultaneously executing (Lua) code.  The primary value of coroutines in this context is to allow for easily delayed execution and the suspension of execution of a function at any point in that function.

  1. Regarding Animations - Speaking for myself, the only ‘bones’ example, I’m qualified to talk about is Corona + Spine.  I think it would be great to have a talk or talks where we discuss aspects of Spine usage in Corona SDK.

Disclaimer: If you’re specifically interested in a talk about inverse kinematics (IK), we may need to defer that after more basic discussions.  IK, while supported by Spine, may not be supported under the Spine -Corona library.  I’ll have to check on that.

Both great topics!  Keep em coming.

-Ed

Regarding coroutines, I am writing some material that builds on and supplements what I mentioned during the show, including some new stuff I didn’t get to include in the sample code. If all goes well, that shouldn’t be too long coming.

@atrizhong:

I only allude to it in the same material, but I’ve tended to use coroutines for AI, where each enemy, say, runs inside its own coroutine. This is certainly concurrency, but I don’t know if that’s what you have in mind. Unfortunately, I don’t have anything distilled down to a small example just yet.

As for the show, a few topics come to mind:

  • Lua 5.3 just became final today (what’s new). That’s topic fodder in its own right, but it also invites some speculation about Corona: if / when other language versions (or languages!) are added, how would it be done? What breaks? Does the version become an option, or will it be mandatory to update, and what does that mean for modules?

  • For all I know it’s been covered already (although I imagine few topics will ever be declared “settled”), but I would find it interesting to see guests who have worked in localization or writing for games. On localization at least, there are also some development issues; a few people have made stuff for that, but I can’t see whether it’s widely known.

  • There’s probably a good segment or two just dealing with ergonomics / fitness / nutrition, given how sedentary most development is. Then again, I have a hard time imagining such a show not being awkward.  :) 

  • I often watch longplays, usually of older games, while I eat or whatever. Now and then while doing so, I’ll start noticing stuff about the game’s design. “Oh, they did that because you might show up here without that item, and still need a way out.” “They put that thing there so they could blow it up later, and it would be cool.” “They put those limitations on the assets, since it still lets them do something impressive in spite of the old hardware.” (Hello, parallax on the NES.) Anyhow, I wonder if that would be interesting from a design point of view. On the downside, it would probably be difficult finding a good, short game, and there might be a lot of dead air besides.

  • The art of making custom widgets…

  • …and editors…

  • …and save file formats.

  • Debugging. Tools, strategies, diagnosing error messages, etc.

  • Math. As a developer, you’ve probably left (or soon will) the ranks of the “I never used that stuff once I left high school!” crowd. But you may not have developed an intuition for it, nor know how to put it into practice; seeing it translated into something visual might provide that “Aha!” moment.

  • Optimization. Has been touched on in past shows, of course. Further exploration:

    * Caching, e.g. recycling tables and coroutines, keeping invisible images waiting in the wings, etc.

    * Memoization: Caching meets function calls. Save the output of an expensive operation. When called with the same inputs, reuse the result.

    * Dynamic programming: Unsure how to summarize… incremental algorithms, I guess. Often depends on stuff like memoization.

    * Amortization: Spreading costs around.

    * Laziness. Put off work if it doesn’t need doing… you might never need to do it at all. (Note: actual CS concept, not real-life advice.  :))

    * “Big O” notation and complexity analysis: Studying how a problem scales (run time, memory use, and so on).

    * Approximation: Turn a hard problem into an easier, “good enough” problem, and solve that instead.

    * Using better data structures / algorithms.

  • With respect to that last bullet, there are also approximately 39483940 other interesting ideas in any algorithms or data structures text, just waiting to solve somebody’s problem.

  • Design patterns.

  • Domain-specific languages.

  • Functional programming.

I would like a modern using Social media (plug-ins) between Android / iOS.  If there is an old one, point me to the numeral please. lol.

@StarCrunch, wow! Great topics. Ed and I were talking about putting up a survey to let people vote on topics. Do you have a specific Corona example for “Big O” notation. That would be a great topic to see in action.

@Laval Level, a session on social media integration would be useful. Are you wanting to do anything specific with social media, like score sharing, rewards for follows, etc.?

I don’t have any code just sitting around for it, no, but one of the old standbys is to take a big sorted array, of integers or strings for instance. Then you try to find a specific element in the array, using brute-force search (just check the elements from start to finish) and using binary search (“phone book” search).

The brute-force search, as its name implies, might have to go through ALL its elements, so in “Big O” notation it’s classified as O(n), whereas the binary search can keep cutting its search area in half, so it only has to go through the number of steps it takes to home in on one element (which is a wordier way of saying “the binary logarithm”), so it’s O(lg(n)). When you have just a few elements, n and lg(n) are barely different enough to matter. But logarithms grow very slowly. By the time you get up to a million elements, an O(n) behavior might need to do a million checks, whereas the O(lg(n)) one would do about 20.

Maybe Ed’s menu stuff has something? A big sorted list of filenames, for instance?

Another topic that came to mind:

  • Documentation. Different approaches to doing it. Generators such as LDoc.

Okays, guys I think this is a VERY important topic. Although it is VERY advanced as well, it is vital to developers such as us staying in business!

So ever since I starting using analytics inside of my game, I notice that someone clicks on and purchases my IAP (coin packs in this case) but the following days I still have a big fat 0 from iTunes Connect showing that the coin pack was never purchased. Being new and naive to the biz, I had to look up why this was occurring. Heartbroken to find out that there are apps that can be used to bypass the Apple check and get basically any IAP for free.

I am aware that you can check the receipt that comes back from Apple but I never did read enough on how to do that (maybe that could be one tutorial Ed can do?). But as far as I know, that is easily bypassed as well. To get this right, I believe we need an external server to check the receipt. I have no clue how to do this.

So my suggestion is a tutorial on how to do this with Coronium. Specifically, can we load certain files on our server (new characters, items, etc) that can be purchased through IAP, receipt checked, and file then gets downloaded to iPhone where the new character is now available to use? Can we use Apple’s servers to store the content as I’ve seen in their documentation? I seem to recall we cannot do this with Corona. The idea would be to not bloat the size of the game by including all of the new character sprites with the initial download. Let the player download the new image files after the purchase goes through.

Again, extremely advanced. Maybe it can’t be covered on Corona Geek but I believe it is a vital step for us as Corona Developers. The most successful model has become releasing a free game with IAP. If people don’t actually have to pay for the IAP, that business model fails and we go out of business.

I would love to hear your thoughts on this and thanks for listening.

Love the show!

Hey Chunky Apps.

Why would you want to do this? It is not going to thwart piracy of IAP. It is also not going to get those people to pay for your IAP. They will move on to something else they can steal from.

Also you do not want to make your app directly conflict with pirates because you will be mentioned on a forum if you frustrate them, then they will raid you. This means your app will be listed and everyone on that pirate forum will d/l your free app and give it 1 star. Making your app pirate proof is impossible and frustrating them is like hitting a hornets nest with a stick.

Trust me. I know, it sucks to have people pirate and steal. I know this first hand and as someone who has been in the business for 25+ years. But I also know that it is never going away. I don’t do IAP but I do Paid and I have been pirated a lot. And I don’t use analytics to research this, in fact I don’t need to. There is a Russian version of my game ‘QuestLord’ titled ‘Quest Lord’.  Some of the piracy stuff I actually don’t mind at all… such as the QuestLord version that has 99,999 gold for the players. If a kid takes that much time to dig into my gameSaves, well… good for him.

Anyrate, you will find much more happiness if you learn to let it go when it comes to piracy and definitely don’t track it. It’s never going to stop. I guarantee you, they will not start paying if you block them… they will either get frustrated and put you on a raid list, move on to something they can pirate, or both.

Just some food for thought. 

Hi!

Can you please talk about implementing Tiles and Dusk Engine to manage it?

Best regards,

Erich

Thanks for the suggestion @egruttner. Are you interested in 2D or 2.5D maps?

Hi Charles, thanks!

I’m interested in 2D Tiled games.

Thank you in advance.

Best regards,

Erich

Hi Charles,

Could you do a section on the ‘Map View’ and maybe business app development as a whole?

Suggestion: Map View with markers and possible overlay options?

Thanks Simon.

Hey guys, 

Love the show. Keep up the great work. Your recent shows on Composer were especially good.

I’d really enjoying watching a show dedicated to using the math library in apps. 

Cheers, 

James

Thanks guys.

@simonmw13, doing something with Map View sounds like fun. We’ll see what we can do. As for the “business app” series, I think having a project with an end goal would be a good way to approach things. Then we could add on features as everyone gets further into the conversation.  Do you have ideas for a business app?

@james, would a general overview of the math library help, or do you have specific use cases in mind? Maybe we can pull René Aye from PyroPixel into the conversation, since he has done such great things with his 2D Shadows Library.

Hi @Charles One idea could be a local town business directory app, with :- 1. business info and logo stored in a SQLite database and businesses stored in categories for group header listings. (Maybe updated from Parse) 2. A map to location for each business. 3. A favourites button to store your fav business to quickly list. 4. social media, dial now and sms buttons etc etc 5. Slide in hamburger menu for menu options. 6. Ad banner 7. Coronium and PushBot for notifications e.g. Special offers Etc etc What you think? Si

@Charles - Regarding the math library, I think an overview of the most useful functions in that library would be great. The API references simply show how to call them (print( math.ceil(0.5) ) —> 1); they don’t necessarily indicate where they might be useful. If you guys picked 10 or so of the most useful functions and spent some time showing people how they come in handy, that would be awesome.