Jump to content
  • Advertisement

shadowisadog

Member
  • Content count

    777
  • Joined

  • Last visited

Community Reputation

3218 Excellent

About shadowisadog

  • Rank
    Crossbones+

Personal Information

  1. shadowisadog

    Complete Noob Trying to take a shot at game dev

    I have used Pluralsight extensively and I like the courses that they have on there. Right now for Unity I like the content on CG Cookie as well.   It sounds like you are trying to go in a million directions at once. My recommendation would be to try to make a really small and simple game in whatever target technology that you choose. Build something basic and then tackle a slightly more complicated project. Keep expanding your skills gradually but don't try to bite off more than you can chew.   The important thing is to pick a direction and set about creating something. I find the best way to retain knowledge is to apply it. There are times that I have gone through a course on a technology and didn't really learn much until I set about using that technology on an actual project. Seeing people walk through things is often far easier than doing it yourself.
  2. shadowisadog

    Some questions for unity+C#

    Your code has a bug in it: void Update () { if (Input.GetMouseButtonDown(0)) ; Debug.Log("Pressed left mouse."); }   The if statement here does not work because if statements never have semi-colons after them. So Debug.Log is getting called on every update.   If you removed the semi-colon then you could fix the issue. Even if it is a single line I always put brackets around the if statements. void Update () { if (Input.GetMouseButtonDown(0)) { Debug.Log("Pressed left mouse."); } } In Unity : https://docs.unity3d.com/ScriptReference/Input.GetMouseButtonDown.html   The documentation says:   "You need to call this function from the Update function, since the state gets reset each frame. It will not return true until the user has released the mouse button and pressed it again. button values are 0 for left button, 1 for right button, 2 for the middle button."   Here is a tutorial from Unity on persistent data and serialization: https://unity3d.com/learn/tutorials/topics/scripting/persistence-saving-and-loading-data   PlayerPrefs is an option as was mentioned. The documentation is here: https://docs.unity3d.com/ScriptReference/PlayerPrefs.html . This is simpler, but I am not crazy about the:   "On Windows, PlayerPrefs are stored in the registry under HKCU\Software\[company name]\[product name] key, where company and product names are the names set up in Project Settings."   I personally don't really like games that have to mess around with my registry. Also I might be wrong, but it seems like player prefs if they are being stored in the registry with just a project name key are not going to be able to support multiple save files or the ability to migrate/back up the save files easily.   Personally I would probably be more inclined to use JSON serialization: https://docs.unity3d.com/Manual/JSONSerialization.html  Although binary serialization can have a smaller file size at the expense of human readability (which for a save file you might not want it to be human readable anyway).
  3. shadowisadog

    Need programmer for a ball game

    Hello Stucker,   I think you would get more feedback and offers if you provided some mockups of the concept up front. You could take some time to create graphics for the game and lay them out in Unity and then take some screenshots to help illustrate the game mechanics.   I am a bit confused about the comparison to Angry Birds but the fact that it is top down. One of the main mechanics of Angry Birds is the trajectory which is viewed from the side perspective. In a top down perspective how are you going to see the angle that you are shooting the ball? Or is it not involving a trajectory at all? If so I am really struggling to understand the game mechanics of your idea.
  4. shadowisadog

    what's up?

    Hello,   Do you mean this post: http://www.gamedev.net/topic/682685-card-game-needs-programmer/#entry5312764 ?   It looks like it posted fine to me. If this is not the topic you started then it does not show up in your history.
  5. shadowisadog

    How do desginer design their game to be fun?

    This is a subjective topic and varies from person to person. I think that this is a skill that must be developed over time and some people are better at it than others... but largely I can tell you the following:   1. Remove the unfun parts of the game. A lot of times what makes a game not fun is if there are boring/frustrating/annoying aspects to the game that take away from the enjoyment. For example having to switch control schemes, overly complicated control schemes, buggy game mechanics, sloppy collision detection, annoying sound effects... Imagine if your platform game has a platform that requires you to jump "perfectly" to land on it... and it takes lots of attempts which makes the game very difficult for no reason... this would make the game less fun.   2. Get other people to play test the game. Often people are good at telling you what they don't like. You need to find people who are willing to be honest with you and let you know what they think. You don't want the play testers to feel like they can't let you know what they honestly think even if it is very negative.   3. Remove repetition and add detail. If your game has the same elements that repeat over and over then this will get boring. You also want to add variety to your levels. In a lot of games you want your levels to tell a story... you want each level to advance the plot/progression of the player and for the level itself to be unified. For example if you have a game set in a jungle then you would want the elements of the level to convey this setting. If you are fighting giant spiders in the jungle then you would want the spiders to emerge from a logical place in the level and you would want a way to avoid/hide from the spiders to be built into the level. If a giant invincible spider was to spawn from no where and kill you in one hit with you unable to avoid the spider, then that would be frustrating and not fun.   4. You need to playtest the game and balance the game elements. There are many parameters you need to tweak when developing a game. You need to adjust speeds, gravity, hit points, etc so that everything is well balanced.   Essentially your game will likely not start off fun. Fun emerges when you remove the boring/annoying/repetitive parts and add mechanics that balance well with each other.   I hope this didn't ramble too much :).
  6. shadowisadog

    HDRI Editor for blender

    It looks pretty good. You might have better exposure if you put it on the blender marketplace: https://cgcookiemarkets.com/
  7. shadowisadog

    Where to start with C#

    I think that:   https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169   is a fairly good resource.   You can also create Unity scripts in C#.   I agree with using Visual Studio 2015 Community edition.   I am not sure I recommend XNA since it is no longer supported. If you want XNA then look into Monogame: http://www.monogame.net/
  8. shadowisadog

    Why do most people recommend Python

    Personally I love Python. I use it at work all of the time to develop scripts to make my life easier. One of the things I really like about it is that it is a batteries included language. If I need to do something there is a good chance that there are modules that make it simple to do it. For instance there are built in modules for parsing command line options, built in XML parsing, built in json parsing, built in sockets, built in regular expressions.. I can quickly put things together and accomplish results.   I have created Python scripts that parse monitor EDID information, scripts that handle tape drive swapping, scripts that work with data in spreadsheets, scripts that handle complex build tasks, scripts that help find patterns in log files, and tons more.   That being said use what you feel comfortable using. If Python is not your thing then learn something else. The key is to pick something and practice. You learn programming and get better at programming through writing lots and lots of programs. As you write programs you will run into situations where you ask yourself if there is a better way to do something and then you will learn new techniques.   I like trying to find the shortest and simplest ways to accomplish my goals as a programmer. The programming language I use does not matter to me. What matters to me is the task that I have in front of me to solve and for that I want the language that provides the most productivity per character.
  9. shadowisadog

    WoA 3: Day 5

    In order to fix up the AI quickly we are going to attempt (and I say attempt because I have never used it before :)) to use the Unity RAIN system by Rival Theory. http://rivaltheory.com/   This is a much more robust system then we are current using and we hope that it will improve the AI for the game considerably.
  10. shadowisadog

    You need a plan and a design

    Introduction Have you been working on your game for what feels like eternity, but have nothing to show for it? Are you stuck on how to implement your game idea? If these sound like you then this is your article. In this article I will talk about planning, game design, and technical designs. I am going to cover the importance of planning and designs, and give you some tools and tips to help you successfully plan and design your next game project. Why do I need a plan? The definition of a plan is a "detailed proposal for doing or achieving something.". A proposal is "a plan or suggestion, especially a formal or written one, put forward for consideration or discussion by others.". A plan helps you be successful by putting your goals on paper. It is HOW you will go from having a great idea to a great game. A plan can be broken down into goals, objectives, and tasks. Goals are broad and general, objectives are specific and measurable which when complete achieve a goal, and tasks are very specific things that you need to do to meet an objective. Your day to day work can be broken down into tasks. The tasks when finished complete objectives, and the objectives when finished meet goals. For example if your goal was to lose 20 pounds, then your objectives might be to work out every other day for three months and to consume 1800 calories a day. Your tasks would be your specific workout sessions (the day to day), and preparing healthier meals that meet the objective of consuming 1800 calories a day. Your game plan should be just as detailed. Your goals are not really directly measurable other than knowing when you are finished. Your objectives need to be detailed so you can evaluate whether the tasks that you are completing are really working towards accomplishing the goals. Adjusting your plan Plans are always subject to change. Your game plan will change as you encounter the reality of development. There will be things that you have not accounted for, and you will have new ideas as you develop your game. Creating a plan does not mean setting your entire project in stone, but rather it is a general roadmap for success. You might take some crazy detours but as long as you keep track of your goal you will eventually arrive at your destination! Schedules - Putting dates to your plan In my mind a schedule is simply putting dates on your plan. If you say that by October 15th you need to have X amount of things done in order to finish the game by December 31st then that is a schedule. Your schedule can change independently of your plan. Some things will take longer than anticipated (that is the nature of game development), but putting real dates to things can help put the plan into perspective (even though we often don't want to really commit to any deadlines). An easy way to keep track of a schedule is to use a calendar application like Google Calendar or iCalendar If you really need to track a lot of resources then you could use something like Microsoft Project or Projectlibre to keep track of all of the details. In the software development world there is a concept called Agile programming and that is a big topic. You can use sites like Assembla to manage software projects using Agile concepts and that goes great with the whole planning concept. I have personally used Assembla and it really makes this process much easier by being able to set milestones, create tasks, ect. Putting things into perspective One thing a plan will do is force you to confront the reality of your idea. If your game design calls for 100 unit types, but you can only make one unit type a week, then by making a plan you will find that takes (best case) 100 weeks worth of time. If you realize early that your plan calls you making units for slightly over two years then you are likely to revise your plan to something more realistic. Realistic estimation Estimating how long something will take is hard. The best technique I have found for this is to break the task up into very small tasks where each task can be executed in hours rather than days. Then estimate each small task and multiply by 1.5. If you realistically think a task will take you 5 hours, then multiply it by 1.5 and you will end up with 7.5 hours for the task. Add up all of the small tasks with the "extra" time built in. The more you can break down a task, the more accurate your estimates will be. If you are unfamiliar with a task then you might even multiply by an even larger number (2 or more) to your hour estimate to really make sure that there is time for the unexpected. As you work keep a log of your time. You can use this time log to help improve your estimates, gauge your performance, and refine your schedule. Something like My Hours can help you keep track of your time. Assembla also has time tracking functionality. Stop wasting time Time is your most valuable and finite resource. There are 1440 minutes in a day. If you want to be productive you need to stop using so many of them watching cat videos :). Game development takes a very heavy investment of time. Even relatively simple games can still take months of development time to complete. If you find yourself not making progress as fast as you would like, evaluate your time log and try to see if you can find ways to use time more effectively. Ok, but how do I know WHAT to plan? You know what to plan by looking at your game design document. Your game design document or GDD contains all of the information about your game. It has every story, character, level, mechanic, boss fight, potion, and whatever else that you need to make your game. Your game design is detailed enough when you can have someone off the street read your game design and they can play your game start to finish on a sheet of paper. Even if you are just one person putting all of your thoughts down in a GDD means that you can't forget them (and if you don't write your ideas down you WILL forget them). For a proper GDD you will need sketches of your characters and levels, backstory, character biographies, and all sorts of other supporting information. You really need to put in a lot more details then will make your final game because your job with a GDD is to get everyone working on the game (including yourself) on the same page. If anyone has a question about your game they should be able to answer it by reading your game design document. If they can't answer the question then your GDD is not detailed enough. If your game design document is not detailed enough then it is not complete! Some people will tell you that you do not "need" a game design document. Some people might be able to get away with not properly designing a game. It is likely that you won't be one of those people, and if you neglect your design then it is very likely that your project will fail. Think of creating a design and a plan like a way to improve the odds. It is not guranteed but it improves your chances of having a successful game. Odds are if you can stick with an idea long enough to create a detailed game design and a plan then you have an idea worth implementing! Here are some things that I believe all good game designs should have (in general): Character backstory Character sketches Level sketches Flow chart of the game execution Sketches of the game UI For mocking up your user interfaces I recommend using a software program like Pencil Project. Sounds great, but.... what about the programming? What engine should I use! You now have a game design and a plan. The engine that you choose is determined by your technical requirements. Your technical requirements really depend on your technical design and your technical design depends on your game design. Ultimately your choice of engine depends on what sort of game your game design is saying you are going to make! There are a number of factors that influence what technology to choose for your game including the game mechanics, the schedule, commercial vs free, etc. Often for beginners the statement is that the choices of engine/tech don't really matter, and to a certain extent that is true... However for bigger projects that choice can start to have meaning. For instance does the target technology support the platforms that you want to run on, does the engine support 2D or 3D, if the game is for sale how much will the engine cost out of profits, what sort of asset pipeline does the engine support, etc. Unreal and Unity are fairly comparable, but they do have differences. I might choose Unreal if I had a very art heavy game that needed high graphics performance. I might pick Unity if I had a smaller game but really needed to have complete control over the game logic and if I were more comfortable in C# over C++. I know people might try to argue for one over another and any examples I give might just start a flame war, but the point is that there is generally a rational behind adopting one technology over another. Technical design A technical design is a compliment to your game design. Games are software and software has its own language for design. UML is one language to describe your game's technical design. UML really describes what your program does, what objects you will have, and how those objects interact together. Your UML diagrams would form your technical design and the diagrams would have the purpose of satisfying the game design. There are lots of UML tools like StarUML that help to create UML diagrams. Further reading Here are some links on these concepts to get you started: 1. Gamasutra - The Anatomy of a Design Document 2. Atomic Sam game design document example 3. Ant's life game design document example. 4. Step-by-Step Guide for Creating an Action Plan to Achieve Your Goals. 5. Types of UML diagrams 6. Unity, Source 2, Unreal Engine 4, or CryENGINE - Which Game Engine Should I Choose? 7. Agile Methodology 8. How to write a software design document. Conclusion I hope this article shed some light on the importance of plans and designs and that you learned some information that will help you plan and design awesome games. We covered: A plan: Goals, objectives, and tasks. Should be detailed. 1440 minutes in a day. Don't waste time. Plans can and will change. Schedules: Your plan now has dates. Deadlines are when stuff must be done. Your schedule will likely change. Use Calendar, Time Tracking, and Project Management software to help with plans and schedules. Game Design: The complete source of information for your game idea. Technical Game Design: Also known as a Software Design Document, typically written using UML. Thank you for reading. Article Update Log 05 August 2015: Fixed some typos brought to my attention by Casey Hardman. 28 July 2015: Initial release
  11. shadowisadog

    Shooting At Stuff

  12. shadowisadog

    Finished!

    Hello everyone, Here is my completed entry: Teddystein ! http://www.donaldsmay.com/Teddystein.zip I hope you all enjoy it! I spent all weekend on it and really worked very hard to finish it.
  13. shadowisadog

    Progress

    Here is a potato quality video of my game so far: I have been working on it all day and have made reasonable progress. It's going to be quite a push until the deadline, but hopefully it will go well!
  14. shadowisadog

    Resolve

    Hello everyone, Quick update on the game progress so far for tonight. Work has been super busy and I have not had a lot of free time to devote to the project :(. I thought of bowing out of the competition completely after seeing how great some of the entries look, BUT I will continue! I will do my best throughout the weekend up until the last minute to pull off what I can. It might not be as excellent as some of the other entries, but I hope that it will be entertaining. Well better get to it!
  15. shadowisadog

    GUI

    The more I work on this game the more I realize just how awesomely ridiculous it is going to be :).
  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!