How we're making procedurally generated worlds more interesting |
- How we're making procedurally generated worlds more interesting
- I research gamedev topics and write video essays/tutorials about them! Today’s video covers the properties and methods of Unity’s Built-In Character Controller! With a solid understanding of this component, we can learn to properly implement movement for our characters! (Link to Video in comments)
- C++ for Beginners
- Rapid decline of new players after every update on Google Play
- I've used the event keyword in C# for a long time without really understanding what it does. It turns out it's a lot simpler than I imagined. Once you understand how function delegates work, it's just one tiny modification to get to events.
- List to help people learn game development
- Almighty Game Developers
- Questions for industry professionals.
- Can anyone recommend me service providers who offer CERO Age Rating applications to non-Japanese studios?
- Share fan-art during development?
- Making An In-Game Level Editor In Unity
- I'm looking for an engine suggestion to use in a classic Resident Evil style game
- Question about Verlet rope's distance constraint
- Question on architecture of online strategy games
- Generate 2D dungeon using only unaltered prefabs
- How would you implement Fallout-style "Perks" in a flexible, straightforward way?
- Photorealistic Vintage Television | Blender intermediate tutorial | Part...
- An affordable way to play test your game with reddit.
- Designing a Single Character Turn Based RPG Combat System
- Shameless plug! Free accessibility conference GAconf Europe
- Video game development requires skill, patience, and sometimes dumb luck. Here are 6 instances of that dumb luck changing the gaming landscape forever!
- How do you figure out the age rating for your game?
- If you don't know why MonoBehaviour is in every script in Unity, see this
- Should I accept game design jobs on mobile if my main goal is to work on PC/Console games?
How we're making procedurally generated worlds more interesting Posted: 22 Mar 2021 07:58 AM PDT https://reddit.com/link/mapk93/video/f5s3h27eglo61/player (I'm writing up this mini-tutorial based on my experiences with procedural world generation in the hope that it might help out someone else who is new to all this, like I was 12 months ago). One of the things I love about games like Minecraft and Terraria is how incredibly varied the randomly generated worlds are. They invite and encourage exploration, and I wanted to try to put that same feeling of discovery into Little Martian. But every time I researched procedural generation I kept coming across the same warnings: if not done well, procedural generation can lead to worlds that – whilst being unique – all sort of 'feel' the same. And Perlin/Simplex noise algorithms seemed to be at the heart of this issue: they make it easy to generate random worlds, but also make it easy to generate boring random worlds. Nevertheless, armed with bags of inexperience I forged ahead naively! :-D I started with this excellent article by Red Blob Games, which explains the finer details of noise functions far better than I ever could: https://www.redblobgames.com/maps/terrain-from-noise/ I quickly had something working, but as expected, all the worlds were a bit boring! 10 minutes of exploring and you'd seen all they had to offer. But I wanted to stick with this Simplex noise based approach for two reasons:
The reason for these requirements is that I want to be able to adjust the climate of the world dynamically, warming it up, cooling it down, adjusting the moisture levels, raising the sea-level, etc, in response to the player's actions. That wouldn't be possible if I had to generate the entire world up front. (Hopefully I'll explain all of that in a follow-up post). So I began looking at ways to make world generation more interesting. Here's what worked for us, your mileage may vary: Lots of itemsGiven the retro art-style I didn't have a lot of scope to vary the base tiles for each biome. The colours of them vary, of course, but there's quite a bit of texture re-use. So instead, I try to bring the worlds to life with more variation in the items that occur naturally in each biome. For example: "grasslands", "warm forest" and "cold forest" biomes all have the same base tile (grass), but the items found varies greatly: "grasslands tend to quite bare, with lots of tall grass and plants, whereas the forest biomes contain lots of trees, mushrooms, plants, fallen trunks, etc. Generate more noise valuesI started with just three noise values: temperature, moisture, and elevation. I generate each of those for each cell, then map from those to biomes. Less than sea-level? Then it's 'ocean'. Moisture low and temperature high? Then it's 'desert', etc... This got us so far, but it didn't help with 'special' biomes such as the "void", "magma" and "sulfur fields". For these I generate extra noise values, and I let these special biomes override regular biomes, though there are some exceptions, such as "magma" biomes can only appear where it's hot. Apply transformations to noise valuesNoise functions tend to generate noise values that give cloud-like textures, with areas of low values and areas of low values all pretty uniform in shape and size. For the "mineral vein" biome I wanted to generate curved strips that sweep across the landscape in long arcs, so I calculate two noise values Let special biomes influence regular biomesA cell gets the "mineral vein" biome if the Vary climate more graduallyWithin the space of just 4 or 5 chunks (8 x 8 tiles) the temperature can range from very cold to very hot, giving a dramatic change in biomes. I also generate a 'base temperature' noise value that varies far less dramatically, changing only by at most 0.01 per chunk. By combining this base temperature with the local temperature, the climate varies gradually across the world, but there can still be localised hot and cold areas. Prevent special biomes close to the spawn pointThis feels a little artificial, but seems to work quite nicely. We don't allow special biomes to be generated too close to the world spawn point. I achieve this by applying a transform to each of the special noise values if the distance to the spawn point is less than the threshold for that biome type. This has a practical benefit: the player cannot spawn in or near a biome they aren't equipped to deal with early on in the game, but also it encourages/forces more exploration! :-D Thanks for reading Thanks for taking the time to read this mini-tutorial. It's based on my experiences of procedurally generating world, and I hope it's useful to you. I'm happy to answer questions here in the comments, or on Discord, and I'm happy to share bits of the source code too, if it's useful to you! :-) If you want to check out Little Martian's world generation implementation and judge for yourself how it performs, there's a free public demo available. [link] [comments] | ||
Posted: 21 Mar 2021 06:12 PM PDT
| ||
Posted: 22 Mar 2021 04:17 AM PDT Hi! Considering a lot of newbies join here looking for a guide of where to start, I thought they could do with some guidelines. I will post a 5-episode series of one of the most popular programming resources used for making video games and posting them 1 per day! However, I don't know if that would be allowed in this sub, so I recommend joining r/outscal if this is something that you could make use of!
[link] [comments] | ||
Rapid decline of new players after every update on Google Play Posted: 22 Mar 2021 03:20 AM PDT So my team and I released our game about 4 months ago on Google Play and for the first 3 months we have been updating it about every other week. After a while, we have noticed that each time we release an update, we basically start from scratch in terms of new player acquisition. Then we didn't update it for a month and during that time we got 3 times as much players as in the first 3 months combined. Last week we've released another update and again... our playerbase plummeted down to only 5-10 new players per day (from ~140 per day). We expect this to increase every day like it did before, but I wanted to ask if anyone else had the similar experience and if it can somehow be avoided [link] [comments] | ||
Posted: 22 Mar 2021 09:41 AM PDT
| ||
List to help people learn game development Posted: 22 Mar 2021 10:59 AM PDT Hi, Im creating a repository to help people learning game development, by listing good youtubers, tutorials, guides, etc. Fell free to help, if you want I can share the rep, or put your name in the credits. The link: https://github.com/Toscan0/Tutorials/blob/main/README.md [link] [comments] | ||
Posted: 22 Mar 2021 10:48 AM PDT Almighty established game developers, help me out. I am starting my journey in this game development career as a somewhat older young man (to my standard(28)). I say career because it is a career changer and I will be devoting my full time into this, although I have no skills yet. So! Skills I can learn, which I am doing right now. But! Meeting people. Quality people. That I can't learn. So here's the question. How and where do I meet quality people who gives 100% to this career? To be more detailed, where do I find these down-to-the-bone game developers? and how can I approach them? All answers are appreciated. I am a new novice beginner, but stuff like networking and building community is what I want to start as soon as possible. Despite this style of talking, I am actually very sincere about this. So don't think me as a fooool! Thanks. [link] [comments] | ||
Questions for industry professionals. Posted: 22 Mar 2021 03:10 AM PDT If this is not allowed I am sorry it will be taken down.
[link] [comments] | ||
Posted: 22 Mar 2021 11:22 AM PDT | ||
Share fan-art during development? Posted: 22 Mar 2021 08:20 AM PDT Hi all, At the moment, me and 2 friends are creating our first game. We made some posts on social media to get some attention, which inspired some people to send us fan-art. Eg: Fan artist makes a concept for an attack, a similar attack is in our game but not made public yet. Is it smart to share these fan-made-images that can relate to stuff in our finished game? Thanks, and have a nice day :) [link] [comments] | ||
Making An In-Game Level Editor In Unity Posted: 22 Mar 2021 07:39 AM PDT For the past two weeks, we have been working almost entirely on our in-game level editor. Our game is comprised of obstacles with timed explosions that the player must weave their character through in order to avoid dying. One of the most important features in the game for us is the ability for players to create and upload their own maps to the steam workshop. Rat Race is based heavily around the Bounds type of map from StarCraft UMS game type. Within starcraft itself, it also came with the ability to create and share your own maps, likely keeping that community alive over the years with its many different map types. The goal for us is similar, not only provided an interesting set of included maps, but also the ability for players to give each other a level of replayability that an indie studio like us couldn't provide otherwise. So, here is how we have started to create our editor. First, let's dive into what our level format is. If you look below you will see we have a list of tiles, their positions, and tags for the start/end of a level or ob as we call it. Then you'll see the actual fire sequence. This tells our code which tiles to fire at which interval, with time in milliseconds. Also at the top, there is some metadata that we use to keep track of things like who made the map, which version it is, etc. Also at the end starts the layout data for the walls which we cut off for brevities sake. Now up until recently, we had a pseudo-level editor working. We essentially would place and organize the tiles on a grid in the game view in unity and save/load with hotkeys. To do the fire sequencing data we would switch back to a scene view and edit object data at runtime. This process could be very tedious, especially for more complicated levels. But, it worked really well for the final assembly of our Level Designers levels. The whole reason we needed this final assembly step is that we decided very early on that our Level Designer could initially make her levels in a program called Boundmaker that saved files in an XML format. This XML file was filled with a lot of stuff we simply did not need for our game at this point. Which is fair because it was designed to integrate with the StarCraft map editor, not our game. To speed this level design process up we created the Ob Editor. A robust tool with much of the same functionality of Boundmaker that works inside Unity builds. Here is a screenshot of the Ob Editor with a level open. Keep in mind the UI art is basically nonexistent at this point. The buttons along the bottom of the screen are the buttons for placing various tiles, playing the level you just made, save/loading the ob, and some useful functions in level editing. The top right shows you some information about which tile you selected, and editing the start and end of the level. Now the real crazy stuff is on the left with editing the firing sequence in the level. Clicking the Ob Step button hides this panel. The buttons along the top allow navigation through the fire sequence with the ability to add or remove a step. The test fire button lets you see the explosions taking place. Time ms is how long the sequence will wait before firing the tiles selected to explode. Tiles show you which ones are firing in that sequence. Finally, adding the selected tile, well adds whatever firing tile you selected to the current sequence. All in all the trickiest parts of all of this included creating text fields with delete buttons dynamically whenever a tile is added or upon switching a step in the sequence. All in all, we feel like this will be a useful tool to not only our team but players in the future. [link] [comments] | ||
I'm looking for an engine suggestion to use in a classic Resident Evil style game Posted: 22 Mar 2021 08:41 AM PDT I have an idea I want to work on that is essentially a mid to late 1900's era supernatural investigation type game where you use clues to identify what kind of abomination is lurking, be it beast or ghoul, and use the appropriate tools to get rid of the creature. My vision for this game is to have it strongly reminisce of those great resident evil games with tank controls and pre rendered backgrounds for players to explore while achieving this goal, and to have it much more expensive. No single story line, just a bunch of disjointed cases to solve over a mild variety of locations. It would be nice too if there's an easy way to implement user generated content. I'm learning unity and rpg maker. Rpg maker obviously obviously isn't the choice for this project, but I'm not sure about unity for this. Any suggestion would be much appreciated [link] [comments] | ||
Question about Verlet rope's distance constraint Posted: 22 Mar 2021 09:44 AM PDT I'm having difficulties understanding a key constraint of Verlet ropes, to my understanding the distance constraint wants each point for each points pair to move close to each other or away from each other depending on the distance between them, my question is why should this constraint be applied to both the points per pair and not to just one point per pair? Verlet rope's dinstance constraint code may look something like this: While in my mind this code looks more correct: Without applying velocity both the codes have the same behaviour, when applying velocity the first code works fine but the latter makes the rope swing around like crazy. It's probably just me who didn't enter the Verlet rope physics mindset yet. Do you know why each point needs to be pulled both the directions? [link] [comments] | ||
Question on architecture of online strategy games Posted: 22 Mar 2021 06:18 AM PDT Hi Curious about architecture of "online strategy games". An example being something like Evony or maybe Forge of Empires (only heard of that one). I mostly work with web apps, and am still relatively junior. So this might be the case of everything being a nail, but I was thinking about how you might set up some webserver with a bunch of endpoints that sends JSON calculations (eg; battle results, confirmation of transaction, result of a random roll) and dynamic data (eg. Character stats + names, all loaded at startup). Presumably it also does all the CRUDdy stuff and functions kind of like a webapp in that regard. I'm imagining the frontend would be something like a Unity mobile app? But then I thought this might be relatively inefficient compared to something that sends binary data over UDP, like in a traditional game server. Maybe this wouldn't actually matter for these slower types of games where things are typically in terms of minutes + turns, but I don't really know enough to have a good intuition here. If anyone has any experience or insight, I would love to have some further information on how things like these are usually architected properly. I can't find a lot of discussion [link] [comments] | ||
Generate 2D dungeon using only unaltered prefabs Posted: 22 Mar 2021 11:16 AM PDT Hello guys, I am working on a small project to learn some coding. Basically I would like to generate a dungeon that uses a finite number of prefabs rooms (with junctions that cannot be altered). This comes from the fact that I want to generate dungeons that could also be built using a physical board game and its tiles (Space Hulk). The different iterations I tried were :
So are you aware of a game or an algorithm that uses differently sized prefabs unaltered and creates dungeons (with loops, and connected path etc)? Thanks ! [link] [comments] | ||
How would you implement Fallout-style "Perks" in a flexible, straightforward way? Posted: 22 Mar 2021 02:14 AM PDT Let's say I'm making a role-playing game, and I want a character to have context-specific bonuses - like their sword has a double chance of critical-hitting if the opponent is a Kobold, or they never have a less-than 50% chance of hitting an opponent with an attack, or, as per Fallout, they have a bonus to the success of their speech rolls in conversation with characters of a certain gender. My current solution is to have these bonuses as an object with an enum for every type of value, a delegate that takes the unit and the enemy unit and returns a boolean for whether the bonus applies, and a few more ints and enums for what the bonus (or penalty) is, whether it's an absolute value or a percentage, whether it's a bonus, a minimum, a maximum, etc. Making the bonus involves writing the function which goes in the delegate, which is flexible but involves writing code. The combat controller has an event system for applying these bonuses when the relevant type of value comes up - just after weapon skill and weapon accuracy come together to form hit percentage, for instance, it checks for "Hit Percentage" bonuses. There's definitely room for improvement - for instance, by not having a solution for the check conditions that would be achievable in the Unity inspector, I'm limiting myself to working with designers who can code. This is the first time I've thought about or implemented a system like this, so I'm curious for other perspectives. Do you have, or know of, any alternative ideas for how you would tackle a feature like this? [link] [comments] | ||
Photorealistic Vintage Television | Blender intermediate tutorial | Part... Posted: 22 Mar 2021 10:25 AM PDT
| ||
An affordable way to play test your game with reddit. Posted: 22 Mar 2021 09:51 AM PDT
| ||
Designing a Single Character Turn Based RPG Combat System Posted: 22 Mar 2021 02:08 AM PDT So I am in the process of prototyping a single character turn based 2D RPG combat system. I am looking for a game that has a 2D Zelda like world with the biggest difference being that everything is turn based (both exploration and combat). Most of the turn based games that I seen are focused on party based and the only recent game I can find like is Stone Shard (which is in early access). Does anyone know of good turn based rpg (at least for the combat) that focus on a single controllable character or maybe rogue-like that have an in-depth combat system (since they usually focus on a single character and are turn based)? Also, if anyone has an generally advice regarding this kind of system, I would like to here that too. [link] [comments] | ||
Shameless plug! Free accessibility conference GAconf Europe Posted: 22 Mar 2021 09:29 AM PDT Free conference on game accessibility! Two days of talks and networking on making games accessible to disabled gamers, on April 5th-6th. Speakers include Raskal, Capgame. King, Xbox, Remedy, PlayStation, Flying Oak, Ubisoft, Scope, and a whole bunch of disabled gamers & advocates. Topics include low vision approaches to wayfinding, applying usability techniques to accessibility, case studies of the accessibility work on Watchdogs Legions, Control, Candy Crush and Scourgebringer, designing for aphantasia, life as a disabled developer, agile accessibility as a solo indie dev, and the new Xbox accessibility guidelines and testing service. Schedule & registration are at http://www.gaconf.com [link] [comments] | ||
Posted: 22 Mar 2021 05:41 AM PDT
| ||
How do you figure out the age rating for your game? Posted: 22 Mar 2021 12:08 PM PDT I'm trying to determine if my game should be rated T or M, as it has coarse language and suggestive themes. I've tried looking on Google, but couldn't find any definitive answers, only definitions. Does anyone know how to figure out what your game's age rating is? [link] [comments] | ||
If you don't know why MonoBehaviour is in every script in Unity, see this Posted: 21 Mar 2021 07:09 PM PDT
| ||
Should I accept game design jobs on mobile if my main goal is to work on PC/Console games? Posted: 22 Mar 2021 11:46 AM PDT Hi fellow game developers. I'm a little lost. I've been working as the designer of a mobile game company for some time, and new recruiters are getting in contact with me as I gain experience. The problem is that all offers are from the mobile game industry (wich makes sense). [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