Jump to content
  • Advertisement

Tanay Karnik

  • Content Count

  • Joined

  • Last visited

Everything posted by Tanay Karnik

  1. What break are you talking about? You can't break out of functions, you can only break out of loops. If you want to 'break' out of a function, you can use a return statement. LIke this: if againPlay != "Y" or againPLay != "y": end_game() return game() The return statement stops the execution of the function and returns a value. But in this case, we don't want to return any value, just stop the execution. This will achieve the same result as writing: if againPlay != "Y" or againPLay != "y": end_game() else: game() The problem with your code is that 'end_game' (whatever the name might say) isn't really ending the game or 'breaking' out of the code. You are still calling the game() function again. If you get confused then it's a good practice usually to use names that better describe the function. LIke, in this case, 'printEndMessage' or 'endGameMessage', for example.
  2. For learning Programming, I would suggest the book Head First Programming. Very beginner friendly, and contains great interactive examples. You can check it out here: http://www.headfirstlabs.com/books/hfprog/ Head First Programming would start out by teaching Python, without assuming any programming knowledge. Having learned to program by a Head First book myself, I can confidently tell you that it would be one of the best ways to start with programming. Do take a look at it. Later, if your daughter decides that she wants to do Game Development, then she can try pygame (which is a bit low-level) or Game Maker Studio. Otherwise, learning Python opens up a lot more options as well. So you might want to rethink her path depending on how the Stage #1 goes. Good Luck!
  3. Hey, guys! Check out my game, Conquery at https://conquery.k.vu It can run on any good desktop browser. So, if you some free time and a desktop browser handy, do check it out. Conquery is a 2d top-down adventure game. I made in this time's Ludum Dare. You have to capture all planets to win. But, enemies are patrolling in the space and you don't have weapons. So, you'll have to bring the enemies near captured planets and let the planets kill them. Currently there's just one level which too, isn't good. But, I plan to add more levels. I want to know from you guys whether the game mechanics are good. Please give me feedback. What can I improve? Are the core mechanics fun? Your feedback is very valuable and would be appreciated a lot. Thanks. BTW, here's how my game looks (placeholder graphics, I know I need to improve them):
  4. Tanay Karnik

    SDL_KEYDOWN not working

    SDL isn't meant to be used only for input, I guess. SDL is meant to be used a standalone library for input, graphics, audio, etc. As ncsu121978 says, you need a SDL window for getting SDL input. And even if you create one, SDL would be registering events when on that window not on the console. So, making an invisible window or something like that won't help. If you just want to make a text based adventure game, and want input functionality for that, you would be better off with something like OIS or Gainput.
  5. Do Not Hurry You say you don't have prior programming experience. So, you would better not directly start with a game engine. Learning a game engine, it's associated programming language, and the basics of game development, all at the same time isn't good. Android? When you're just beginning to program? That would be a bad choice too. Setting up the development environment, testing, etc. will make things harder if you go with android. So, how should you start? I can suggest you two good roadmaps to start with. Either would work, but the first one is quicker & more fun than the second one. While the second one is what I consider more solid and has got a gentler learning curve. The Quicker Path If you just want to get started with game development, right away, this one is for you. Just pick one of these game engines: Game Maker Studio (my recommendation) Gamesalad Stencyl All these engines don't require any prior coding experience. So, you get started right away, by going through tutorials. I recommend Game Maker Studio because, in it, you can quickly switch to coding instead of drag-n-drop once you are ready. Game Maker Language (GML) is pretty similar to Javascript and learning GML would be a good intro to programming languages. Once, you are into game development, you can decide whether you want to continue game dev as a hobby or be more serious about it. If you are more serious, you can learn other programming languages, and then follow along with the second path which I mention below. The second path will be easier if you go this way. The Solid Path I call this one solid because I think this is what one should go with if he's serious about game development. But, this one is slower so if you are impatient about game development, and want to see something up very quickly, this one might not be for you. In the solid path, you start by learning a programming language. Preferably, C/C++, Java, C# or Python. Then, you master the programming language. This includes getting familiar with all the concepts of the programming language and getting lots of practice. Now, you can choose some platform (Android, Windows, HTML5, etc) and learn the respective libraries for that platform/language pair. Remember, your language choice will affect your platform choice. You wouldn't want to do Android development using Python. Then, following the right guides/tutorials/books, you can create some classic games on that platform. Later, you can either repeat this process with other languages & platforms or learn some hardcore game engine like Unity or Unreal. Hope this helps. Remember that this just my opinion and you must do a lot more research before starting out. :)
  6. Tanay Karnik

    Looking for Suggestions to get my Son started

      I guess, you'll have to setup an internet connection for him, at least temporarily. Since, after the initial installation Game Maker Studio needs to update itself for some reason. I tried to search for a standalone installer but didn't find any. And still, he would even need to register for a Yoyo Games account initially.   So, maybe you could set up Game Maker Studio for him with an internet connection and then remove it later? :(
  7. Tanay Karnik

    Looking for Suggestions to get my Son started

    Having experienced something very similar to this when I was about 10 myself, I would recommend getting for him the free version of Game Maker along with a good book to get him started. That was something which I did myself and it turned out to be a very good introduction to game programming.   Additionally, you would want to make sure that he gets started using the Drag-n-Drop but later switches to writing code, since, that's what he's going to do after growing up, write code. Game Maker would provide him with a good introduction to programming/coding since GML is very similar to Javascript and hence he won't have much trouble learning other languages later. He would probably need to learn OOP, algorithms, design patterns, etc. later since GML is just a scripting language.   After he has had enough of experience (and fun) using Game Maker, created some cool games, etc. he could start with something like C++/SDL/SFML or Python/PyGame to learn the underlying mechanics of game development. Instead, he could even start with Unity or Unreal, etc. now, but getting some low-level experience is always helpful.       Probably not, unless he has prior programming experience. Unity has a steeper learning compared to Game Maker, and the other easy ones. Unity is probably made for professional game development and will be overkill for learning as a beginner. Chances are that he will get frustrated, and may even consider game programming to be very hard. Though he may get through it with some effort, it will take a lot of time for him to get familiar with the environment. Nope, Unity is not a great choice to get started with (at least I don't think it is).
  8. Tanay Karnik

    Learning C++/Gamemaker seeking opinions

    Unity isn't a very good option while beginning. After GameMaker, you could probably start with something like Python/PyGame or C++/SDL rather since that would give you more insight into some game development concepts like the game loop, dealing with graphics, textures, sounds, etc.   Once you are familiar with programming and created some beginner game projects like Pong, Tic Tac Toe, Pac-Man, etc., you can go for game development using Unity/Unreal Engine and work on your own game ideas.   Though you can start learning Unity/C# directly, that would have a steeper learning curve and you wouldn't get to look at the underlying mechanics.   Hope this helps, best of luck! Continue on with your GameMaker and C++!
  9. Tanay Karnik

    How do I get started making Android games?

    Actually, starting game development with Android is not the best thing to do, since you've to learn Android SDK and Game Development both at the same time. You would better get started with some games like Pong, etc. for the desktop using any language (Java preferably, since you opt for Android). The FAQ of this forum or this post may be helpful in that case.   Once, you get enough experience, you can get started with learning Android.   Here's a good video on understanding the Android App Architecture:   For Android SDK, since you have a good experience in Java, the best place to start is probably this: https://developer.android.com/training/index.html   Also, this free Udemy course mentioned on the above ^ page is also very helpful, in case you opt for video tutorials i.e. https://www.udacity.com/course/developing-android-apps--ud853   You must particularly give focus on the graphics part of the tutorial (do lots of practice, maybe?), since, it will be most helpful in game development.   Then, since you'll have experience in game development with Java, and the fundamentals of Android SDK (the graphics especially), Android Game Development would follow easily. Complete a few simple games, keep practicing and you are off!
  10. Tanay Karnik

    Next Step

    As or your Tic Tac Toe game, make sure to even implement an AI engine which is unbeatable, since you will learn a lot from it. You will probably need the Min-Max algorithm.   (You may have already planned this, but just to make sure... :wink: )
  11. Hello!   So, recently I just shifted my attention towards the android platform and have started learning it. I decided to use Android Studio and so went through some part of the official training at https://developer.android.com/training/index.html   I now have a basic idea of how android development works, but when I got a bit further in the training, I found that I am not getting any examples to work upon, as I continue. So, I thought that the better way would be to work on projects, increasing the level of difficulty ( level of Android APIs involved? ) as I move ahead. In this way, I can refer to the relevant topics in the documentation myself, and even get the experience of developing on android.   Hence, can any of you give me a short ordered project list or some abstract path to follow? So that I can first learn the fundamental parts of android app development in general and then focus upon android game development mainly.   I took a look at http://1000projects.org/projects/android-projects/ but found out that it doesn't provide any order to follow. I think, I'll use this once I'm off the beginner stage and just want to practice.   My Background: I know how to program in Java, C, C++, etc. and have made some games in C++/SDL, HTML5.
  12.     What exactly do you mean by this?  Are you struggling to understand the meaning of the code syntax or grammar? Are you struggling with the names of the functions and what they do? Are you struggling with the patterns they follow?   Learning takes place precept by precept, what level are you understanding the code, what level are you struggling with the code? I meant that I wasn't getting any good ideas of projects to work on and practise the concepts which I learned. (Projects would make me get used to it, right?) In short, I wanted to get a project idea which would be good for starters and would include things most of the fundamentals.   Anyways, now I've figured the project out (as stated in my previous post).
  13. Well, I decided to create a single app, step by step, which would include most of the important APIs of android. So, I would get started in android development well.   It's a weather app called Sunshine, BTW, following the tutorial at https://www.udacity.com/course/ud853   @WhiteKnight Thanks! I would focus on common things like those afterwards so that I get better. I didn't understand what IAP meant, but.
  14. Learning android app and game development using Android Studio.
  15. Tanay Karnik

    How To Start Game Programming With C++

     You must first get yourself familiar with the concept of a game loop. These resources might be helpful: http://gamedevelopment.tutsplus.com/articles/gamedev-glossary-what-is-the-game-loop--gamedev-2469 http://gameprogrammingpatterns.com/game-loop.html Then, you need to know how to implement various sub-systems of the game and will have to select the libraries which you want to use for that purpose. You can use libraries like SDL/SFML to take care about sub-systems like Graphics, Sound, Input Handling, etc.   Next, you will have to learn how to create a complete game architecture so that you can integrate all sub-systems properly. Here's a great book which summarizes all this well: Game Coding Complete, Fourth Edition
  16. Tanay Karnik

    Kinda hard to explain this

    Check out Head First Programming Very good for beginners. Read the introduction and you'll understand.
  17. Tanay Karnik

    Kinda hard to explain this

    The problem lies in these lines: while add_item == "Yes" or "yes": In the first line, your checking two conditions: add_item == "Yes" checks whether add_item is equal to the string literal "Yes", if no your second condition is evaluated otherwise you enter the loop "yes" Yeah, the second condition is simply "yes". Since, "yes" is a string literal, not equal to zero, the value will come out to be True whatever be the value of add_item. You have to understand properly what the or operator does. The or operator simply evaluates two boolean values (one to its left, the other to its right). If either of them is True, then it returns True.   To accomplish what you were trying to accomplish you should do something like while add_item == "Yes" or add_item == "yes": The same problem exists in another line of your code, try to find it out and correct it.   Also, in your code, you are not checking the case in which the user inputs somethings other than yes and no. Every piece of code is evaluated every time the interpreter comes across it. If you place the if-statement in a loop then it will be evaluated as many times as the loop loops. You need to understand the control flow better. Flow charts might help.   Don't hurry while learning, make sure you understand everything completely before moving ahead. If you don't understand anything properly, use various resources to understand the same part, this will clear a lot of misconceptions.
  18. Tanay Karnik

    How can I install a module in Python (Read More)

    Assuming you are on windows, Open the directory in the windows explorer Go to file menu Choose Open Command Prompt If the command doesn't work, make sure you have the python directory listed in your PATH variable.
  19. Well, currently I'm just learning game development (with SDL and C++), so the topic which I want to discuss should actually not concern me currently. But, I have been wondering about it from a lot of time and just couldn't help asking it over here.   I am curious about the platform which will yield most money in the future (let's say after 15 years). So, that I can concentrate on its development. I am currently considering: Virtual Reality - probably people are going to look for more details in games Android - maybe android will win over iOS and windows 10 phone? Html5 - its cross platform and online Gaming Consoles - specialized for gaming Windows 10 PC - the most famous PC operating system Which do you think should I particularly focus on? Where is the most revenue? I am in the view that if I spend my time learning unnecessary things (those which I will understand later are of little or no use in the future) then I will simply waste my time.   For that matter, also tell me which languages to focus on. Currently I focus on C++ but maybe in the future it won't be of much use. Should I focus on Python, C#, Java, or some other, which one? In the future probably, the problems in development will be way larger and high level languages will be more in demand.   Please answer as descriptively and elaborately as possible, and if possible provide further references for statistical information, I'm serious :mellow:.
  20. Hello and Welcome! Actually getting started depends a lot on your choice.   If you want help making a choice and getting started in general, this will help http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx You'll find answers to a lot of frequently asked questions by beginners here http://www.gamasutra.com/blogs/TommyRefenes/20130107/184432/How_do_I_get_started_programming_games.php
  21. Tanay Karnik

    Absolute beginner and an introduction

    Welcome to the community!!!   As others have said Unity is not a tool for making games without coding. If you want to avoid coding, then you can go with something like GameSalad (you are avoiding coding but not programming).   Well, many people, after looking at some piece of complicated code while learning, think that programming/coding is difficult. But that's not true at all.   Actually, learning programming is interesting and it automates a lot of your boring stuff. Think of programming like talking with the computer. The computer is ignorant, it doesn't understand human language. You being smarter than the computer have to make him understand what to do.   If you want to make your learning more easier and fun, you just have to pick a easy to learn language and a good book. Python is probably the easiest language to learn at start. If you want to buy a book, I would recommend Head First Programming. It will make your learning more efficient, complete and fun. I have read Head First's other books myself and found them a lot helpful. Check out the book's preview and you'll understand. (Note: that's my recommendation, your choice might be different but there's not harm in checking it out.   Good Luck!
  22. Tanay Karnik


    Doesn't seem to be a beginner question. Probably belongs to Your Announcements forum, right?
  23. All the answers are very helpful, now I have better insight and better plans (hopefully). Avoid visual studio? I've always heard this opinion that visual studio should be avoided (since its owned by Microsoft!), and I get confused. I currently have Visual Studio 2015 Community Edition and its great, the debugging tools are also helpful. I feel that if I develop with something like Code::Blocks, I'll miss a lot of features.   Do I have the option of developing and debugging with Visual Studio but using something like CMake (Never tried it but heard about it) for releasing it? So that I can port it to other platforms with the extra work of configuring the build system. Or is there something still wrong in this?   BTW, what does standard platform mean? And can I port to Mac using visual studio?
  24. In the first case, stuff = input("What stuff do you want") This line converts the variable 'stuff' into a string, since the input function is returning a string. The previous 'stuff' variable is now lost. Since, 'stuff' is a string, and a string doesn't have any function append, you get an error.   Whereas in the second case, you are never changing the type of the variable 'stuff' and the code works without any issue. Obviously, the data and its type should remain the same since you aren't storing anything else into it.   Note that you cannot have two variables having the same type but different names. In that case, what you are doing is actually simply changing the type of the variable and losing your previous data.
  25.   It doesn't matter. The revenue earned by the platform is the revenue earned by the platform vendor (e.g., Sony, Microsoft, Nintendo). You are not thinking about making a platform, you're thinking about making a game for a platform.    The platform you pick will not determine how much revenue you'll bring in; the quality and success of the game you make is the key factor there. And unfortunately, there's no mathematical formula or flowchart to arrive at how to make a quality, successful game or we'd all be rich already. The only real factor the platform choice will have are market share and demographic related, and those aren't likely to matter to you because the ceiling of even the lowest-market-share platform is several orders of magnitude beyond what you're likely to attract as a customer base right now. Even if, by some miracle, you hit that saturation point, at that point you'd have the money and popularity to easily get your game ported to other platforms and continue your runaway success.   You're thinking about the wrong things; think instead about the kind of game you are excited to make on the platforms you have available to you and know how to develop for right now. If you just want to make money, go get a job writing financial software.   Thanks a lot! I got the point. Maybe I was too curious and worrying about unnecessary things. BTW, I'm not of the age to get a job.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!