Jump to content
  • Advertisement

Search the Community

Showing results for tags 'Theory'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Audio
    • Music and Sound FX
  • Business
    • Business and Law
    • Career Development
    • Production and Management
  • Game Design
    • Game Design and Theory
    • Writing for Games
    • UX for Games
  • Industry
    • Interviews
    • Event Coverage
  • Programming
    • Artificial Intelligence
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Engines and Middleware
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
  • Archive

Categories

  • Audio
  • Visual Arts
  • Programming
  • Writing

Categories

  • Game Dev Loadout
  • Game Dev Unchained

Categories

  • Game Developers Conference
    • GDC 2017
    • GDC 2018
  • Power-Up Digital Games Conference
    • PDGC I: Words of Wisdom
    • PDGC II: The Devs Strike Back
    • PDGC III: Syntax Error

Forums

  • Audio
    • Music and Sound FX
  • Business
    • Games Career Development
    • Production and Management
    • Games Business and Law
  • Game Design
    • Game Design and Theory
    • Writing for Games
  • Programming
    • Artificial Intelligence
    • Engines and Middleware
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
    • 2D and 3D Art
    • Critique and Feedback
  • Community
    • GameDev Challenges
    • GDNet+ Member Forum
    • GDNet Lounge
    • GDNet Comments, Suggestions, and Ideas
    • Coding Horrors
    • Your Announcements
    • Hobby Project Classifieds
    • Indie Showcase
    • Article Writing
  • Affiliates
    • NeHe Productions
    • AngelCode
  • Topical
    • Virtual and Augmented Reality
    • News
  • Workshops
    • C# Workshop
    • CPP Workshop
    • Freehand Drawing Workshop
    • Hands-On Interactive Game Development
    • SICP Workshop
    • XNA 4.0 Workshop
  • Archive
    • Topical
    • Affiliates
    • Contests
    • Technical
  • GameDev Challenges's Topics
  • For Beginners's Forum

Calendars

  • Community Calendar
  • Games Industry Events
  • Game Jams
  • GameDev Challenges's Schedule

Blogs

There are no results to display.

There are no results to display.

Product Groups

  • Advertisements
  • GameDev Gear

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Website


Role


Twitter


Github


Twitch


Steam

Found 84 results

  1. Hey all! This time I'm going to write a little about my plans for generating planets. This entry won’t go into any specific details of the terrain generation but will be just a very high level overview of the basic framework. I don't think any of the ideas in here are new.. the procedural generation community are a very clever bunch indeed! I'm always amazed how when an idea pops into my head I'm able to find an existing article about it that goes into fine detail on the subject. Anyway let's crack on! Heightmaps & Voxels When it comes to generating terrain an easy first choice is to generate height maps and build the terrain mesh from that. You can get some good looking results quickly by overlaying some noise generation and tweaking things here and there. Though these can give some nice results they have limitations. For example tunnels and overhanging terrain can’t be represented in a simple height map. You also have to choose a projection scheme to map a 2D height map onto a sphere. There’s another approach to terrain generation using voxels and that’s what I’m aiming to use. With voxels you can define all sorts of complex terrain and you can define what’s hiding under the ground too - whether it's seams of coal, ore or underground rivers. Many games use voxel terrains to great effect such as the infamous Minecraft. Sign me up! In Minecraft the voxels are arranged in a grid, keeping everything nice and simple.. until you want to model a whole planet. Then you’d get something like this: Though that does look really cool, I don’t want my worlds to be great big cubes floating in space, so what do I do? There are all sorts of solutions to building a spherical world from a voxel grid, but they seem to be full of difficult space warping, caveats and rendering complications. I’d rather not deal with these kinds of complications, so I’m going to try a different approach. Instead of arranging the voxels in a grid I’m planning to arrange them as points on a geodesic sphere like this (imagine the vertices are voxel points): It’s like taking the space warping issues you’d need to do at the cubes edges and spreading it evenly across the entire surface of the sphere. Instead of it becoming a difficult edge case it becomes a constant low level annoyance and keeps things consistent at all times. It will make the mesh generation a little more fun later too Voxel Planet Generation The plan is to use an icosahedron as a starting point. Each vertex here is a voxel. This can be considered the lowest possible Level Of Detail (LOD) of a planet. The space is chopped up into tetrahedrons from the planet surface into its core. There is an extra vertex at the centre of the planet for this. These tetrahedrons can be subdivided through to the core of the planet as required. These illustrations are somewhat misleading though as this isn’t just generating a spherical mesh, but a bunch of voxels that could be empty space. The voxel points (vertices) hold information about what's actually in the space they occupy, whether it’s atmosphere, rock, magma etc. It is the job of the terrain generator to define what a voxel contains. I'm going to keep a clear divide between the planet voxel generation code and the terrain generation code this way. I have some uncertainties on how to best manage the subdivisions of the planets voxels as required, but I’ll bash it out in a prototype. Dynamic Changes The game also needs to be able to make permanent changes to the terrain during play. Large explosions should create craters and I want them to persist. To do this I will need to be address the voxels and save state changes about them. I'm not 100% sure on the approach for this yet either. One train of thought is to basically create an algorithm for the voxel generation that that is able to assign each possibly generated vertex a unique 64bit number. That would have no waste and allow the maximum number of voxels, and some napkin math makes me believe it would have good detail on earth sized planets. Another approach could be some kind of hash of their XYZ or polar coordinates, though that will be more wasteful so it’d bring the total addressable voxels way below what a 64bit unique id could theoretically hold. Ok that’s enough for now!
  2. MiniDarkOF

    SFX Sound Expansion in Unity

    Hello Again, I'm trying to create a "sound expansion" The Example: a nuclear explosion sound has 1000ft of audible sound area players who is next to the explosion hear it first players who is far to the explosion will hear after some seconds when the sound reaches its area limit, it ends with a "fade-out" The Point: i already know how to create fade-out sound effect in Unity know i want to know how i can create this "sound expansion" effect
  3. I am looking for suggestions on how the passage of time could be handled in a multiplayer RPG, particularly the ways a players could alter it. Most single player games allow the player to wait, sleep and/or fast travel, which causes their character to jump forward in time by a set amount to skip the boring parts. If this was allowed in a multiplayer game, players could become out of sync with each other. Does anyone have any suggestions on how this could be handled (other than not allowing those actions) in a game with 1 to 8 players?
  4. Alikberov

    Acoustic Aura of Alikberov

    In classic sound adjustment of games we having control over volume of music or sound-FX. For lots of table games or puzzles this is enough for all user preferences. But in more difficult games with complex sound environment such of adjustments is not enough and gamer must to use the headphones, because sounds of game environment can disturb surrounding public. But headphones can destroy the health of gamer. I'm not present any code at here, but I trying to build a draft of sound FX spectre of emotional perceptibility of gamer to giving more wide control over sounds in game with complex choice for favor gamma in playing sounds. 0. Angels level Mood music, that playing in the brain at this moment Sounds of thinking like the trying for inspected prediction for action Speech synthesis of player thinking process; Player-self dialogue Inside sounds of body functions, like heart-beat, breath or beat in temples Outside sounds of body, like knuckles squeak, belly rumbling or cough Nearest subjective environment, like mosquito cheep, buddy whisper, phone speech or headphone of equipping Subjective environment, like fly hum, sleepers shore, somebody cough or slurp, speech Active subjective environment, like doors squeak, floor squeak under foots, sneakers shuffling, tick of switch Objective environment accompaniment, like leaves rustle or curtains swaying, branches rap in window, winds drone, water purl Passive objective environment, like spontaneus floor or furniture squeak, alone drop fall, wallpapers crackle Operated active technical environment, like phone ringtone, TV set or radio, claxone or gun shot Interactive technical environment, like watch tick-tick, elevator sound Active technical environment, like frigy sound or autos engine Technical environment accompaniment, like generators sound Passive environment, like waterfall noise or river purl, twitters, public hubbubs Operated environment, like battle noise or cannons shots, explosions Interactive environment, like thunder or lighting, volcano or earthquake Active environment, like hurricane or tsuname Evironment accompaniment, like public or animals screaming, animals rave, people rave or crying It's not HDR. No dynamics. Static normalize all sounds of game for session. Just, like in graphical equalizer, we can have a 20 sliders band of levels any sounds. If user shut down to zero all 20 adjusts, except #6, then no any sounds user can listen and hearing #6 (mosquito, whisper and equipping) only. (No monsters, no disasters, no cannons. The commander only!)
  5. My question: For example I have class enemy, let's say I have 100 enemy types. Now in Update()(each frame) if(enemyType==Type1) {doWhat Type1 does} else if(enemyType==Type2) {doWhat Type2 does} else if(enemyType==Type3) {doWhat Type3 does} ... else if(enemyType==Type100) {doWhat Type100 does} so in each frame I can call up to 100*enemy count so is there any way to avoid this , to tell it earlier what update should it do I am working in unity, but is there universal way or?
  6. Sup dudes and dudettes! I'm in the process of implementing an animation state machine and am currently making a 2D blendspace state for it. I think I've figured out how to blend the different clips together given an [x,y] coordinate but I have one problem I'm not sure how to solve; matching the different blended clips' animation speed. Say you have your run-o-the-mill twin-stick character locomotion blendspace, where max Y, zero X means running straight forward, and max Y, max X (in either direction) means running at an angle (thus blending run_forward with run_strafe). In this case the animations' speed probably match, so there's no worry. However, say I'm halfway up Y, meaning I'm "jogging", in the sense I'm halfway between walk_forward and run_forward, and my X is at some arbitrary point. How would I blend these animations together so that their speeds match? Would it be as simple as 'lerping' the animation speed of the walk towards the speed of the run and scaling the speeds of all the clips to match this speed? Sorry if the question is poorly written.
  7. Hey Gamedev.net Community! I am working on a mobile builder game that's already running for 8 years. In its early days, the game had a nice content progression until level 30(current max level is 140). With content progression, I mean at what level items unlock in the build menu. However, over the last ~4 years, the previous developer decided to unlock all the content between lvl 1 and level 30 (reasoning that the new content should be available for all players). This results in 1200 ~available items at level 1 and ~3300 items at level 30. Overwhelming players at the start and missing any content progression after level 30(can be reached within a few weeks, while a big part of the community is playing since multiple years). But how should this be addressed in a running game with a considerable user base across all levels? Internally we have a passionate discussion between moving existing items to later levels(and risking to anger existing players) or just adding new content to later levels(don't address the too much choice issue at the start) Since we are kinda stuck in the discussion, it would be nice to hear some external input Thanks!
  8. Well, here goes. I'm currently developing a game whose core economy is based on an approximation/simulation of the actual periodic table of elements(the first 92 or so). Essentially the player is using a future technology(future setting) to mine pure elemental resources from the planet without harming the ecosystem/terrain. Think Star Trek type tech. The game is multi-player online(not online yet, still in lab), design goals are aiming for MMO. I'm currently at the problem of Currency. My design parameters are such: At Server Start, the game will have a fixed amount of each of the 1-92 elemental resources distributed in global resource deposits that are recoverable using the tech available to the players. Resources amounts will be balanced so they meet the requirements of the games crafting system/etc. as well as attempting to match a rough approximation of a feasibly naturally occurring system. These fixed resources and the things they get turned into are to be the entirety of the "Matter" that is required for input(trade goods, crafting ingredients,etc.) in game play activities. All Crafted Items can be converted back into useful elemental matter through Recovery processes. Lost matter(Recovery is not always 100%) will develop new resource deposits, or add to old ones that have not been discovered yet. Discovered Resource deposits must be exhaustible. The problem arises when I begin conceptualizing a market system, and most specifically an Auction system. I come to the conundrum.. How do I setup a starting bid amount or even a bidding system without a specific currency? Do I choose a specific element, say grams of Gold, as THE currency? Do I generate some code that tells the players that they have items in their inventory that are worth more than the current bid of 20kg of Iron, according to the current market conditions on the trading platform? Do I do both of these things? Do I need a more abstract form of currency to make it more (but less) tangible to the players? (not my favorite, but) Dollars, Coins, Gems? Something totally abstract that cannot be mined or crafted? I'm trying to attack this conundrum from a "how would a player like it to work?" perspective.. But I'm stalled a bit. Any insights/experiences/thoughts would be appreciated. Thanks in advance!
  9. Hey, I just finished a new episode of "Game Audio Lookout"! This time it's about musical sound effects in the Super Mario series. Here's the link to the video on YouTube: -- Musical Sound Effects in the Super Mario Series | Game Audio Lookout https://www.youtube.com/watch?v=6hHbTVloizU We’ll have a deeper look at musical sound effects in the Super Mario series in this episode of "Game Audio Lookout". I guess everybody has heard the sounds of the Super Mario series before. But I believe most of us don’t exactly know how these were constructed and what efforts were taken in later instalments of the series to produce sound effects that even harmonise with the game’s music. -- Feel free to let me know what you think Alex
  10. gdarchive

    Color Palettes

    Intro Due to my belief in learning through self-discovery and my ongoing creative evolution, I've long put off doing any tutorials. However, after making pixel art for over 3 years I've established many solid techniques worth laying out in a concrete fashion. While I'm excited by the prospect of helping others with my experience, I still urge artists to explore things their own way. The wonderful thing about art is the unlimited number of solutions to a problem. I offer you solutions that have worked for me and I hope they work for you, but I will be even more thrilled if you discover a better solution along the way. When it comes to pixel art, it all starts with a good color palette. Creating a custom color palette can be a very satisfying and powerful way to establish your own unique look. I'll guide you through my method as I create a new palette. But first, let's go over some basic principals. It's all about HSB I find it easiest to understand and control color through HSB. Hue - The actual color (0 - 360º) Saturation - The intensity or purity of a color (0 - 100%) Brightness - The amount of black or white mixed with a color (0 - 100%) By understanding and adjusting these 3 fundamental properties you can create custom colors with precise control. I recommend this article by Steven Bradley for more detailed definitions of HSB. Color Ramps A color ramp is a specific range of colors that work well together, arranged according to brightness. Here is an example of what I consider a good color ramp. Brightness steadily increases from left to right in this example. As the colors reach high brightness levels it's important to decrease saturation, or you'll end up with intense eye burning colors. Also, colors with very low brightness can become overly rich and weighty with high saturation. Saturation peaks in the middle swatch in this example. A good color ramp should also apply hue-shifting, which is a transition in hue across the color ramp. In the previous example the hue is shifting by positive degrees as the brightness increases. Many beginners overlook hue-shifting and end up with 'straight ramps' that only transition brightness and saturation. There is no law that says you can't do this but the resulting colors will lack interest and be difficult to harmonize with ramps of a different hue. This only makes sense to me if you want a monochromatic look and stick to one straight ramp. The Palette A color ramp is essentially a palette, but most palettes contain multiple ramps. I like to create large palettes with lots of ramps, which I can then pull smaller palettes from per assignment. Mondo - 128 colors Become a Pixel Insider member and download Mondo I took the opportunity to make a brand new palette for this tutorial. My intention was to create a general purpose palette that strikes a balance between vibrant colors and desaturated natural colors. So, how to make such a large palette? First I decide how many swatches I want per ramp and how many degrees of hue shift. For this palette I want 9 swatches per ramp with 20 degrees of positive hue shift between each swatch. I like a lot of hue shift because it creates harmony between ramps and just looks neat, but 20 is about as high as I go. The color picker panel in Photoshop. We only need to be concerned with adjusting HSB. I use Photoshop, but a similar color picker panel should be accessible in just about any graphics software. To start I pick a color that will fit right in the the middle of a ramp. The hue is somewhat arbitrary, but the saturation and brightness is critical. I want the middle color to be be the most vibrant so I set the saturation and hue to the max combined number I'm willing to go. After I've chosen my first color I can set the hue for the remaining swatches based on the positive 20 degree shift I wanted. I could reverse the direction of hue shift if I want but positive hue shift usually results in more natural colors, warming as they become brighter. I still need to sort out the increments for S&B. Unlike hue, shifting the S&B in uniform increments doesn't necessarily produce satisfactory results. However, there are a few tendencies I follow. Brightness consistently increases from left to right and usually never starts at 0, unless I want black. Saturation peaks around the middle and never fully goes to 100, or 0. The goal in mind is to create even contrast between each color. After some tuning and eyeballing these are my final values and resulting color ramp. The hue shift looks pretty strong but it will make sense when I add more ramps. This version shows the difference in the increments. Pay attention to what the S&B are doing. You can see there is some consistency in the pattern. The saturation takes larger steps on the ends and smaller steps in the middle where it's the highest percentage. The brightness takes smaller steps as it gets closer to the end at full 100%. Here's another visualization that clearly shows the flow of S&B as line graphs. You don't have to follow this general flow of S&B. It just depends what look you're going for. I've made ramps where the saturation continues to climb as the brightness decreases, creating an X pattern. This results in vivid dark colors. The biggest mistake is combining high saturation and brightness, unless you want to burn some eyeballs. I recommend a lot of experimentation with the HSB values of your ramp. I've tried to come up with mathematically precise formulas but it always seems to come down to trusting the eyeballs to some extent. Now let's finish the palette. Up to this point all I have been doing is picking colors and drawing them as single pixel dots on a tiny canvas. I haven't actually added any swatches into the swatch panel. With the first ramp established all I have to do to create more ramps for my palette is shift the entire set of hues. I want 8 ramps total so I will shift the hues of each ramp by 45 degrees to complete the 360 degree cycle around the color wheel. I could do this in the color picker by adjusting the H value one color at a time, but In Photoshop I can save a lot of time by duplicating the ramp and changing the hue of the entire selection (Image-Adjustments-hue/saturation, or ⌘+U). After adjusting the hue of all my color ramps my palette appears like this. It looks pretty nice but It's lacking more neutral desaturated colors. To add desaturated colors I duplicate the whole middle section of the palette, omitting only the darkest and lightest colors on the ends, flip it over and desaturate them with the Hue/Saturation panel. I omit the light and dark columns because they appear nearly the same as the originals. I flip the colors because it makes for easy navigation, and it looks cool. The desaturated colors can provide a more natural look, and work well as grays in combination with the vibrant colors. The final task is actually adding the colors into the swatch panel. With the color picker panel open I sample each color with the eyedropper and click the 'Add to Swatches' button. I add them from left to right, top to bottom so they will appear in the swatch panel in the correct order. This is quite tedious but the only way I know of to add the colors in the particular order I want. Once I've added all the colors into the swatch panel I click on the panel options and make sure to save my palette. I can then easily load the palette as a .aco file into the swatch panel anytime. Also, by selecting 'Save Swatches for Exchange' you can create a .ase file, which can be loaded into several other Adobe programs. Save the image of your palette as a .png file and you can load it into Aseprite. Well, that completes my 128 color palette - Mondo. Now let's look at how I use the palette with some examples. Picking Colors This example keeps it pretty simple, mostly relying on horizontal ramps of adjacent colors. You can also see how the warm desaturated colors work nicely with the vivid hues. I've added white into palette for extra contrast. This example shows how ramps can move horizontally and diagonally. Because of the hue shift every color is surrounded by colors that can work together. Harmony is everywhere, just pick and play! This example uses complimentary color in combination with neutrals. The result captures an ominous yet hopeful feeling that perfectly fits the mood I wanted. Picking colors for your art always requires some good sense, but a versatile palette with criss-crossing ramps like this makes it much easier. A little color goes a long way with pixel art, as you can see I never use a lot of colors for any one image. Creating a palette with this method also works great for game art, and will ensure everything in your game has consistent colors. I used this method to create a 160 color palette for Thyrian Defenders. We've been able to depict an incredible range of environments and characters while maintaining a consistent look overall. Other aesthetic choices come into play, but color is the fundamental ingredient that ties everything together. Final Word Overall I'm quite happy with how this palette turned out. I think you'll be seeing more of my work in the Mondo palette from now on! I hope this helps you come up with some palettes of your own. I know It can take a bit of time to get a feel for HSB, but even if you're a beginner I think making palettes like this is a great way to understand color. Go crazy with HSB and don't be afraid to experiment with formulas that look different than my example. Also, you don't have to make such a large palette. Start with trying to make a small ramp. About The Author Raymond Schlitter (Slynyrd) is a former graphic designer who turned his creative passion to pixel art and game design in early 2015. Now he shares his knowledge with tutorials while he continues to make fantastic art and work on games. Support him on Patreon and get the inside scoop on his latest work. Note: This post was originally published on Raymond's blog, and is reproduced here with kind permission from the author. If you enjoyed this article please consider supporting Raymond on Patreon, where he provides backers with exclusive downloads such the Mondo palette as .aco, .ase, and .png files. Get Mondo! You can also make a one time donation to the author if you prefer not to subscribe on Patreon. [Wayback Machine Archive]
  11. Hello, This is actually my first post after being a lurker for quite some time here. For the last couple of days I try to get my head around the concept of Overwatch's multiplayer architecture after watching the GDC 2017 talks by Timothy Ford ("Overwatch Gameplay Architecture and Netcode") and Dan Reed ("Networking Scripted Weapons and Abilities in Overwatch"). ( I hope someone here has Vault Access :D) As usual with such complex systems Overwatch seems to combine different approaches to hide latency. Among others, the ones I am mostly interested in are, Command Frames and State Synchronization. I think I understood both concepts but I have problems adding them up. 1) Ford talks about the client being in the future by ~ half the RTT plus one command frame. This ensures that all commands sent from the client to the server tend to arrive when the server is actually at the tick referenced in the command. If that's correct my assumption would be the following: Server is at tick 1000. RTT is ~ 10 ticks -> around 10*16.6 ms. Client simulates tick 1005 and sends command associated with tick 1005. <5 ticks later> Server is at tick 1005 and received a client command. (maybe its already queued in a buffer). Server applies command and sends state for tick 1006 (State_N + Input_N = State_N=1). RTT might still be 10 ticks. Client simulates tick 1010. <5 ticks later> Server is at tick 1010... Client received State for tick 1005 and checks internal buffers for prediction. Does that really apply? Does the client really simulate half-rtt in the future? 2) How do I handle ticks at the start of the game? My network layer requires a timestamp to work and I'd use ticks in the main game loop. Do I have something like a grace period until the client can calculate the required ticks to move to the future (by calling simulation.Tick(1/60f) for the number of ticks to be in the future)? 3) If I run the simulation at 60Hz and the network layer at say 20Hz. Do I have 60 Inputs that I send from Client to Server or 20? I know, this is somewhat similar to other questions in this forum, but I feel like this particular talk has never been discussed? Cheers, poettlr
  12. composerjones

    Orchestral Romantic Piece

    Hey guys! I just released a new track titled "Phone Call," which is a romantic orchestral piece! Let me know what you guys think!
  13. REF URL: http://www.scp-wiki.net/ I know that there are a few SCP-based fan games such as Containment Breach, but I feel that they don't really capture the true essence of the SCP stories. So I had an idea about a game that could really do so. Granted, this is purely conceptional and I neither have the skills nor the means to actually make this on my own. Basically, it's like a cross between FNAF and the kind of game category that SIMULACRA and Don't Chat With Strangers fit into. You are a detainee at an SCP Foundation site, why you're there or even how you got there is a complete mystery to you. The Foundation provided you with a PC with a limited internet connection presumably to keep you occupied, but by some divine prank, there also happened to be an experimental web browser installed in said PC that allows you to access information about the Foundation and SCPs along with a direct line of communication to certain members along with a background and psychological file for each one with no chance of being traced back to you. In the beginning, you only have level 0 clearance and the level of influence of a C class personnel but by communicating with and gaining the trust of personnel they will give you higher levels of clearance which will give you access to more information and can even be given the authority of certain staff members such as researchers, (which will allow you to administer tests) or a security officer (which will allow you to raise or lower security in certain sites or areas). However, each action comes with a degree of risk and the results of certain actions cannot be undone. To help you through this, you also have an experimental semi-sapient A.I. installed on the PC that, using the information you've managed to unlock, is able to calculate the odds of success for each action or attempt at communication. Once you get the right clearance, you are able to cause things to happen that will allow you to manipulate the odds of success for other actions and attempts to get higher clearance, like if a certain personnel has a flirting communication option but only likes a specific gender you can use SCP-113 in order to swap to the preferred gender in order to increase the likelihood of success for the attempt. Perhaps the riskiest action one can do is to directly interact with Keter-class SCPs and as such the success of the action can lead to a massive reward, if the player has completed the right actions before doing so then they may have little to no risk of failure or a critical failure. A critical failure would be the result of an action that would get the player character killed. After which the only option left is to start over from the beginning. However, each time the player starts a new game everything about the character gets randomized. This can range from things like the physical characteristics of the player, some basic background information, the characters name and age, and even which site the player is housed in. This is important because certain SCPs only react under specific conditions, like whether or not it's the player character's birthday or even if the character has a particular name. It can also result in life-or-death situations like if there is a containment breach and if the player character is in the same site as a highly dangerous SCP it may end up finding and killing them. Or if the situation on a site gets so bad that they have to detonate an on-site nuke. Eventually, in some way or another, the player will discover that their only hope of regaining their freedom is to communicate directly to the mysterious Administrator of the entire Foundation. You could consider this point the endgame because it would require to confirm the identities of certain personnel who claim the identities of members of the O5 Council or the Administrator. Your best option is to utilize the most classified information you can find and use it to make each possible Administrator or Council Member tell what they know about them. From then you have to look for inconsistencies in each unknown personnel's stories in order to find the one out of them that knows things that the others don't. Once you've decided who the Administrator is they will give you instructions to follow that will result in two undeterminable outcomes. If you chose right, you win and go free. If you chose wrong, it means instant death. Like my idea, want to add to it, or want to make it happen? Please, Leave a reply!
  14. Game design document: link.odt (require LibreOffice or compatible) (don't expect anything professional) Rise@Zero is a Apocalypse Arena where a massive number of players cooperate to... well, survive to an apocalypse. Players are expected to collaborate, each time someone die the difficulty scales up to unsolvable situation: I shall leave the GDD itself for all the details. The project itself its currently beyond my league and, anyway, I still don't know if the game would be actually fun: let me explain. This concept is fairly original: its not about shooting, melee fight, asymmetrical horror and overused stuff like that. The core is that player would almost feel the impending need to protect other players: each time a player dies, the earthquake's ratio scale up... possibly ending in a "domino effect". Newbie player would play in similar fashion of the baby in "Who's your daddy" game. Having no empirical background for such kind of game, I simply don't know if this game may be fun or plainly boring: to figure this out at least a prototype is needed, and that's the reason why I am looking for help. The prototype is also detailed in the last chapter (appendix) of the GDD: not all features are mandatory, I can further scale things down if needed. Things I can contribute with is rigging models, build simple/scratchy lowpoly maps, concepts art and contribute with lore that help builds the look&feel (mostly done already in the GDD) I can't provide any founding, but I am open to give the netcode developer the absolute priority on any possible earning from donation/patreon (ie: on Patreon the first tier is yours): the only thing I ask is to not take away this project from me. Code is expected to be released MIT licensed; so no restriction are expected here as well (you can give up anytime, and use the code you did for whatever shooter/melee arena you want: there are many possible applications... I just want the honesty that you will not use it to build your own Apocalypse Arena). Target platform is Linux (with an alternative Windows client for catch more tester possible) and Godot Engine. EDIT: Forgot to add, there's a small draft for a prototype made by me, feel free to take a look, it's a MIT license.. so there are no string attached https://gitlab.com/alexwbc/Rize-at-Zero-prototype Code is basically a mix of godot demo: multiplayer bomberman-like and kinect player.
  15. White_crow

    Fundamentals of Horror

    What is Horror? Horror is a work that causes a person to feel fear; a feeling induced by perceived danger or threat. But people have greatly evolved and modern people are sometimes more afraid of taxes than real dangers! All horror games can be divided into psychological or non-psychological horror games. This is not an indicator of quality, but only the method of frightening a person. Non-psychological horror games can be very good games, and psychological may well be bad. Let's see what the difference is between them. Non-psychological horror games use our primitive fears such as fear of pain and death. These games frighten the player during the game. This includes survival horror, action horror, stealth horror, simple screamers and much more. In such games for the life of the game character in the game, there is a direct danger. But the problem is that a person has a mental barrier that turns on during the game. The game needs to break through this barrier in order to scare the player. To break through the barrier using three methods: flow, pressure, and payback. Each of the methods greatly affects the gameplay. Flow Flow is one of the reasons why new horror scolds for the fact that the game has more become an action game than a horror. But here it is necessary to understand the developers want to create a good horror game and using this principle is not bad. It's just very difficult to balance it. Developers try to create an endless action in which the boundaries between themselves and the character will blur. To do this, the player is given a huge number of tasks, the player concentrating on these tasks gradually removes the mental barrier, as a result, unexpected events do start to have effects on the player. Good examples: dead by daylight, deceit. Pressure Pressure is one of the reasons why most monsters in new projects are either unrecognizable or unresponsive to any player's actions. The skills of players are growing. Now it's hard to find the level of difficulty for the players. The computer is predictable, and if the monster in the game can be destroyed, then the game becomes easy for a large part of the audience. So the developers went to the trick. Now most of the monsters are immortal, and even if they are still so stupid by the standards of the player, now they really begin to create complexity for the player. If you manage to make the monsters smarter the game will really scare the player. Good examples: Alien: Isolation, SCP. Payback Payback - adds extra weight to our failure. The player begins to fear not death in the game, but the result of death, punishment. The further the player passes and receives more, the greater the weight becomes on the shoulders of the player, and the stronger the player begins to fear defeat. The player can lose all the progress of the game, or lose all his equipment. Good examples: Zombiu, DayZ. Psychological Horror Psychological horror uses our subconscious fears: loneliness, sanity of mind, punishment, correctness of choice. These games lay in the player certain thoughts that start to frighten the player behind in the real world. There are two methods of creating psychological horror: creation and awakening. Awakening is a method during which one of the person's subconscious conflicts will awaken. Because of this method, many games that are basically the usual horror are called psychological. Since this method can be modular and used in just a couple of moments. This method is easy to use. And he bases on a lot of psychological principles, which is the norm for most people. Awakening uses such principles: knowledge and understanding, powerless, uncanny valley, disorientation, fishy, against the mirror. Knowledge and understanding - Part of good horror is a mystery. The player has too little information, or the person is not able to understand this information. Powerless - The main character is weak and insignificant. He is not able to do anything or change anything. Caught in a whirlpool of events, that is much more of a player. The player turns into an involuntary observer in order. Lovecraft loved to use this principle in his works. Uncanny valley – Human consciousness is very stereotyped. So we deceive the player. Breaking these stereotypes and forcing the player to doubt his own sanity. This principle works in two ways: looks and functional. Looks. If there is something with which you are well acquainted, and will be changed a little. If the change is insignificant and it cannot be found unless specifically looked for it. Then the player will have a strange sense of paranoia and fear. After all, although the player deliberately did not notice the difference, subconsciously the mind noticed everything and began to sound the alarm. Functional . If something looks like a mug, then it's a mug, not an alien killer. Until one day you do not fall into an alien killer disguised as a mug. You are used to the fact that bullets do damage to enemies. But that if among the bullets there are blank bullets. Disorientation – Disorientation is based on our standard perception of the world: time, space and gravity. Any manipulation of time, space confuses the perception of the world in the player disorienting and frightening him. The first part of the "Evil within" is almost completely built on this principle. Fishy - This principle works in contrast to the Uncanny valley. The human brain reacts very peculiarly to events, and if events that seem unlikely or impossible to our mind suddenly occur, then our brain starts to believe that something is wrong. Imagine that you were kidnapped. You come to consciousness in a locked warehouse with 30 more people. Everyone starts to communicate and it turns out that everyone in the room is called Larry and only you have a different name. Even if it's just a coincidence, this fact scares you much more than the fact of abduction itself. Against the mirror – The principle in which a player is forced to meet the result of his actions. The player does something that he thinks is right or something that the game asks for. Then he meets with the consequences of his actions. Examples of good games with this principle: spec ops the line, undertale, silent hill. Loneliness – The player is isolated from other people or the outside world. If you simply use these principles without context, then it will lead to nothing. But awakening in good hands can be extremely powerful. Let's look at PT and what it uses. Constant return to the same room. This is the principle of disorientation. At every entry in the room the room changes. Using the Uncanny valley. At some point the radio will ask the player to turn around.. Fishy principle. The game has no background. And the player learns all the information from the environment and the radio. The principle of knowledge and understanding. The player is not able to do anything against the ghost. The principle of powerless. Creation You work from scratch. You do not know what the man is afraid of. But taking as a basis a person who has a specific fear (phobia). Taking his experience, the cause and vision of the world under the influence of this fear. You create this fear for the player from the very beginning. Create a world and experience in which this fear really matters. Examples of phobias and how to turn them into a game: Acrophobia – Imagine a game where the player needs to cross the skyscrapers along the rope. And in case of a fall you will fly to the end down. Apiphobia – Imagine a game where all the bees went crazy and made a real apocalypse. Completely exterminating all people and nurturing the nests everywhere including the bodies of men. And throw the player to survive in this. No worse than a zombie apocalypse. Haptophobia – The game character gets injured in every physical encounter with any person. Now you need to get out of the huge metropolis on foot. All residents go about their business and do not pay attention to you. And only you need to avoid the clash with people.
  16. Game design starts with an idea ... But at the same time I did not find a single course or book where it would be talked about how to generate ideas and how to do it better. I spent some time studying the question, and I identified four techniques that can be used by the game designer in creating ideas. There are, of course, more techniques, but many of them are designed to solve problems than to generate ideas. The techniques are called: Concentration, Brain Storm, Scamper and Ramsey. Concentration This method is the most common and we are all able to use it ourselves, without any training. In fact, you think until you have an idea. But in this case, too, has its own characteristics, which I learned from one biochemist, named Motonari Uesugi, who had a course in biochemistry. He talked about a scientist who developed DNA cloning. The road to the research center, where the scientist worked, was walking along a rocky, winding road running along the shore of the ocean. Every day, on the way to work and from the work of a scientist, a lot of excellent ideas were visited, while at the same time he could not come up with anything at work. He put forward the assumption that thinking in a stationary atmosphere a person will always come to the same ideas, but being in a changing atmosphere a person will generate constantly different ideas. Further research has shown that any changes in the environment affect positively the generation of ideas: To ride an unknown route, take a walk in an unusual time for you and so on. Further it turned out that not only the change of environment influenced the generation of ideas, but also any new information was obtained. Therefore, curious people that are constantly learning something new can generate ideas better. Therefore, for the game designer, curiosity and constant study of something new are vitally important. Brainstorm It is the most common and well-known method in the industry. Many companies use this method and this is the only method that I learned about from the games industry. To perform this method, only people (10-20) and premises are needed. The method is performed in 3 stages. People are divided into two groups: Participants and the Commission. The first stage is "Statement of the task". It is held by the participants. In the case of creating games, the task is issued from the number of resources: the amount of money, the number of team members and their specialization, the amount of time to develop. All the collected information on resources can adequately create an idea of what kind of project the team can create. The second stage is the "Generation of Ideas". It is held by the participants. People simply begin to offer and complement each other's ideas. Any ideas are collected, even the most delusional ideas, for example: a plumber saving a princess or a super fast blue hedgehog. When all the ideas are collected they are transferred to the third stage. The third stage is "Grouping and selection." It is held at the commission. Here already the second group collected ideas evaluates and chooses the best idea. For this method it is important that the group of people for the brainstorming be as diverse as possible. Therefore, many companies also strive to collect a diverse team (different races, nationalities, social status, history, gender). Also, if participants in the assault team are members of the game development team, the idea and concept of the game will be perceived as the result of the collective work of the team. This improves the atmosphere in the team and will increase the motivation of team members. Scamper It is very simple and convenient method. It is especially useful when working with unusual and unloved types of games for you. It is very easy to use and almost always brings results. In fact, this is not one method, but a whole set of methods that the game designer changes in turn, until he finds his idea. Each of the letters is a reference to one of the methods of generating ideas. In this case, it is better to disassemble each of the methods separately. Substitute Replace. You simply replace something in an existing project and see how everything will look now. In the case of games, you need to change the mechanics in the game. Think: What if I replace it? Example: Noitu love 2 In this game there are three game characters that open in their time. The plot game and most levels are the same for all characters. But by including games for different characters, the game begins to be felt completely differently. The reason for this is the different mechanics of each of the characters. Sometimes, it seems that these are different games, although the levels and behavior of the enemies remained the same. I can talk a lot about this topic, but it will be better if you sit down and try it yourself. Combine Combine. You take two genres that already exist and try to mix them together. Think about it. What if you take these two or more genres of games and cross? Example: Borderland. This series of games is a combination of shooter and RPG. From the shooter game got a first-person view and the main combat mechanics. From RPG the game got a level system, experience, pumping, all sorts of equipment with different indicators and special abilities that a player can learn and use in combat. Adapt Adapt. To do this, you take existing old and forgotten mechanics and update them to new technologies and time. Think about it. What old mechanics can I use? Where to use it? And how will this mechanic change? Example: AR and old educational games. We all know the game Pokemon GO. But few people know that the mechanics, on which it is based, was created long before the advent of mobile phones. Eric Klopfer talked about an educational game that used maps and real places for learning. But this mechanics did not find its popularity because of its inconvenience. But over time, there were mobile devices that could use this mechanic without unnecessary problems. Since 2012, this mechanics has returned with the name Augmented Reality. Modify Edit. Here you refer all the games with a change in the aesthetics and level of the objects of the game. Unlike "replace" here the aesthetics of the game changes more than its mechanics. Think about it. What if you make such a game about something bigger or something less, perhaps something else? Examples: The Sims and SimCity. In the first case, we have a simulator for managing the family of people and their dwelling, and in the second, a simulator controlling the city and its inhabitants. The concept of the game has remained the same, it is an economic and spatial simulator. The difference in games is only in the levels of objects: in the first case it is only a house with a small family, and in the second it is a city. Put Apply. You simply take the existing mechanics and find a new application for it. Think about it. How else can you use this mechanics? Example: Undertale. In the case of Undertale there is a system of experience and levels, but it has a completely different meaning than in other games. If in most games these indicators show the power and development of the character during the game, then in this game this mechanics and characteristics is the player's karma. Eliminate Exclude. This method requires the game designer to cut and exclude some mechanics in the already existing type of games. Think about it. What can be cut out of the game and how will it work then? Example: Ultimate Epic Battle We all know the strategists: we collect resources, build the base, build the army, destroy the enemy army, destroy the enemy base and win. But if we exclude everything related to the collection of resources, construction and development base. What's left? And there will be Ultimate Epic Battle, here you just generate armies on the battlefield and watch them fight. Reverse Expand. The games industry is also flexible to the action of stereotypes, like any other information sphere. And sometimes breaking these stereotypes can get very interesting projects. Think about it. What if we do not do here like everyone else? What if we did the opposite? Example: Overlord and dungeon keeper. In most fantasy games, the main character is a positive character saving the world from evil. In the same games you had to play for the villain. What made them much more interesting than most other projects in fantasy style. The Ramsey method. This is the most difficult of the methods. This method was taught to me by psychologists and for this reason it is so complex and heavily populated. But you will need it, too, if you want to become a high-class specialist. What is this method for? One day you will be hired as a game designer and your director will say to create a game on a very specific topic, for example, to create a game about Einstein, fairy tales of the Brothers Grim, or "Alice in Wonderland". And you immediately rested against the wall. Ramsey wrote a theory that, if you take a large amount of information and start looking in it closely and manically, you can find new information or find inconspicuous links. This explains why people with various psychological disorders, like paranoia and schizophrenia, can everywhere find evidence of their rightness and their theories. This theory can also be used in the opposite direction, creating previously unobtrusive concepts at first glance. The essence of this method is that you collect the maximum amount of information on the topic that you need to assemble the games. And then you start to study this information, looking for hidden connotations and imperceptible connections in it until the concept of the game is collected from these pieces. The effectiveness of this method depends only on two factors: the amount of information collected and the effort spent studying this information. Let me give you a couple of examples. The game about Einstein is Brad. Two years after I played the game, I accidentally took the book "Einstein's Easy Lessons". My brain just exploded, many moments, phrases and mechanics were described throughout the book. The game about the Brothers Grimm - American McGee's Grimm. In the beginning, I did not understand why in these games the twisting and dullness of fairy tales. But then I met one person. He told me that the fairy-tale brothers' tales have changed a lot since that time they were in the original. It was darker times and tales, respectively, were much gloomier, but over time, adaptation of fairy tales to a new time was in progress. As a result, after reading the original tales of the brothers' make-up and the current editions, the person will have a vivid sense of contrast. This is shown in the game. This is a sense of contrast between what we know these fairy tales and what they really were written. The game about "Alice in Wonderland" - American McGee's Alice and Alice: Madness Returns. In the game you will meet most of the characters from the book, and you will visit Wonderland. The game designer tried to imagine what happened to the main character, so that Wonderland appeared in her head. For the main character, Wonderland is the inner world of her mind. As a result, the story began to consist not only of events in Wonderland, but also the events of real life, which is mirrored in the Wonderland of Alice. As you have noticed, most of such a game plan can be called unusual and sometimes strange, which does not make them bad. So if your director wants to create a game based on his favorite music group or his favorite book, now you know what to use. This is my first article and I hope that it has been useful to you.
  17. Hi, I'm working on an FPS game and have had no end of problems trying to get my networking off the ground. Right now I'm using snapshot interpolation for lag hiding of remote players. I've been reading basically everything available online about the subject and the theory all makes a bunch of sense but when it get's to implementing it I just get mired down in weird problems and end up doubting the approach completely. I've been stuck on this for too long now and figured it was time to ask for help. My current approach is trying to keep the client and server ticks synced by using a floating tick offset based on round trip time(and influenced by reported difference between last acked tick + current server tick). What I don't understand is why keeping the 2 in sync matters at all. It seems to me that no matter what, you should be just taking user input off the stack and applying it to the most recent server state, instead of trying to backtrack or wait until the correct tick. You should then send all clients this most recent state with the most recent player command # so the client can reapply those commands. First blush it just feels like keeping the 2 ticks synced is just a way to make resim time more predictable or something? Also when you're keeping the tick synced on client and server are you also storing game snapshots on the client based on its local state or are you only storing snapshots for frames the server has sent you? If you are only storing snapshots the the server has sent you, it also feels weird to have a tick # on the client at all. What I keep going back to in my mind is that the server has a tick # and the client just has a list of recent snapshots received from the server and a list of yet-to-be-acknowledged commands. The client processes local input and sends to server with its local command #. Server receives input as quickly as it can(with some small jitter buffer just to keep them spaced out), processes user input received that tick, advances simulation, and sends the most recent gamestate to all clients with their individual command #s. Clients receive update, reapply any commands > the command number received, etc. I don't know if it's just another way of saying basically the same thing but to my brain this makes more sense. Does that make sense? Am I over thinking this?
  18. I have reached a point in the game I am making where everything is just starting to fall into place. So now that everything is aligning I can't help but notice that my AI is the weakest part of the game. The game is a 2D Sci Fi space combat game. The game leans much more towards arcade games. At the moment my AI uses a rule based system, something like this: public Class AIRules { //Rule1 void ShootEnemyInRange(){ //Code for firing etc. } //Rule2 void LookForTarget(){ //Code for looking for a target } } Rule 1 has priority over Rule 2 etc. So as can be seen I am no expert at making AI. I would like to improve my AI but I don't have months to spend learning something new. I was hoping that someone could point me to something simple that I could learn to improve my AI, that will only take about a week to learn. It could be any small practical thing. Something that would be useful to a indie developer.
  19. Hi, I am looking for a TCP or HTTP networking library similar to Lidgren (UDP). This is primarily for sending game map data and potentially other large messages from Server to Client. I do want to keep Lidgren for my chat messages, player position, small fast updates etc. I especially love the flow of data and the library usage in general, so any libraries of a similar style would be excellent. Preferably something open source, free and reliable. I also must be able to swap between localhost and an ip address with ease, like Lidgren, as I run a server for singleplayer/mp/lan. My game maps are similar to minecraft, but it is 2d and only one Z-level, so i'm sending a jagged array of Tile object data (currently only enum TileID.Grass) down the pipe to the Client. Problem is if i'm sending a large map 1024 x 1024 tiles down the to client that's quite a lot of data, and Lidgren is relatively slow to build the writes (before the message is even sent!). It is fine when i'm using smaller maps < 512 x 512 ( xTiles * yTiles ). I know about chunking and will look into implementing this later, whilst taking into account the user's position in the world to only send nearby chunks. An example of my code that can be slow: private void WriteWorld(NetOutgoingMessage outgoing) { try { var world = WorldManager.Instance.CurrentWorld; outgoing.Write(world.XTiles); outgoing.Write(world.YTiles); for (int x = 0; x < world.XTiles; x++) { for (int y = 0; y < world.YTiles; y++) { // Write Tile obj data outgoing.Write((int)world.Tiles[x][y]); // <-------- Slow here when xTiles and yTiles are each > 512 ! } } } catch (Exception ex) { // log send error } } I'd love to hear from you guys, especially if any of you have come across a similar challenge.
  20. While going through a Game Design Document Template, I came across this heading - Core Game Loop & Core Mechanics Loop. What's the difference? Can you provide some examples of an existing game? Suppose if I am including these topics in a Game Design Document, how should I explain it so that my team can understand?
  21. I've put together some tutorials that explain the ideas behind Marching Cubes and Dual Contouring. Maybe it'll be useful to some of the forum-goers. Marching Cubes 2d Marching Cubes 3d Dual Contouring Each tutorial comes with sample code in Python. Let me know what you think. This is the first time I've written a tutorial, but may do more if people want them.
  22. I have an idea about a modern-day war game, where players build up their base and attack other players. What I was unsure of was if a game like that needs a back story, a reason why everyone is fighting each other. So what do you think? Should a game with base building and PVP need a backstory? If so, what are some appealing ideas? Why is the world at world? How do new players coming into the game change the story at hand? If at all? Will there ever be a single victor? If so, what happens then? Let us have a discussion...
  23. hi. I'm a programmer that I want to learn about game design fundamentals. as you may know there are lots of books that most of them teach the same thing. I want to know what are must to read and most important books that teach game design rules and fundamentals.
  24. I control the camera in my program by changing the transformation matrix (which alters the other underlying matrices). Not this is all in 2D. The transformation matrix is pretty standard. It is a 4x4 matrix with the diagonal acting as the scale factor (x, y, z) and the right side acting as the offset coordinates (this is ignoring shear and rotation which aren't that important to me though I would like the method to still work with rotation). So essentially I am currently zooming by altering the x and y scale in the transformation matrix. This seems to act from the top left corner (which is the origin in my coordinate space). I would like the zoom to act towards the mouse. So knowing the x and y position of the mouse when I apply my transformation (every frame) how should I alter the zoom so that it zooms towards whatever the mouse position was? I can share code if you would like but I am writing this in Rust. Also let me know if you need more information I am happy to provide I just didn't want to over share.
  25. I am about to start a PhD that will investigate ways of replicating creativity in the AI systems of simulated people in virtual environments. I will research which psychology theories and models to use in order to achieve this, with a focus on creative problem solving. The aim of this project is to create virtual characters and NPCs that can create new solutions to challenges, even if they have never encountered these before. This would mean that not every possible action or outcome would need to be coded for, so less development resources are required. Players would encounter virtual people that are not bound by rigid patterns of pre-scripted behaviour, increasing the replay value and lifespan of games, and the accuracy of simulations. I am looking for companies or organisations that would be interested in working with me on my PhD, and I think computer games companies might be the most likely. I am trying to think of ways in which this new AI system might benefit games companies, or improvements and new types of games that might be possible. I am on this forum to ask for your thoughts and suggestions please, so I can approach games companies with some examples. Thank you for your time and interest.
  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!