Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by shadowisadog

  1. shadowisadog

    Starting Out on a Game Project

    There are a few critical things that I think apply regardless of what game engine you decide to use. 1. Revision control. If you are working on code for your game I strongly advise to use revision control for your game. Git/Github is a great choice here for your code. Revision control is helpful even when working by yourself because you can see the changes you have made over time and roll back changes if necessary. Unity and Unreal both support Perforce which is an option for revision controlling game assets as well which I think is worth a look. 2. Create a game design. Designing your game before you start coding it will help increase your odds of project success. I recommend putting game designs in a wiki with links between the design elements. 3. Prototype first. Take your design and create a minimum viable prototype of the game. Use stand-in art assets (quickly block them out) and tweak the game to make it fun. Blocking out the art assets first can be beneficial as you will learn what art assets you need and maybe remove some you don't. It will also help you to figure out to establish the scale of the models. You will also achieve progress more quickly which can help you stay motivated. I find that getting something "on paper" so to speak as fast as possible helps me keep my motivation up. 4. Use a project planning tool. If you are working on a large project it can be helpful to have software to plan milestones and tasks. If you plan out milestones and tasks in advance it can help you to be realistic about time constraints. 5. Perfection is the enemy of done. It is easy to fall into the trap of something needs to be "perfect". Games are never finished, they are released. If you try too hard to make every aspect "perfect" you will likely never finish the game.
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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 :).
  7. 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/
  8. 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/
  9. 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.
  10. shadowisadog

    How long would it take to get good at game art?

    I am not really an artist, but to get good at anything you must practice. I am a professional Software Engineer but when I first started programming (over 16 years ago) I was not very good at it. I have improved considerably in programming from when I started, but I still learn new things about programming on a regular basis!   Your current drawing abilities do not seem that bad as a starting point. If you put in the time and practice your drawing you will improve.   I really like the site http://cgcookie.com/ for learning about game art. They have courses on Blender, Unity, traditional drawing, etc.   Also modeling and animation are really different skills from drawing. Having the ability to draw helps, but there are a wide variety of skills involved with creating 3d graphics. Generally concept arts create artwork that is passed off to the modelers, and then the modelers create models that are passed on to the people doing the rigs/animations. Some people have multiple roles and sometimes they are broken up into specializations.
  11. shadowisadog

    Looking For Book To Learn The Basics

    Perhaps this list:   http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list   Beyond books I really like the C++ content at pluralsight: https://www.pluralsight.com/   I also like the book "Game Programming Patterns" http://gameprogrammingpatterns.com/ . I know you don't want something specific to Game Programming but I still find this to be a good book.
  12. shadowisadog

    Tinyxml C++ Grabbing Id

    I am not sure how you are processing this xml in your code, but generally you would load the xml data into an internal data structure that is easier to work with.   A map data structure could be used where the key is the id and the value is instance of a Dialog class.   I think the key idea is that your xml would get turned into an in memory data structure. For instance you could have a vector of response objects in the Dialog class.   http://www.cprogramming.com/tutorial/stl/stlmap.html   http://www.cplusplus.com/reference/map/map/
  13. shadowisadog

    Python-Get String Between Two Characters

    I would do it something like this personally:   I would start off by replacing the '~' characters in the string since they do not seem to add anything. You could replace these with an empty string. Then use re.split with either the '^' or '>' characters. You have to escape '^' because it has special meaning to a regular expression. Using the pipe character creates an or condition in a regular expression.   Then that would give me results but they would have a lot of whitespace, so I would use a list comprehension to get rid of the extra whitespace and to omit any blank entries from the list.   Below is the code: #!/usr/bin/env python import re def main(): target = ' ~~~~ ABC ^ DEF ^ HGK > LMN ^ ' target = target.replace('~', '') target_list = re.split('\^|>', target) target_list = [entry.strip() for entry in target_list if len(entry.strip()) > 0] print(target_list) if __name__ == '__main__': main() That gives me: ['ABC', 'DEF', 'HGK', 'LMN']
  14. Maybe these links help:   https://msdn.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide   https://msdn.microsoft.com/en-us/windows/uwp/get-started/whats-a-uwp   https://blogs.windows.com/buildingapps/2015/04/30/a-deeper-dive-into-the-universal-windows-platform/   There is also this (subscription based) Pluralsight course:   https://www.pluralsight.com/courses/windows-10-universal-apps-xaml
  15. shadowisadog

    C# and Java interop

    Perhaps something like: http://www.prodigyproductionsllc.com/articles/programming/decompile-java-using-c/   or https://msdn.microsoft.com/en-us/library/y9teabc2%28VS.80%29.aspx   Maybe one of those potential ideas will help you.   Also if I remember correctly jar files are really just zip files. You can "extract" the jar file and look at the class files inside of it... I don't know if you will be able to do much with the class files but if you extract the jar file to a temp directory and then iterate through the files you should be able to determine the names of things potentially.
  16. shadowisadog

    Formations in RTS (A* pathfinding)

    I think a lot of games likely determine the position of the troops when you click to move them. Some games even have a little graphic to show where each of the units will be standing after you move them like:   OOOO OOOO   or oo oo oo oo   If you know the start and end positions then you can have each unit do their pathfinding individually and use steering behaviors to keep units from running into each other.
  17. shadowisadog

    How to begin the game programming?

    I am not really sure there are any advantages to starting directly from DirectX or OpenGL unless you really want to know the guts of a game/game engine. If your goal is to make games then the existing engines (like Unreal) are a great place to start and will enable you to be productive very quickly. Using Unreal gives you many thousands of development hours worth of work for free and it allows you to start from a stable and well developed toolset. The initial release of the "Unreal Engine" was 17 years ago in 1998... It is on its fourth version... While I doubt much of the original code is still there, I think it speaks to the level of effort involved.   "On August 17, 2005, Mark Rein, the vice-president of Epic Games, revealed that Unreal Engine 4 had been in development since 2003." .    Unreal Engine 3 was around 2 million lines of code. I bet Unreal Engine 4 has more. Let's assume you can code 50 lines of code per day (which in some estimates is five times more than average).  That would mean it would take 40,000 days or 109 years of your time to create something with 2 million lines of code if it took you wrote 50 lines of code a day (and every day at that). If you were some ultra talented programmer who could magically turn out 500 lines a day every single day it would still take 11 years of nonstop time.   The thing to remember is that games are software. I  always think it is good to really understand the programming fundamentals. It can be good to focus on the basics of a language (make console applications, ect) to really understand how the language works.   Make sure you understand if statements, loop statements, arrays, data structures (lists, maps, sets, ...), file I/O, functions, and OOP concepts. These things will help you a lot when it comes to programming a game.
  18. shadowisadog

    Help with debugging lua through luabind from C++

    You might find this helpful:   http://oberon00.github.io/luabind/errors.html   The idea is to add an error handler and then through that you can add additional information about what exactly happened.   If you need to debug Lua code in general then here are some options:   http://lua-users.org/wiki/DebuggingLuaCode   Maybe you could use something like: http://studio.zerobrane.com/
  19. shadowisadog

    Where to start?

    Hello Aron007,   Here are two articles from two different approaches:   http://kotaku.com/5979539/a-beginners-guide-to-making-your-first-video-game http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx   You might also find this interesting:   https://www.quora.com/Unity-game-engine/Where-should-I-start-to-learn-game-development
  20. shadowisadog

    Generating and initializing content for a text RPG

    Have you seen this?:   http://rapidjson.org/md_doc_tutorial.html   Every programmer has to fight syntax and "flounder around" at some points. It is part of it. Whenever you don't really understand the way something works it is going to be hard to work with. You may want to consider switching json parsers or perhaps switching languages. C++ is a notoriously difficult language to use/learn especially for people just starting out.
  21. shadowisadog

    Generating and initializing content for a text RPG

    I personally would use JSON for this if I were implementing it today (In the past I might have used XML). You might want to learn about XML and JSON before looking at DB based solutions (which might be overkill for your application).   http://www.w3resource.com/JSON/introduction.php   The key thing here is that your rooms would have some sort of identifier (ID) that you could use to jump between them.   For example if you had a room called "Castle" and one called "Moat" then you could have an entry "South" that told the game engine to go to the "Moat" room.   There are a number of libraries available for C++: http://www.json.org/
  22. shadowisadog

    Need to be taught to make a 3D MMORPG

      Step by Step guides to how to program a specific game are generally not that great as they tend to be inflexible. Sure you might be able to follow it and make game A, but if your goal is to make game B, you're going to have some difficulties.  Programming is all about problem solving, and if you want to create something new, you need to learn how to figure things out for yourself rather than following a step by step guide.   That being said, tutorials on how to program in general can be very useful.  Once you've done some of those, try making a basic game without any assistance.  You'll no doubt muck it up the first time, but it will teach you valuable lessons that will help you in the future.   I'm sure there are people here that can recommend some programming tutorials for you (I can't help you there sorry, as they didn't exist when I learnt how to program so I've never used any myself).   This is what Ive never understood. Every single person I ask how they learned to program such as minecraft modders they tell me that they "taught themselves". How the heck do you just teach programming to yourself. If programming and coding is really as complicated as all of you said it was then how does one learn just by watching a youtube tutorial and then work your self up to making an MMORPG. Do I not need a course for basic programming? Or can I just learn to make simple games then work my self up with youtube tutorials?     I believe that one of the most helpful things you can do as someone just starting out is to focus on the programming fundamentals. You want a course that teaches you how to make a full game... but that is like asking for a course on how to create a skyscrapper when you don't know how to use a hammer.   There are courses out there:   https://www.udemy.com/unitycourse/ http://www.digitaltutors.com/tutorial/1609-Introduction-to-Unreal-Engine-4 https://www.udemy.com/game-development-fundamentals-with-python/ https://www.udemy.com/construct2-the-complete-game-creation-course/   If you wanted to start from the "ground up" there are some very good (and basic) programming courses. The ones I am going to list were designed for "kids", but I find these are an engaging way to learn and you will hopefully learn something:   https://code.org/ https://www.codecademy.com/ https://www.khanacademy.org/computing/computer-programming     Those are some resources to get started understanding the basics of programming. The programming core concepts translate across languages and learning to write programs first will help you wrap your mind around the more advanced concepts.   I started programming in QBasic before the internet. The number of resources and tools around today is staggering and there are so many different paths to get started. I think the key is to just "pick something (read ANYTHING)" and try to make "something". Don't worry about picking the "right" thing. Don't worry if what you make sucks. Just create... program and program and then program some more. Keep programming until you have programmed a LOT and then program even more than that. I have been programming for over 15 years and I learn new things every day.   Once you know the programming basics (variables, flow control, loops, arrays, dictionaries, file I/O, ect) then you can start using "some tool" (there are many out there) to create 2D games. These 2D games will teach you the basics of game development and how a games many systems are constructed (graphics, sounds, user input, AI, physics...)... Once you have some 2D games under your belt then you are ready to tackle the complications that 3D adds (such as more 3D math, 3d models, shaders, ect).
  23. shadowisadog

    Week Of Awesome III - The Afterparty/judging thread!

    Does that mean our standing will change? :)
  24. shadowisadog

    Week Of Awesome III - The Afterparty/judging thread!

    Congratulations to the winners!   I am a bit confused though... The two worst reviews for our game were picked (Servant and Coozie), but swiftcoder also reviewed our game and rated it a 78...  but it is not listed on the main sheet in the results... Is this an error? If I average all the reviews for our game I get 66.4, but the sheet says 63.5...   If I average my theme values:   14, 4, 15, 14, 9   I should get 11.2, but the sheet says 10.25...   I average the game play values:   13, 12, 20, 13, 10   I should get 13.6, but the sheet says 12...   I might be mistaken, but something seems fishy in the math here...   If I try the same average for the game play with Try. Die. Repeat, I get 25, 18, 25, 24 which is the same 23 that is listed in the sheet... so why are our averages not working out?
  25. shadowisadog

    upgrade engineering ui for c#

    I might suggest a different approach than going C# if the 3D engine is written in C++. Qt is a powerful, cross platform GUI toolkit that I find works very nicely. It would probably be less work to create a GUI for your needs in it and you would not need to do the marshaling back and forth between C++ and C#.
  • Advertisement

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!