• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

3175 Excellent

About kburkhart84

  • Rank
  1. Honestly...it is much easier to go the other direction with this. The 'easy' way is to just make a viable UV map, and then copy/paste the image onto the UV map at the right spots. The likely easiest way is to make a UV map, and use software like Substance Painter to paint textures directly onto the model(which makes the UVs not have to be as perfect since you paint directly on the model and it can handle projecting the images despite some UV distortion. You can also use Blender's texture paint for this purpose(but with less features).
  2. Hey, I understand. That's why I specifically mentioned the 'gotchas' with my method. I like my method, but it doesn't work for every scenario. In your case, I don't think using enums would work either, as those work similar to my method and get defined at compile time. I'm no C# expert though, so maybe there is a way to get them going at runtime. My thoughts though...how important is the performance of this particular piece of code. A data structure(dictionary, list, etc...) that is accessed by an index is faster than one accessed by string(with string compare), but does that speed matter here? This may be a case of where you should use whatever is more convenient because the speed wouldn't matter anyway.
  3. Understand...you are using C# with Unity. A thing you can do is make a simple class(not derived from MonoBehaviour). Name it ItemStrings or something similar that you'll remember easily when typing code. Add static variables to your class(type is whatever id you are using for your main loot table, an int for example). The variable names have to be easy to remember, and since they are variable names(not strings), can't have spaces, but could have underscores. The way you go about naming them is up to you. I like the idea of naming "big to small" so I could have AXE_BASIC, AXE_BETTER, AXE_GODLY, etc... so anytime you want to get the id for an axe, you can type ItemStrings.AXE_ and intellisense would list all the axes you have defined as static variables of that class. The only real catch to this is that for this convenience, you pay a bit of a price when creating all the loot, etc... It has to be defined ahead of time in code, not in external files(so it isn't something that can be modded later, don't know if you want mods for your game). The reason is that as far as I know, there is no way to add static variables to a class at run time(which would be required if you loaded external files in or something). Also, each time you added a loot to the loot table, you'd need to add a static int to the class as well. But, if you can work with the catches, I like this solution a lot. Anytime you are coding things, such as which items an enemy carries, you can easily use the class and static variables to easily get the ids of the items, and also get assistance from intellisense in the process.
  4. I'm not sure what the 'configurators' are. I translate the website to English, and it talks about both pens and what looks like 3d 'walkthroughs' of company products. I know CopperCube is kind of a 3d game engine, but it can also be used for walkthroughs. I don't use it though(but I used the irrlicht engine years ago), so I'm not sure how good it would be at it. I'm understanding that the actual graphics capability of Coppercube is not comparable to more modern renderers, like Unity even, or Unreal Engine 4, so if the goal is realism...it will take lots of work. Note that this post is based on the assumption that you are wanting software to create 3d walkthroughs or product presentations that work in real-time. If you are wanting to create the 3d objects themselves, this advice is useless.
  5. Honestly, a good way to learn could be to do 2d games, even if you do them with 3d art. Pong, Breakout, and the surprisingly complex Tetris come to mind for me. You could also do Asteroids. And all of those let you do 3d art with 2d gameplay, so the whole 3d gameplay thing doesn't get in the way of your learning the basic concepts, though you can still get some 3d art in there.
  6. @Gigawatts I will answer a couple questions about Gamemaker. Yes, the objects support inheritance, in fact quite similar to other languages. The objects can have parent/child relationships, where the child is generally the exact same as the parent, except where you change something. So you can have an object child be the exact same as the parent, and change just the sprite...or you can change specific events, for example, making it move differently, while keeping the rest the same. Normally, when you add an event for a child object, it overrides the parent object's version, but you can still call a function to make it then execute whatever the parent had in that event as well. You can also have chains of parent/child objects, though you can't have an object with multiple parents. And in code(or in collision events), you can simply use the parent object, and it WILL include all the child objects of that parent object as well, so if you want all enemies to have the same collision reactions with some other object, you can just put that collision on the parent, and if that other object needs to react the same to all enemies(parent and children objects), you can just check for collision with the parent, and it will include all the children as well. About commercial projects in Gamemaker...there are actually a lot out there, maybe less than Unity, but there are still quite a few. The original version of Spelunky was made in an older version of Gamemaker(though used something else for the console ports). Hotline Miami is another famous one. Vlambeer has used it for their productions as well. There are many more too, and you can find lots of them on the Yoyogames Showcase on their website. About using Unity for 2d....I don't highly recommend it, except for 2 reasons. One, Unity has a nice free version you can use, Gamemaker does not(it has a limited trial though, but it doesn't compare to Unity). Two, if you are interested in 3d at a later time, then it may be in your interest to learn Unity as it can handle the 3d stuff later, so you will have a head start. But, as far as which is better for the specific use case of 2d games, unless you want something specific that Gamemaker can't do well out of the box(like adding 3d effects), Gamemaker is a much better engine.
  7. The only thing you described there that I think Gamemaker can't do is some of the language syntax/features you mentioned from Java. The scripting language(GML) has plenty of functions for math, etc... so I'd be surprised if it didn't do what you want. Care to elaborate specifically what you want that you think Gamemaker can't do? It does have limitations but just based on your post I don't see you going past them.
  8. There are 2 things to consider here. Is it a matter of you upgrading your art skills? Or do you need to change your game engine? In many cases, to get things looking better, all you need is better art. Lots of those older games could have been made with basic crap programmer art, and then got real artists to make better graphics, with little to no code changes(not saying it is the case, I don't know). On the other hand, if you are using a sprite based engine(either your own or something else), and you are wanting something in 3d, then you will need to either code that, or use a 3d engine(Unity is the most common recommendation from what I've seen). Of course, if you are wanting 2d sprites that just look 3d, then you just change the way you make the art, and see the above paragraph.
  9. I don't know details... But I DO know that RPG Maker let's you make changes to lots of things, including the battle system. The catch is that you have to either find the code somewhere, or learn the programming language and make it happen yourself(Ruby is the last language I've seen RPGMaker use, maybe the new version changed). I honestly disagree with part of what Alberth is saying there, though it depends on the situation. RPGMaker provides tons of stuff that is specific to the game style(top down JRPG games). If you only have to change a few things to make it work for you, and you can then use all those other things it includes, then it will be a much better choice for this project then coding it in a "regular language." Of course, if your project doesn't fit the software, either because it isn't even the same genre, or because you want to do too much stuff that it doesn't include, then you are better finding something else. If RPGMaker fits your project, I recommend you head to their forums. They have people more knowledgeable about their scripting language, and may be able to point you to some scripts that have already been created(if they have, that is). This forum IS a game development forum, but when it comes to specific software like that, there are less of us here that know it compared to the dedicated forums.
  10. I currently don't have use for a 'framework' such as this or I'd try it out. Might I suggest though, you take a look at a couple other engines out there, say Unity, GODOT, and maybe even Gamemaker Studio(just for comparison on the 2d side). I suggest you take a look at the feature set they have, in Unity's free version, GODOT(free), and maybe Gamemaker, and see if your engine has something to offer that none of the others have. I don't know your engine, but from what little I saw, the only thing in general it has totally different is the idea that it is a "framework" more than an engine. If you intend to have to be a nice flagship feature, maybe advertise it, and go into more detail what it means and how it compares to other engines accordingly. Also, if you have other features that your competition does not, give them the same treatment.
  11. Congrats!  I've only been around 13-14 out of those 18 years...not as old as some of them here.  I DO remember the old days though.  There weren't any real pre-built engines back then, and NEHE was a much more popular affiliate back then because of that fact.
  12. If we knew exactly what engine(if you are using one) or code/platform you are using, we could give you better suggestions that better fit exactly what you are doing.  For example, if you told me you were using Unity, I would suggest you get a little budget and purchase FinalIK, which would make this problem be taken care of quite handily.  Other engines have IK as well, though not all of them.   In a general sense, there is more than one way to do this.  I don't know your game, but if 'zones' could work, as in if you could pre-can some animations for a few different spots, then you could just play the right animation depending on which zone is closest to the player.  If you made it to where the tentacle ends up flat on the ground, then you could just animate it going straight forward, and have the enemy turn towards the player first, then do the animation.  If that doesn't work then you need a way to calculate the bones.  If you implemented IK, it could be a solution.  Another solution could be sort of making a parabola type of curve and making your bones follow that, but I don't know how well you could make that look good.
  13.   How long do you think it will take to make your project?  Are you expecting to finish soon and be waiting on Unity's new input system?  If you think you will take a while(learning Unity, long project, etc...) then by all means it may be worth trying to wait on Unity's new system.  The catch is that you don't want to be waiting forever, just to find out you can't continue your project without committing to a certain input method.
  14. I personally mentioned Unity, and the actual lacking of Unity's input system.  I highly recommend usage of a nice asset such as ReWired because of this.  Unity's system can handle things somewhat well, but has a couple of downfalls, one of which for me is a deal breaker.  You can't directly configure Unity's inputs at runtime, and that is really a big deal to me.  Sure, you can code stuff on top of that to deal with it, but that takes time of course.
  15. About differences with analog/axis versus button only inputs...one thing some input systems do for anything that works on an axis, such as movement, is to store the input as an analog value between -1 and 1(or if you prefer separate values 0 to 1 twice).  Then if the input assigned to that action is an analog input like an axis, you almost directly map it.  If the input is a button or 2(be it keyboard or gamepad button), you can do a "simulated" axis.  This is one thing even Unity's crappy input system actually does, as do some of the asset store packages that are really nice.   The other thing you can do is keep all inputs to either an on or off state.  Then, if an key/button is assigned, you directly map it.  And if an axis direction is assigned, you say on/off based on some percentage of tilt, maybe 20%, so if the X-Axis is tilted to a +0.2 or more, it counts as 'pressing the button.'   What kind of game you are making will determine which of these methods(or both in many cases) you need to use.