If you are making an RPG, you need to know the Sigmoid function. (Also important for any game dealing with probability, or any game where you want to scale something in relation to something else.) |
- If you are making an RPG, you need to know the Sigmoid function. (Also important for any game dealing with probability, or any game where you want to scale something in relation to something else.)
- Game Engines: A Guide For Writing Your Own
- A Guide to "Low Level" programming: learning how to make games from scratch
- Screenshot Saturday #393 - Dynamic Colors
- Can we use Illuminati logo in a game?
- Make your PNGs smaller with this easy to use online tool
- gfx-portability is ready for competition with MoltenVK for Vulkan-on-Metal
- Why Sound Design is so Important in Games
- The convention for the sign of the distance for a 3D plane
- A game creation and distribution I created
- Feedback on Scoring System
- Does anyone know how to make bullets fire towards the mouse?
- Developer Log
- 3d modeling vs 2d painting for isometric games?
- Make a Rhythm Game like LLSIF or Idolmaster?
- Should packets be grouped before sending?
- Inside the Star Citizen Development Process - Interview with CIG's Studio Director Eric Kieron Davis
- Introduction!
- I’m developing a 2D platformer, and I was wondering; is it acceptable if the character’s weapon only appears when they’re attacking?
- Better Off Dead - New Weapon Animations (Please leave feedback)
- I want to make games as a hobby but i don't know where to start
- I've been making a game set in Pripyat/Chernobyl before the accident
Posted: 11 Aug 2018 01:55 AM PDT Pic showing what the sigmoid function does So you're designing your RPG combat system, and you think "I want this character's dexterity to affect the likelihood of this arrow hitting the target." How do you go about modeling that? How do you balance it? There are lots of ways to do it, but my favorite approach is with a custom sigmoid function. Start off like this: That way, you have a range that goes from nearly 0 to nearly 1. If skill == difficulty, the odds are 0.5. That's what we're going to call our raw odds. Now let's say that you want to set a threshold. If your skill is below that threshold then the difficulty is much harder, but if your skill is above that threshold then the difficulty is much easier. Now we make our sigmoid function based on the raw odds we calculated earlier. Using a sigmoid function to get your adjusted odds basically does this: For the picture I posted above, Steepness is -10 and Offset is 5. To tweak the sigmoid function for your own use, recreate these formulas in Excel, make a chart, and play with the Steepness and Offset variables for a range of Skill and Difficulty that makes sense for your game, until the adjusted odds look right. I use sigmoids to tweak the likelihood of an attack being blocked or dodged. You can use a sigmoid function in a game like XCOM to adjust the likelihood of a UFO invasion based on the time since the last invasion, so that you don't hit your players with invasions two days in a row or bore them with weeks of calm. I don't know what other examples you might think of, but in general, if you want a custom curve, see if a sigmoid would work. [link] [comments] |
Game Engines: A Guide For Writing Your Own Posted: 11 Aug 2018 02:30 AM PDT This post is based on my own experience writing small engines and creating games with them (by myself or in groups), as well as what I noticed when using actual AAA engines and game editing tools. If you have differing opinions/expanded insights, please start a discussion below! What Is A Game Engine?When you hear the term "game engine", it's easy to think of platforms like Unreal Engine, CryEngine, Source, etc. These are examples of AAA engines that were built over large spans of time (Source started back in 1999 and is only just now, after years of iteration, being replaced by Source 2), and had very skilled development teams behind them. However, for this type of guide, these are actually not the best examples. They are simply too large and too complex for a small team to build, much less one person. Instead it is a good idea to think about what an engine is at its core, and then decide what exactly yours will need to support. For one person/small teams, this inevitably means writing a specialist engine that makes a lot of trade offs that something like Unreal Engine 4 can't afford to because of the massive developer base they support. So, at its core, what is a game engine? A game engine is a platform that abstracts away a lot of low-level details so that developers can more quickly and painlessly build a certain type of game. Critically, the game engine can be reused for different projects, meaning that while it may be built for a certain type of game (i.e., RTS), it is not built for any one specific game (i.e., Starcraft 2). Modern AAA engines are actually more like a conglomeration of smaller engines and utilities glued together to form a cohesive whole: Sound Engine, Rendering Engine, Physics Engine, Networking, Multithreading Manager, etc. Some people, when imagining a game engine, might think of things like the Hammer Editor, Unreal Editor, or Galaxy Editor - tools that let a developer import models, position game objects, add world events, etc. all through a GUI. These are not examples of game engines! You can write a game engine without having one of these. These are tools built on top of/alongside a game engine to make developers live's easier. If you don't provide these tools, then developers will end up doing a lot more C++/Java/*engine language* to create the levels with the engine. With this definition of a game engine, it is easy to see how much variation can exist based on the actual requirements for the engine/size and skill of the team building it. Not looking to build open-world RPGs? Maybe you won't need to implement an aggressive world-streaming system to create the illusion of a continuous world. Don't need to support RTS games? Probably won't need to support the ability to select hundreds or thousands of units and buildings at a time, or good top-down camera support. But it can go even deeper. Do you only plan on making 2D games since 3D is a lot harder to implement and get right? Maybe you only need to use an existing graphics framework like SDL rather than learning a lot of 3D math and writing an OpenGL front end/back end renderer. The variations are vast in my eyes, and this is what makes it possible for small teams to build an engine from scratch. If Unreal Engine 4 was the only viable level of complexity to have an engine that can make games, most of us would be better off not trying. In reality, you can go a long way with a small(er) engine, and with the right expectations. (Your) ExpectationsWriting an engine requires obvious things like skills with programming, a high level of interest and drive to build an engine from the ground up, and enough time to accomplish what you want. It is key, then, to decide what kind of monster you want to fight. Examples Of Engines (Small to Large)
How Should You Get Started? For this it will probably be helpful to imagine a type of game you'd like to make, and then think about what an engine that could build that game would look like. Keep iterating on this step until you come up with a game whose engine nicely fits your current level of skill (or even pushes it a little). If you want your engine to be used to build something like Pong and Pac-Man, you will need a way to collect user input from the keyboard, basic audio, 2D graphics, and very simple collision detection/response. This type of engine would be very small and simple. If you want one that could do something closer to super meat boy, you will need a more advanced animation system and better physics, for example. If you want to do a 3D game, but one that has similar constraints to DOOM/Duke Nukem 3D (these technically used 2D world layouts), you will need a more advanced renderer, more advanced input collection and animation, but still a very simple collision detection/response system. This is a good first type of 3D game to make! Keep in mind your time constraints and level of interest. If you already have experience programming and if you've made a couple of games before, AND you don't mind this taking half a year to a year+, feel free to set your sights on a more ambitious 2D or 3D engine. If you have a lot of time but have no experience programming, set your sights on an engine that could comfortably make something like Pac-Man. Also accept the fact that your engines will evolve, and there will probably be more than one. My very first engine was extremely simple, and I used it to make a little puzzle game. My second engine was capable of 3D rendering, but it had a 2D floor plan for simple physics. My most recent game engine was used in 4 separate projects because it was more well-designed, easy to use and reuse compared to my previous ones, and it took around 5 months to write. With each engine I used what I had learned from writing the previous ones, and then also pushed my boundaries in select areas in order to top myself. Potential Roadblocks
ConclusionGame engines come in a huge variety of flavors. This is part of what makes them so interesting and such unique pieces of software, and they are personally my favorite thing to study. For me, my extreme interest in game engines is what pushed me to find any way to write my own despite the difficulty. When I first started, this meant scaling back the requirements severely until I had something I could actually deal with. Over time as I gained more programming/math experience, and as I wrote more engines, I found that what I could ask of myself increased. As a result, my engines got more interesting and more complex. I would not be surprised if your journey takes on a similar style. It is also worth noting that eventually, we all hit the inevitable wall: there will come a time when you get so good at making your own engines that the only way to top yourself is to either radically increase your skill level and invest far more time than before, or recruit a team to work with you. Is that such a bad place to end up? Maybe not, I'm not sure. Good luck! [link] [comments] |
A Guide to "Low Level" programming: learning how to make games from scratch Posted: 10 Aug 2018 05:28 PM PDT This post is my opinion -> saves me from harsh criticism note2: I kind of feel like a scumbag with a click bait title since I say low level but I don't actually speak on assembly, hex, and the sort. this guide is more for the complete beginner who has no direction at all on computer programming. if you want assembly hot takes... look elsewhere. asm takes a lot of syntax and memory knowledge and mixes it all up together. the only way to learn asm is to just sit down and learn it. a good resource to start with are the nerdy nights nes 6502 asm tutorials. -Preface- Game programming can often be some of the most grueling programming there is to implement. Unlike most applications, game programming at its best can push pc performance and memory to its limits. It requires a fine understanding of low level computing and an inane amount of code optimization strategies. It is also one of the most rewarding things to program. Not only have you created a virtual world all on your own, you've essentially become a programming wizard who has the knowledge to manipulate your computer to do as you bid. This is a long and difficult journey, if your goal isn't to become a PC wizard but instead just to make a small little game to send to friends then pick up a game engine like unity. It's simple and gets you running towards game creation quickly, no shame in that. But if you want to truly understand game development at its core then this guide is for you. -step 1: learn C++- This is non-negotiable. As much as people say you can use any language you want, you can't. You absolutely need to understand memory management and concepts like * (pointers) and & (references). high level languages like java do memory management for you and it is often slow and unreliable for game programming. Is it possible to program a game in java? Yes, absolutely, but it isn't beneficial towards your learning experience. When you eventually start to care about performance (it's far in the future but it will happen) you'll quickly realize how little you actually know about how computers manage memory. While it may be a little harder to pick up C++ over java, it'll be worth the time and effort
resources:
-step 2: API's aren't cheating- In modern computing everything needs a driver. To stay commercially successful you need to make a driver for your hardware that supports the newest and most popular OS's. So how can other programmers program these device's? through Application Programming Interfaces (API). These libraries do the super low level code so we can program the hardware without knowing 100% how it works. THIS IS OKAY. When I first started learning programming I was frustrated and confused when I found out I couldn't just put a pixel to the screen but instead I had to use someone else's library. Now I know that because a GPU involves millions upon millions of different transistors it would be a HUGE waste of time if I tried to write pure code to be read by the GPU, so API's are really a great thing and they won't limit you at all. But what API should you pick up first? A little library called SDL (2D focused game framework). Now this might be a bit of a cheat because this library is a framework, meaning it handles most of the rendering, window creation, and inputs so it's not really a driver more like an extra layer above the driver. The reason I recommend SDL is because the next step after learning C++ shouldn't be learning low level API's like DIRECTX or OPENGL. Instead this is where you should refine your coding structure, organization and techniques. resources:
-step 3: more API's- this next step depends on you. There are a bunch of different API's to learn to get into more low level programming when you're ready to move on out of SDL and 2D game programming. First you need to pick up the basic OS API. for windows this is going to be WIN32 and for OSX it'll be Cocoa. These interfaces let you interact with the operating system to create windows, get inputs, and make basic event driven applications. once you have that done (and it doesn't really take too long) you can move on to the heavy hitters, 3D rendering API's. Technically you can also render 2D using these API's but there main focus is on efficient 3D rendering. Now, DO NOT START (meaning you can learn it later) WITH DIRECTX12 OR VULKAN. these are really low level API's made for the pros. they are hard to learn and require a deep understanding of how 3D rendering works. We want to start off with something much more tame (but still crazy efficient), DIRECTX11 (DIRECT3D11 to be specific) and OPENGL. These bad boys were made with us beginners in mind (kind of, not really though). They still take a lot of patience and practice to get down but they aren't nearly as complex as the former 3D API's. resources:
And that's my guide... kind of emaciated but programming is so broad that I can't lay everything out, here are just some top picks from personal experience. Hell I'm still going through this magical PC wizard journey and I'm still having trouble learning 3D rendering but hey, I'm sure some of my experience will help someone TL;DR - this is a guide on learning programming: if you didn't have the patience to sit through the post then I can't really help ya any. sorry :( note: as many people have mentioned in the comments, math and theory are king. this guide was more of a beginners guide to programming syntax and some theory. there is a lot of mathematics in computer programming (especially 3d rendering) so don't skimp out on 'em. edit: spelling and grammar and note [link] [comments] |
Screenshot Saturday #393 - Dynamic Colors Posted: 10 Aug 2018 08:09 PM PDT Share your progress since last time in a form of screenshots, animations and videos. Tell us all about your project and make us interested! The hashtag for Twitter is of course #screenshotsaturday. Note: Using url shorteners is discouraged as it may get you caught by Reddit's spam filter. Bonus question: What is a video game that you feel pushed the medium forward? [link] [comments] |
Can we use Illuminati logo in a game? Posted: 11 Aug 2018 09:12 AM PDT Hello i'm creating a platformer game and i want a boss to be the Illuminati logo. I know for sure that i can't use their like original logo but can i like draw it as a pixelart and than use it? Thanks [link] [comments] |
Make your PNGs smaller with this easy to use online tool Posted: 11 Aug 2018 11:30 AM PDT |
gfx-portability is ready for competition with MoltenVK for Vulkan-on-Metal Posted: 10 Aug 2018 02:38 PM PDT |
Why Sound Design is so Important in Games Posted: 10 Aug 2018 05:36 PM PDT |
The convention for the sign of the distance for a 3D plane Posted: 11 Aug 2018 09:28 AM PDT I'm creating a math library. I'm making a simple 3D plane, to store a plane i need a plane normal and distance. So
My convention is that But you could alternatively store Is there a convention whether to store the distance as negative or positive? So in algebraic terms
or
So depending on my frame of mind i could store A quick look around at some random code, like this... https://github.com/juj/MathGeoLib/blob/master/src/Geometry/Plane.h The comment says...
This library has used the same convention as i have, is this common? A textbook i have uses the opposite convention (ax+by+cz+d = 0). (Please note this question is not about how to construct a plane, or do the actual math, it's about the convention for storing the data) [link] [comments] |
A game creation and distribution I created Posted: 11 Aug 2018 09:22 AM PDT I've been working on this project of mine that lets people without any knowledge in programming to create game, very similar to RPGMaker, but what is different with my project, is that I focused on the ability to customize mechanics and even interface, and other peripherals like assets and distribution. Currently you can only create very simple browser RPG games, but there is still alot that I want to add, that eventually people could create just about any game (in the frame of typical genres) with complete ease. Bu t for now this platform is really lacking, so I would really apprentice any possible feedback. [link] [comments] |
Posted: 11 Aug 2018 09:09 AM PDT I would like to get feedback on ideas for the scoring system for the game I'm working on. This game is sort of a restaurant simulator (think Diner Dash) with a few tweaks here and there. One of the main differences is that customers can order between one to three items. There's a 50% chance that a customer will order another item or will leave each time they finish eating. Customers can leave tips, and this is affected by their happiness level. Happiness ranges from 0 – 100 and goes down depending on how quickly you tend to them. Customers also have five hearts above them to represent the underlying happiness level. One heart is filled if happiness is between 1 and 20, two hearts if happiness is between 21 – 40, etc. Each filled heart is worth 5 points. Every item a customer orders is worth 50 points. The final score for a given customer is calculated by the number of items they ordered plus the tip. For example: a customer who ordered two items and has full happiness will have a score of 100 (2 items) + 25 (tip) = 125. Now the tricky part is calculating the passing score for the level dynamically. I want this to auto-adjust based on the number of customers per level, so I don't have to set it every time I make a new level. The current approach I'm taking is minScore = (fullHappinessTip + OrderItemValue) * CustomersPerLevel * percent. Full happiness tip is 25 since each heart is worth 5 points, OrderItemValue is 50, CustomersPerLevel varies, and percent is .75. Percent means that we want at least 75% of the customers served to leave with full happiness (25-point tip). A sample minScore would be (25 + 50) * 10 * .75 = 562(rounded). This approach works well if each customer orders exactly one item. However, customers can order between 1 and 3 items so the achievable score can vary from 562 to 1312(assuming everyone ordered 3 items). I've considered using the average of the possible values for number of items ordered which would be 50(1 item) + 100(2 items) + 150(3 items) / 3 = 100. This cranks the difficulty way high since the min score is 937. I'm kind of stuck trying to figure out the best way to calculate the min score when the number of items ordered can varies. Any suggestions or ideas? Am I going about this all wrong? [link] [comments] |
Does anyone know how to make bullets fire towards the mouse? Posted: 11 Aug 2018 08:20 AM PDT As you saw from the title I need help figuring out how to make bullets fire at the mouse. I am mostly having difficulties with rotating the bullet and making go the right way. I tried watching this video on firing "https://www.youtube.com/watch?v=Ak2qkzY9Az8", but I got confused. I am using SDL2 in C just saying. For anyone that helps thanks! [link] [comments] |
Posted: 11 Aug 2018 08:02 AM PDT Hi guys, I just wanted to share a developer log I released a bit ago. In the post, I first share what the game is about and how it plays. Then, I go more into technicals and talk about how the underlying systems work. Give it a read and let me know what you think! https://www.omnirift.com/single-post/2018/07/30/SKRPG-Developer-Log-1 Thanks, Bilal [link] [comments] |
3d modeling vs 2d painting for isometric games? Posted: 11 Aug 2018 01:59 AM PDT Hi, I'm wondering which way would be better to go to learn, painting assets (sprites and such) in "photoshop" or making 3d models and painting textures, maps and such? I'm just a hobbyist and I can learn both. I did some modeling in past and now I've been drawing for a while too. I plan to use Unity (stand alone) and Phaser (web games). Sprites would work better in Phaser but I'm currently mostly focusing on Unity to get more accustomed to it so I have an option to go with 3d models in future as well as 2d sprites. I can create sprites and I've made and animated 3d models too. So I'm wondering which one do you guys prefer for isometric games (rpg - icewinddale, diablo; strategy; tabletop - heroes of might and magic, civilization;), realistic, fantasy, sci-fi and why? I have the luxury of taking my time with the project it's something I do for fun. I currently have a plan to buy tiles from unity asset store to speed up things a bit and mostly because I really like it but I can add monsters/characters with 3d models as well as painted sprites because the assets would work with both graphically. Painting everything would be more time consuming than modeling but I'm not that confident in animating 3d models yet so both has it's merits for me. Thanks for you insight. [link] [comments] |
Make a Rhythm Game like LLSIF or Idolmaster? Posted: 11 Aug 2018 03:40 AM PDT Hey guys, if you know games like LLSIF or Idolmaster, can you tell me what kind of things are necessary to make that kind of game? I am a quick learner so I do not think I will have any problems with any program. If there are those who do not know these games, I just added a picture of the rhythm part. The games are actually more extensive. What do you think? [link] [comments] |
Should packets be grouped before sending? Posted: 10 Aug 2018 09:28 PM PDT When sending network data from the server to the game client, should packets be sent as soon as the information is generated, or should they be grouped and collected before being sent at regular intervals? [link] [comments] |
Inside the Star Citizen Development Process - Interview with CIG's Studio Director Eric Kieron Davis Posted: 11 Aug 2018 06:16 AM PDT |
Posted: 11 Aug 2018 09:52 AM PDT Hello Good People of r/gamedev! My Name Is Michael (Call Me Mike!) I have a passion for music, and would love to work with anyone that needs music for their new games! Any Kind Of Song Is Okay, As Long as if its not that complicated! If Anyone Wants to work, you can add me on Discord : Playboi Mike#6877 Love, Mike! [link] [comments] |
Posted: 10 Aug 2018 01:32 PM PDT Could it be excused as a "game thing", or would it be too odd since they're supposed to be carrying it? Also, are there any other platformers that have done this before? I hope this doesn't break any rules, please tell me if it does! [link] [comments] |
Better Off Dead - New Weapon Animations (Please leave feedback) Posted: 10 Aug 2018 08:28 PM PDT |
I want to make games as a hobby but i don't know where to start Posted: 11 Aug 2018 05:47 AM PDT There's so much differing information online and I have no idea where to begin- especially since i can't really spend money on it. If it helps, I am a natural at learning programming (the little work I have done on them I did so quickly) and so won't have to rely on other kinds of creation- as long as there are good tutorials online. [link] [comments] |
I've been making a game set in Pripyat/Chernobyl before the accident Posted: 11 Aug 2018 12:06 AM PDT Hi Reddit! I've been modelling the city of Pripyat using old photos during its construction and before the accident for reference in my spare time, using Sketchup for the modelling and Cryengine for the rendering (and playtesting). Not sure where this is headed, foremost I'd like to just make it interactive and explorable, but feedback has been to add GTA-like missions and a story that takes place during and after the accident. What do you think? Anything you'd like to see? [link] [comments] |
You are subscribed to email updates from gamedev - game development, programming, design, writing, math, art, jams, postmortems, marketing. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment