2015 Hangout Topics and Guest Suggestions?

I would like to see updates on the Corona Composer as new big things show up in the builds.  I often don’t have time to jump to the latest build and try things out, so I like it when you show it off on the show.

Also, I am a big fan of the shows where you show a simple game mechanic and go through the code to explain how it works.  I’d like to see some examples like:

  • pathfinding (maybe show a character go from point a to point b through a maze)

  • joints & physics (show something fun with ragdolls)

  • moving objects on curved paths (using sin, cos, other math funcs)

  • simulating objects with gravitational force (as in angry birds space)

You probably did some shows on these before and I am either forgetting about them or I haven’t gone back far enough.  Show is great, keep it up!

@tonygod, thank you. There are great suggestions. We do have an upcoming game mechanics series planned, so stay tuned for that. The Composer GUI topic is definitely something we can visit in an upcoming show. I’ll get with the engineers for a list of most recent additions so we can cover all the goodness :slight_smile:

Hey guys, love the show, keeps me in the loop. I always hear Ed Maurina talking about contract work. I’d love to hear a break down of the process.

Thanks,

Keenan

Thanks, kmatrix. A consulting conversation would be fun :slight_smile:

@Lava Level 

Sorry, I haven’t been back to this forum lately as I usually get updated when a new comment is posted and I haven’t gotten any emails (maybe they went to junk folder?)

Anyway, point taken about trying to thwart pirates.

However, I do need the ability to put files on an external server for IAP.

I want to offer new characters but the animations of each new one will cause the file to balloon way too big for someone who just wants to download the base game. If the sprite sheets of each character take up even 5mb of space, 10 new characters would be 50mb of space!

Also, I love @tonygod’s suggestions. I’ve been begging for an easy to understand tutorial on “moving objects on curved paths (using sin, cos, other math funcs)” for years! Ed is just the guy for this one! COME ON ED!!

Also the Ragdoll one would be really cool as well!

And like @kmatrix, I am also always wondering about taking on contract work. Would be a great topic!

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. 

Hello, guys.

I suggest these themes:
Libs like Penlight which simplifies working with tables — their comparison and examples of usage.
Isometric projection games — how to make them, all necessary math and some example, if possible.

Guests:
http://www.ernestszoka.com — this guy made game Only One, which is very popular in Appstore. It would be great if you contact him and make kind of interview. I would like if he tell about physics in his game

All,

I’m going to maintain an alphabetical listing of suggestions and who suggested them HERE

As well, I’ll be occasionally updating my first post in this thread (dated: 11 January 2015 - 03:25 PM ) so that you can see them all in one place.

In addition to Penlight, this one is also maintained: lua-stdlib

On the topic of Penlight itself, the author, Steve Donovan, might be a good guest, if he’s up for it. He maintains quite a few other interesting projects too, including LDoc, the documentation tool I use (it would be interesting to see if this could be combined with Coronium) and LuaMacro, for code manipulation.

For that matter, there are probably quite a few frameworks among the Corona community by now.

Somewhat related to that would be the LuaRocks and LuaDist projects, the babies of Hisham Muhammad and Peter Drahoš  respectively. Both of these guys have done workshops and so might be game.

Actually, we mentioned unit testing on or after the color picker show… I’m thinking it might be better trying to find somebody that has some experience with them to discuss that. I haven’t had the wherewithal to research it much and it would probably have more weight coming from somebody who already knew them well.

Finally, seeing as I was already encouraged to post them on the Code Exchange, shaders now seem to be a legitimate topic.

Hi!

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

Best regards,

Erich