Jump to content
  • GameDev.net Members! Click here to learn more about the new contest from IntelⓇ and GameDev.net. Ends December 21!

  • Advertisement
    1. Past hour
    2. Search GameDev.net directly from the Unity Editor with the GameDev.net Search plugin! Customize your search for all content on GameDev.net, only the latest, or the most relevant. Or, narrow your search to specific GameDev.net content: Blogs Articles Forums News Contractors Projects and more!
    3. I love your work, contacting you now.
    4. alpReis

      Mball New Game

      Hey guys.I found a new game Mball.Very hard game.https://play.google.com/store/apps/details?id=com.bogusoft.mball
    5. Finalspace

      SetPixelFormat fails on Nvidia cards

      Damn it, i posted a full fletched text here, but now its gone 😞 Here is the short one: - stencil bits are missing! - use DescribePixelFormat() first and then use SetPixelFormat() See the following code, which works on all my machines: fplClearStruct(&pfd); pfd.nSize = sizeof(pfd); pfd.nVersion = 1; pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 32; pfd.cDepthBits = 24; pfd.cAlphaBits = 8; pfd.cStencilBits = 8; pfd.iLayerType = PFD_MAIN_PLANE; int pixelFormat = wapi->gdi.ChoosePixelFormat(deviceContext, &pfd); if(!pixelFormat) { FPL_ERROR(FPL__MODULE_VIDEO_OPENGL, "Failed choosing RGBA Legacy Pixelformat for Color/Depth/Alpha (%d,%d,%d) and DC '%x'", pfd.cColorBits, pfd.cDepthBits, pfd.cAlphaBits, deviceContext); return false; } wapi->gdi.DescribePixelFormat(deviceContext, pixelFormat, sizeof(pfd), &pfd); if(!wapi->gdi.SetPixelFormat(deviceContext, pixelFormat, &pfd)) { FPL_ERROR(FPL__MODULE_VIDEO_OPENGL, "Failed setting RGBA Pixelformat '%d' for Color/Depth/Alpha (%d,%d,%d and DC '%x')", pixelFormat, pfd.cColorBits, pfd.cDepthBits, pfd.cAlphaBits, deviceContext); return false; }
    6. Today
    7. PIXELFORMATDESCRIPTOR pfd; memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); pfd.nVersion = 1; pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 32; // pfd.cAlphaBits = 8; pfd.cDepthBits = 24; pfd.iLayerType = PFD_MAIN_PLANE; int iPixelFormat = ChoosePixelFormat(m_hDC, &pfd); if (iPixelFormat == 0) throw("Error calling ChoosePixelFormat"); if(!SetPixelFormat(m_hDC, iPixelFormat, &pfd)) throw("Error calling SetPixelFormat"); I am having problems initialising OpenGL on a GTX 1050 with latest driver. SetPixelFormat always fails. I tried changing cColorBits, cDepthBits, etc. makes no difference. Also, this same code works fine with Intel and AMD GPUs. Anyone have any ideas whats wrong?
    8. Echoing @Finalspace's suggestion of Tiled (although admittedly I did get bored and wrote my own subsequently for other reasons), it's brilliant for being able to knock up 2D maps really quite quickly. The file format is simple to interpret in your own tooling subsequently. What I did was use Tiled to create the initial map, and then have a resource generation step (a custom MSBuild task) which loaded up the file, created the appropriate sprite sheets etc. and then outputted a file which could easily be consumed by my C++ layer. In my case, I had 2 layers: Pure background tiles Foreground tiles (Game Objects were handled separately) These tile layers were then stored in a simple array (offset = (y*width)+x) with zero meaning no tile, any other value being the tile id. At rendering time, I simply had 2 for loops (x and y) and wrote any tile to screen (the loop ranges were based off what was visible on screen) using the DirectX Toolkit. As @Finalspace says, get it working first, then worry about doing speed ups if you have to. Clearly you can pre-generate the DX11 command list etc. if you need to, but cross that bridge when you come to it. Note that on my tiles / sprite sheets, I made the conscious decision to handle overlays in the tooling and output a fresh sprite sheet each resource build. Depending on how much you share the sprites with other items in your games you may or may not want to do this. Either way, the principle holds true, you just store multiple values for each tile to allow for overlays etc. (or multiple layers)
    9. Steven Ford

      i need directions

      If you're interested in low level C++, then one thing which make the learning process simpler was to use the DirectX Toolkit as it provides easy ways to render 2D sprites. Once you're comfortable with that / how the GPU works, then you can do more experimental things. If you combine this with the templates here then you'll be fairly quick able to access a loop where you get given an instance of ID3D11DeviceContext* (which can be passed in to the DX Toolkit's SpriteBatch object) and then you're all set.
    10. Steven Ford

      New 2D Renderer d3d11 or d3d12

      Hi @Quat, my understanding is that you'll be able to get better potential performance using DX12 but you're also given enough rope to hang yourself / can get lower performance if you're not careful. Unless you truly need the power of DX12, then I'd be inclined to stay with DX11 for sheer simplicity's sake if nothing else.
    11. lawnjelly

      Frogger - challenging entry

      There are some other export options for Godot: Android, MacOSX, iOS, Windows Universal, HTML5. I am keen to get Android working if possible as I've mostly built it with mobile in mind although this will be after the challenge I think. Yup it has lots more advanced stuff (PBR, HDR, bokeh etc) but I am always thinking in terms of mobile so try and use simple shaders, low shadow resolution / overdraw etc. I did some testing last night and it runs about 350-500 fps on my PC. The packaging / export process is very easy and quick.
    12. DexterZ101

      Frogger - challenging entry

      Ah Godot has a nice packaging of asset content only 2 files to play your game... I played it and Godot has a nice lightning and shadows! Good job bru ^_^y
    13. Znippy

      Frogger - challenging entry

      Looks really interesting! Sadly I don't have access to a Windows/Linux system until friday. Definitely will try it then!
    14. Thanks, they are But to be honest my first attempt was too soft for them. They wanted something really aggressive. At the end they were very happy.
    15. It would probably be better to use texture atlasing, where you combine all your textures in a large texture (possible an texture array, if you have many textures)
    16. CyberFlash

      3NDL3ZZ: Base Defense

      Album for 3NDL3ZZ: Base Defense Play Game
    17. Last night I decided for my stream I would 'redo' the tower defense and in the process I would 'clean up' and simply not include ALL the extra bits I added whilst developing it and only use what I'm actually using and organize things better so I would have 1 controller since I have 1 game mode.. Instead of having 3 controllers for example! But just to point out that previously I'd wrote 1.0.0 and beyond!! .... At the start of the stream I started up the game and let it run in the background, Everynow and then I'd add a tower or two until Wave 41 where my map was full (I'm working on selling back your towers to prevent this issue) and for the entire stream (4 hour Streams on Sunday, Monday & Tuesday) the same game was running.. After finishing at around 1am I went to do some stuff and came back still not quite losing... So I'm back to my 'balancing issue' I have most certainly broken it!! But I did 'reset' the Enemies health and have it = the wave.. So at this point the enemies are roaming around with 168 HP... Once I roll out the upgrade system I am going to make the enemies be 2x 3x or even 4x their current value of HP.. (Also got potentially upto 15 enemies... 5 different colours, 3 different sizes...) and a nice range of Speed across all the units... This should cause some Mayhem.. As much as I want to create an 'endless' experience... So far, after wave 41 with seemingly 'random' tower placement.. This just becomes an Idle game. And as much as I like Idle Games... At least the ones I play.. They have upgrades!! So there's more progress to be made for sure. I feel like tonight will yield the upgrade system if I work hard enough that is. (Tonight being Destiny 2's reset day... I developed an Addiction to Destiny 2 in August just before the new expansion came out but I feel like I'm done for about 2 weeks now until the new new expansion drops... I would normally care more about it being Reset Day but game devving has saved me for now!) Should also have a decent UI Update tonight too.. I attempted an idea using a reshaped 'HQ' but it didn't really work out. But there are some cooler ideas to be implemented for that (this is just a visual thing right now, functions are fine) I'm going to link drop again though. If you want to Play This Current Version it is live on Gamejolt ... I am attempting to keep a Changelog too with information regarding future plans too.. I dunno the best way to outline these bits of information as of yet but will get there!
    18. Ah okay. Does that mean I should also calculate the tangent vector in the pre-step? I'm using this formula \(\mathbf{t} = \textit{norm}(\mathbf{v}_{ab} - ( \mathbf{v}_{ab} \cdot \hat{\mathbf{n}} ) \hat{\mathbf{n}})\) Which also depends on the relative velocity \(\mathbf{v}_{ab}\). EDIT: Well I just tried my simulation with a tangent vector calculated from the cross product with the normal vector. I was surprised to see friction work as I was expecting a difference in behaviour when the tangential vector happened to be in the same direction as the relative velocity. Is this due to the clamping mechanism preventing friction from adding kinetic energy?
    19. Hodgman

      Arcade car physics

      FWIW we have a "realistic" simulation used for driver training, traffic simulation (and making a futuristic racing game ) and it uses a lot of the same techniques. Wheels are just ray-casts and a whole bunch of "springs". Instead of a single spring, the suspension can be multiple springs all connected together, plus the tire and rim are stiff springs too. In complex suspensions the two sides of the car might be linked somehow. The most complex difference is how friction is calculated -- for an arcade feel, you can just make up some friction based on forwards + sideways sliding and tweak the numbers until it feels fun. For a simulation feel, you try to copy Pacejka's magic friction In our game, we also make the collision-shape for the car much higher off the ground than the visuals (e.g. if the car's floor is 10cm off the ground and the roof 1m off the ground, then the physics shape might have a floor that's 50cm off the ground). This does mean that when "bottoming out", the visuals can intersect with the ground somewhat... but it avoids an annoying gameplay moment where the vehicle-vs-ground collision causes unpredictable results for the player. It often feels more natural to just let the springs resolve the situation rather than a rigid-body collision.
    20. lawnjelly

      Frogger - Post Mortem

      Finally made a first release of my frogger game for the gamedev challenge yesterday: What went right Using Godot Engine. Godot and GDScript was very quick to learn and get started with, and is very good for these types of small scale games. Overall I preferred it to Unity which I used last challenge. Using skin modifier for modelling in blender. This enabled me to make game creature models fast, around a day for modelling, rigging, animating and texturing a model. Using 3d paint for texturing creatures. Having spent many months developing 3d paint, it is really starting to pay off in quick texturing of assets. Blender can do this texturing too, but the workflow is much faster in 3d paint. What went wrong 3d sound broken in Godot. I had to do some bodging to get any kind of positional sound working, and it is flakey at best. I hope they will fix this soon. Android support not yet working. My android hardware / emulator only seem to support OpenGL ES 2, and Godot only supports ES 3, up until the 3.1 release. I tried the 3.1 alpha but no joy as yet. Creating art assets took most of my time, approx 2/3 of the development time (I am not an artist!). Moving house - I only realistically had the first 3 weeks to work a lot on the game, so tried to finish as much as possible early up. I do not even have access to computer / internet at new house yet. Dealing with different aspect ratios. I don't really deal with this as yet, I may have to address this. Normal mapping the assets. I tried this on the cars but it is very finicky to get working right and I don't have much experience. Took a lot of time and the difference was negligable so I dropped it. Procedural terrain texturing. Implemented but was too slow in GDScript, so I precreated 5 terrain textures and just used them in the levels. Same algorithm was fast enough in Unity in C# so I think GDScript is several times slower currently. (However I do prefer the GDScript language to C#) No wheels on cars. This is just funny, I always intended to put them in but never got round to it!! Dropping lots of features due to lack of time. This is typical of gamedev in general, but luckily I had enough features to make it playable. There is already support for other pickups like score and poison etc, I just didn't have time to make the models.
    21. Rutin

      Frogger - challenging entry

      I always enjoy your projects. I just need to be more alert on my next play through. In the evening I'll load it up some more and hopefully beat it. Almost 3am, and I gotta get up in 4 hours.
    22. ongamex92

      Arcade car physics

      Thanks a lot! Well for that particular car it is just a convex mesh, similar to a box, but cut where the front window is (I'm at work currently so I cant show it to you). Wheels do not have any collision representation, they are just ray casts. (I'm using Bullet Physics if anyone is intrested).
    23. lawnjelly

      Frogger - challenging entry

      Thanks Rutin, I was worried slightly that it was even running for other people, you are the first that has tried it! I can now complete it each time, takes about 15 mins, but I will put in some more levels. It would be nice to put in difficulty options and game modes like I did with Tower Defence.
    24. I bet those devs are super happy with that jet pack sound! Very professional stuff, good work!
    25. Rutin

      Frogger - challenging entry

      I did four runs and got up to level 7. Probably not a good idea to play half-asleep! Great work! I really like the mix-ups you've put in and even the dark level with lights. Nice work!
    26. Makusik Fedakusik

      Game code architecture

      Take a look at Entity Component System and MVC. It works fine, in general. For small projects and not big MMO.
    27. Update: The Soldier Book. DAY 12. Training day. We are taking the last military training with the best anti-zombie tactics in order to fight and defeat them. Yesterday Gunter the Shrapnel came back from the battlefield, with more of the damn shrapnel on his ass! That stupid son of the bitch will never die. Gunter tells me the last horde was nothing in comparison with the new one coming. They calculate the worst history horde of zombies ever will arrive in three days. I’ve never felt so scared in my whole life, but so pissed either. You won’t see me crying because of sadness. My tears are made of anger. I hate the #*@!ing zombies. So, today we are gonna attack the raiders facility bases. We need all the B-Z Ammo they have. It’s all about this damn ammo. We spoil it or defending the bunker won’t worth it. Little Timmy is calmer than usual. It seems that he does not realize the fact that, once we leave the bunker, we gotta fight for real. And we won’t only do it for ourselves, but also for all the humanity. I did not choose to fight in the world we live, but I don’t know another way to live for. Don’t know if today would be my last day alive. If I survive, tomorrow will be a new day.
    28. Shaarigan

      Artworks needed for Card Game

      Thank you for reply to my post, I send ya a PM
    29. Septopus

      Server Spatial Awareness

      I started working on generating the systems that will instantiate the NPCs, got it booted up, you can check my latest video upload in the gallery for that. But once I had that at a comfortable point to resume later, I decided I needed to close a planet sized gap in my server architecture. So, thus far, I've got a pretty neat client simulation going on, several fairly nifty server systems that do some pretty neat stuff too. A lot of ideas.... and a lack of glue. Well, that is until I spent a few days sorting things out. And sorting things out.. And then resorting things out.. In the process I think I found what I was looking for. https://github.com/gradientspace/geometry3Sharp That's a nifty little double precision geometry/etc. library for C#, C# in Unity, and MOST IMPORTANTLY C# on Linux in .Net Core! Why is this important you ask? I'll tell you. Here you see the above library loading my planet mesh, rotating it to the appropriate angle, generating an AABB tree, and running 6 raycasts from 0,0,0 to verify the orientation of the mesh. i.e. These numbers match the same points in the Unity client simulation. And Here: You see the same thing running on Linux. Here you have(combined with the Redis database and the in memory input from clients) the mechanism(s) by which I will attempt to determine who IS where they say they are and IF they can physically be there or not. As well, who could have been there when they said they were.. If you get my drift. I'm planning to use every useful feature of this library I can to build some nifty spatial awareness directly into each server node. Every node should be able to plot and check any coordinate/line/box/sphere/etc it may need to find/verify/predict/etc. any movement in the game it has authority over. Since I'm not running a full physics simulation in a centralized fashion, this will have to fill in for the data one would have access to from said simulation. Combined with the ability to record and compare maneuverability characteristics over time and correlate those to player stats and configurations, I think simple geometric calculations with sufficient time references could be just as effectively authoritative as a single physics simulation. Especially in the case where a client is using some kind of prediction/local physics anyhow. Next I get to integrate this into my Mob Server so I can start making interactions between the Player and the NPCs it generates, an actual verifiable thing. More soon!
    30. Shaarigan

      Game code architecture

      In general your approach of project architecture is as good as any other approach as long as it works for you and dosen't cause circular dependencies. This would be the case if Renderer needs to now stuff from Core and vice versa so what I do when creating such a project (and my current game engine architecture looks the same) is to think about usages. All modules stay on the same layer of dependencie and If you know code isn't used by any other module on the same layer that's fine, otherwise you should move it one layer back to have anything depending on it in a layer above it. This sounds very complicated but as I rewrote and 'm still rewriting my build tool (I run my own build tool in C# to create and build my C#/C++ projects), I also added some kind of code analysis to have an overview over my code. This produces diagrams like this one So as you can see, the dependency graph shows relationship between classes (this is as C# project so don't worry about circular dependencies between classes) and could also point to external classes from other projects in the same solution. I did this for the exact same reason, to know what modules and especially what code depends on other code to always have an overview of my architecture. Yes you can do this. Take a look for example at the Pokemon TCG App (it is free to play so feel free to do so). When you play a card that isn't cached yet, the App downloads the resource from their server and a progress bar appears on the cards. I think your delay wouldn't be that straight but it is absolutely valid. Most games put their assets into a package so you minimize disk access time (that is the most performance impact when loading assets) and for example use Memory Mapped Files for fast parallel reading access. This is just a tip if you feel your asset loading is too slow ;) You shouldn't use shared_ptr here if you want cache cleanup. The struct implies that it will handle Garbage Collection for you but that isn't true. When loading a texture, you usually load it directly into your graphics card rather than keeping a pointer on your heap and in this case shared_ptr won't help anything because it is a heap structure not a VRAM one. What I do in this case is rolling my own handle that can also take some more actions into account than just simply hold a ressource reference. My RessourceHandle struct for example that keeps a reference to some default texture. This handle is returned immediately from the asset manager while it also starts loading the asset in background. The renderer could just use the asset and behave as normal while the real asset is loaded in background and flipped once the process is ready. If you already use some kind of Components, why not driving the ECS path and just let your renderer work on lists of components instead of passing knowledge about GameObject to it? You could maintain component relations in different concurent arrays of components of the same kind and let your renderer just pick those arrays to do a linear iteration and render pass over them. This would not just save management overhead but also time because you won't need to pick every game object, fetch its contents from memory to just fetch it's mesh, texture and whatever from memory again causing a possible CPU cache replace
    31. I did a ton of tilebased stuff in the past, so i can share my ideas how i implemented them. So here we go: In a few of my game prototypes i used one texture tile sheet for each style. The outside of such sheets had a one pixel transparent space/border around the entire image and one pixel transparent border around each tile, so that every tile inside has two pixels of space between. This border/space gets really important when you use them in your shaders, like for example doing color corrections, doing blending etc. Without border you may get bleeding or other weird artifacts Also the tile sheet should be a power of two dimension, like for example 256x512 or 256x256 or 512x512, etc. This makes the computing of the UV´s much easier. For environment tiles i used at least 5 layers - each layer had a fixed tile size of 32x32. The first layer was a background layer used for filling background tiles, like gras, sky, etc. The second layer was another background layer used for more detailed backgrounds, like floors, trees, window, flowers, signs, etc. The next two layers was used for solid tiles only, meaning that it had some sort of collision/boundary. Each tile had a reference to a geometrical collision shape (rectangle, circle, polygon, etc). If you need pixel perfect collision, i highly recommend reading the "Sonic Physics Guide". If you need physics in your game, you should convert your solid tiles into connected line segments - making it very robust and fast for physics system such as Box2D. But computing these line segments from solid tiles are nasty and not that easy, but i did that in the past and released a public domain library: https://github.com/f1nalspace/final_game_tech/blob/master/demos/FTT_TileTracingDemo/ftt_tiletracingdemo.cpp https://github.com/f1nalspace/final_game_tech/blob/master/final_tiletrace.hpp The last layer was used for entities placed on tile boundaries, such as start-positions, savepoints, enemies, traps, liquid, etc. If you dont have much experience with programming, i highly recommend using the "TileD" editor which is super easy to use, with a fine and simple file format. Of course if you want, you can always write a editor yourself. Its not that hard and the only thing you need to know how to convert your mouse coordinates inside tile coordinates and vice versa + a sort of camera movement to navigate through your worlds. Of course if you use unity 3d or unreal engine, you should use their built-in tile editor ;) Now regarding rendering. Start of simple and draw each tile in the slowest possible way - make it functional first. You will see that you can draw thousands of tiles, without doing any kind of optimizations. These days, most graphics card can handle that. The only thing i would recommend to optimize are to only show the tiles visible on the screen and skip the tile which are outside. The order of drawing is back-to-front, so you draw the background layers first, then the solid layers and then the entities. Later on you may consider creating a batched sprite render, so you can render all tiles with just a couple of draw calls. Its as simple as a defining a vertex buffer, push vertices on for each tile and then issue a draw call for one tilesheet. So thats a rough idea how i implemented tile based stuff successfully. If you have more questions, feel free to ask.
    32. Whether you need to add any padding depends on whether you are planning on using mipmapping / filtering. If you are using pixel perfect sprites there is no need (providing you line everything up correctly). Typically for a 2d game like this you want to separate your engine into rendering static elements and dynamic elements. Static elements of a map might be stuff like floors, walls, things that never change. For static stuff, you can put it all in one vertex buffer with a static usage flag. For dynamic, put it all in one* dynamic vertex buffer with dynamic usage flag. *You might also want to use 3 mirror dynamic buffers and use them alternately in a circular order 1, 2, 3, 1, 2, 3 etc, this ensures that you can write to a buffer while the previous one is still being used for rendering in a previous frame and prevents a pipeline stall. There also may be various variations of this to make things even more optimal, but the basic idea is the same. I believe unity does this kind of batching for you behind the scenes. To actually draw the elements using a vertex buffer is simple, typically just a list of quads with unique tex coords per corner. This way you can swap the tile used on any quad by simply changing the tex coords. You can base the whole background as a bunch of quads on a grid (this is what many people do), you don't need to of course. But if you do, you can render e.g. a long thin part of the tile map as several tiles instead of one. GPUs are so fast these days that they will eat through these tiles, there is no real benefit to rendering different shaped as 'one quad' rather than e.g. 4, and this makes the map editing etc much simpler to code. To change the dynamic elements on each frame, lock the vertex buffer, then copy across the new tex coords / vertex data, as many as required, then render this many quads. Of course there are more advanced schemes but this should enable you to get started in the fashion of a lot of top down 2d games. You may also end up batching different parts of your vertex buffer and rendering the parts with a different shader. e.g. 0-100 normal, 101-150 transparent, 151-280 additive etc. Overall there will only be a few draw calls which is optimal. Often you can also get creative with the vertex format / uvs. If for example your texture atlas is on a regular grid, you might e.g. only need to send one integer for uv, and calculate the uvs in the shader.
    33. White_crow

      Fundamentals of Horror

      Knowledge and understanding You give the player a few pieces of information, they may or may not be related. But the main thing in this principle is to confuse the player. Make the player build theories and not understand what is happening around. While the player understands what is happening, he thinks that he is in control. But if he falls into a storm of events and does not understand what is happening, then for the player’s mind this situation will be tense and frightening. This principle only works once and until the player knows the story of the game. The longer the player will not understand the principles and principles of events that are happening around, the longer this effect will continue. Examples: Silent Hills, Outlast, Evil within, Alan wake. Uncanny valley The human mind is full of stereotypes. Periodically unexpectedly breaking these stereotypes, you can not only frighten a person, but also break his stereotype perception of the world. At such moments, the mind begins to doubt its own sanity rather than accept, then there are exceptions and rules. These stereotypes can be divided into two types. Visual and mechanical. Visual (Looks) We have stereotypes about how certain things look. If there are certain differences that make a thing stop falling into this category. For example, you have a computer mouse. By itself, it does not scare you. But if we discreetly stick plastic spider legs to this mouse. Then the other people the first reaction will be an overwhelming fear and disgust. You can take any object or live organism and change it, make it frightening for a person, because it will no longer fit. A good example: Portraits that follow with their eyes over the player, or pictures that change from the angle at which you look at them are good classic examples. (They also become stereotypical things, but I try to explain the principle.) Mechanical (Functional) A person has the same stereotypes about how some objects work. And changing the essence of these mechanics, so that to break steriotypy can be a good scare player. For example, a player knows that with a pistol, you can shoot monsters. And as he went through the whole game, he remembered this mechanic and took it for granted. But if a character gets into a certain level when using a pistol, character will just kill himself, it will be a surprise that will frighten the player. It is important that when using this principle in mechanics, you add a new rule, so that the player can, over time, understand the essence of the changes of mechanics, and do not think that the game is not fair. You do not tell you what new rules and when you will apply them to him, but the player by trial and error can understand all this himself. Example: mimik from Prey. Fishy Our mind is very specific to probability. If the chance of something is very small, or almost impossible, then our mind decides that this event is impossible. If such an event occurs, then it ceases to be an accident, someone arranged this event. And a person begins to paranoidly search for people or people involved in this event. A good example: short film Sequence - by Carles Torrens These are the most difficult to understand principles, so I'll write them out a little more, in case you don’t understand them. But the goal of this article is for you to understand how these princes work and to find your own use for them. If there are more questions ... Then write me and I will try to answer.
    34. Hello! I'm new to the scene of video game developing and was wondering if anyone here has any experience developing 2D fighters and are up for making a little test demo to see if the idea would catch on to the public? I have no way of paying but I want to put the demo onto Kickstarter and I will pay a good amount if I get a good amount. Please, if you want to contact me for more info, add me on my Discord or Twitter. Thank you, and see you later! (Twitter: @enderstaffexe Discord: EnderStaffExe#3193)
    35. So insert this scaling between the world and the camera, or alternatively, play with camera viiew as @Decoy82 puts it. Games is all about smoke and mirrors, you don't necessarily need to do the real thing, just fake it sufficiently convincing.
    36. Rutin

      Female Model Critique - New to this, need help!

      To be honest the lips are not bad. If you still want to work on them you can look at more reference material. Also check out this video for some tips on faces. Keep working on that topology, you've made massive improvements since the last time. Also! Make sure your normals are not wrong otherwise you'll get problems as well with rendering. You should always make it a habit to check them.
    37. Stacey Garrison

      Female Model Critique - New to this, need help!

      There's no baking, that area you circled still has some weird topography, which might be why you see problems. I'm still kinda poking away at that area. Here's some more closeups. The lips here are what I have in substance painter. I can't actually get a closer picture in-game as the zoom level only goes in that far.
    38. "authentication" establishes "who am i?" "authorization" establishes "what can I do?" So, for example, when someone logs in to play a game, and select a character, you might issue a token that says "I can play character 238428 for player ID 5123," this token would then establish the authentication (player ID 5123) and authorization (character 238428.) What's interesting about this is that, if you build things right, you could NOT use the same token to, say, delete the account, or change the account password / e-mail address. You'd have another section of your app where you "enter your password again" to authorize those actions. (You will see this in a number of well designed login systems.) This reduces the risk/exposure of some particular token "leaks." Another example of "authorization" separate from "authentication" is the "log in with Facebook" and "log in with Google" buttons on web sites. These typically use a protocol called OAuth2 (or, sometimes, SAML,) to let Facebook/Google share SOME account information with the site using the buttons. Often there will be a list on the side, saying "This application can: know your email address, know your age, post fake news on your wall." Those "things" the application requests to be able to do, is the "authorization" part (what can I do) separate from the "authentication" part (who am I.)
    39. Yes, you will typically build something like a std::map<SOCKET, shared_ptr<YourClientInfo>> to keep track of which sockets are "live." The YourClientInfo pointer is where you hang off all the information that the clients will provide through the session. Each time you call select(), you will typicall walk through your list of clients, and the listening socket, and add them to a fresh (empty) fd_set, before calling select(). Beware that, on Windows, you can only add 64 total sockets to a fd_set; on Linux the typical limitation is 1024. This may be possible to increase by defining NFDS, but once you have more sockets than work by default, you'll typically want to use a better API than select() anyway. libevent on Linux, and I/O completion ports with OVERLAPPED I/O on Windows. You can use boost::asio as a wrapper around both of those methods in a platform-independent way.
    40. To add onto what @Zakwayda posted, a proven method is to take your tile and extrude each one on the tile sheet as opposed to just leaving a border gap between the tiles, or a solid color. If you extrude them and make sure the boarders extend the tile on all four sides you shouldn't have any issues. If you already have pre-made tiles then you can also do a slice of the left and right and copy them over and top and bottom and copy them over on their respective sides to fill the gaps.
    41. Thanks for the answer! You're right, I use the word GameObject a lot since I use Unity, sorry about that. In the case of my question, I wrote a system (I think) similar to Unity You understood perfectly, and I was planning on making the textures in development. Using a grid mesh as you mentioned makes so much sense. Now I'd like to programmatically create my worlds during runtime thanks to your suggestion. So if I wanted to make a very large world, I could create one giant grid mesh and map all the tiles to its texture coordinates? I'll definitely look into the padding situation, I'm not prepared for that issue, hopefully somebody can offer some tips on that, but for now I'm going to work on the tile renderer. Thanks again Zakwayda, I appreciate it!
    42. You only set the restitution bias once per prestep. There is a small gotcha though. Make sure you compute the relative approaching velocity for the restitution bias *before* you apply the warm-starting. Otherwise you will use wrong velocities. I would skip restitution initially though. There are very few objects that really need restitution. Designers sometimes thinks that you need restitution for stuff to tumble over, but this not the case. Restitution makes objects look lighter than they are most of the time which I personally try to avoid. There are a few exceptions though. E.g. ammunition shells. HTH, -Dirk
    43. Rutin

      Female Model Critique - New to this, need help!

      Wow! The improvement is very noticeable! Great work! ! Can you provide a large close up image of the lips, and with another showing the topology please? From the size on screen I don't notice anything out of place. The only issue I can see right off the bat is the lines on the face model: Did you do any baking? Are these edges coming out? Or is this how the texture is drawn?
    44. A project currently underway seeks artists to contribute in bringing it to life. We are building a strategic and operational level turn-base wargame and need some art in the following areas: 3D Modelers Textures for UI and Map Terrain Graphic Design ( a little for crowdsource campaign efforts) General Art for specific events in game. If there is an area above you feel you can contribute in, lets discuss more on discord (Atheory#0528) Thanks for your time and consideration Josh
    45. You mentioned game objects. This may go without saying, but since you're coding from scratch (more or less), there are only 'game objects' if you say there are. Maybe you already have a game object system though, or are thinking in terms of a system like Unity's, for example. In that case, I think your intuition is probably correct that a game object per tile isn't necessary or desirable. If I'm understanding you correctly, this would involve creating large 'bespoke' textures, either at run time or during development. As far as I know this isn't an approach that's typically used (texture memory usage perhaps being the biggest problem). I think a common approach for this might be a grid mesh, where each cell has texture coordinates corresponding to the desired tile in the tile map (this is assuming all your tiles are in a single atlas). A potential issue with this approach is bleeding. I'll admit I haven't done this sort of tile mapping myself, so I can't speak from direct experience here. I do know that a search for e.g. 'tile map bleeding' turns up quite a bit of discussion, along with various suggestions, such as use of 'padding' pixels. I don't know if your atlas contains such padding. It doesn't look like it does, and I suppose it might not if e.g. it's intended to be used with pixel-perfect rendering. Maybe someone else can comment on the bleeding issue. I don't know off the top of my head what the optimal solution for that is, but I do suspect that a mesh or set of meshes or some sort of batching system is likely how tile maps are typically rendered.
    46. My very first post on this forum when I first joined was a question about how helpful to know C#... Bryan Schmidt wrote an interesting response (and I think Nate did too) about how some of the more ambitious designers typically develop a working knowledge of the language. A year later into Unity, I'm realizing that writing code and being able to read it are two different things. Sort of how writing books vs reading/understanding a competently book one aren't the same skill set. Its obviously to necessary to understand the language a movie script is written in to know how to write a score for the movie, but a music composer will almost never be tasked with writing parts of a script. I confess I still have a long ways to go before I can follow along with the code in a game. Do you guys who are doing this for a living get to the point where you're able to turn assets into a playable game? Or do you get to a place where you're comfortable navigating a game then leave the rest to the professional programmers? I've had the privilege of working on several very interesting games, but not as the guy who implemented audio, which is my goal. I don't have much of a desire to write music, its really not my strength. I'm a musician and mix engineer, but not a composer.
    47. No problem at all, it's not a dumb question. I should have specified it was promotional image I took from the site I bought the assets from. My camera or world objects are not angled in anyway, pretty much a bunch of quads with its Euler angles at 0, 0, 0.
    48. Stacey Garrison

      Female Model Critique - New to this, need help!

      I think I've made some good progress with the model because of the great feedback. The only thing we're still not sure about is the lips. Anyone got any suggestions there (or in general)?
    49. phil67rpg

      collision sprite

      well I have a odd problem. when I set the screen variable to 0.0f I only get a static collision sprite. However when I set the screen variable to 0.0001f I get the animated sprite to work in the display function but I still get only the static collision sprite when I execute the collision detection function.
    50. This might be a dumb question (apologies if so), but is your sprite sheet actually angled as it appears in your post? Is your game strictly orthogonal, or are you using some sort of angled view? (I'm guessing it's not actually angled that way, but it might help to clarify that.)
    51. I found some software engineering companies had some test projects on their websites that people could do and then send to them as part of a pre-interview process. That was some years ago and I've forgotten the names of those companies now, but you could look for those. When looking for new skills to learn, I would look up job listings and research the things they were looking for and try to do small test projects with those skills. That's how I learnt about MongoDb and Amazon Web Services. My company once hired one guy out of 3 potentials because he was the only one who had published a small game on Android, it was a very buggy side scroller that kept crashing, but it was better than the other 2 guys who had just a degree. If I was looking for a job with little available I'd make a free wordpress blog or similar and make small projects and see if you can host them on the website to download, that would impress.
  • Advertisement

Important Information

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

We are the game development community.

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

Sign me up!