Advertisement Jump to content
  • Advertisement
    1. Past hour
    2. Daniel Ricci

      Money or passion?

      If your passion is money, then follow your passion, else follow your passion.
    3. Daniel Ricci

      MMORPG Brilliant Game Idea.

      Sounds interesting. The hard part is figuring out a base for your game. If you try to make a game that caters to everyone, you're going to run out of money and/or time before it actually ships.
    4. lougv22

      Money or passion?

      Follow your passion. It's going to get really old at some point getting up every morning, going to a job that does not excite you and does not make you happy, while at the same time second guessing yourself and secretly wishing you were making PC games. If your purpose is to make PC games and you are not fulfilling it, there will be this cognitive dissonance, or misalignment with what you are truly supposed to be doing, in you and it will keep gnawing at you and making you feel unfulfilled. Secondly, don't follow trends. Trends don't matter and they change all the time. Mobile gaming may be the trendy thing today and tomorrow it might be something else. Just follow your passion and forget the trends. The caveat to all this, of course, is that you have pay the bills and put food on the table. If you can make money following your passion, go for it. If not, get a day job doing whatever pays the bills and follow your passion nights and weekends. This resonates with me as well and it's also almost verbatim something Hideo Kojima said in an interview a few year ago. He was asked something to the effect of "What was your thinking when you were making the original Metal Gear?" and sis answer was, "I was just making the game I wanted to play." This has been one of the tenets of my game design philosophy, if you will, for years now.
    5. Today
    6. I am currently an indie game developer and I am looking to get a job with a game company as a game programmer. I worked for a game studio 9 years ago, but at the time I decided to get a day job as a software developer (non-game development), while focusing (as an indie developer), during my free time, on a vision for a game I've had for some time. This was then, but i've recently found myself unsatisfied with my day job and I am now thinking of going back to the game industry. The drive to make games is just too strong in me and I can no longer justify spending my days making software I am not excited about. Which leads me to my questions about a game programmer portfolio. Before i first got a job at a game studio i had built a couple of small games, this was way back though, around the year 2006. Would those be too old to showcase on a portfolio? Second question, i'd like to make the indie game i am working on available for potential recruiters to play, but I am not sure how to do that. I tried to put it up on Shimmer.io (kind like itch.io, but not as popular), but i ran into issues with that. It's a Unity game and the Web build i created for it was about 190 MB and it ran slowly and was very choppy on my machine, at which point i kind of gave up on the idea of putting it up online. The other option is to simply send (through email or Google drive) game companies a regular Unity build and let them play it that way. The question is, should i try to go the Web build route again and if so, any tips on making it work well this time? And also, if the Web build doesn't work again, would it be acceptable to send companies i apply for a regular build?
    7. This topic is actually not that much related to game engine (assuming your engine has some sort of scenegraph, and resource management - which most engines have), you are bumping into the are of actual tools. Tools as software don't have that many resources available at all - and are extremely time consuming to build up (and extremely rewarding - at least for me) ... I do a post from time to time into my blog here regarding my hobby game engine, and most of the time I spend on the project is in tools. In Skye Cuillin(TM) 😁 editor I have managed resources for textures, models, etc. When their file is changed they are hot-loaded and replace original resource, some details are provided here (shameless self promotion): This works for resources that are directly referenced (textures are the best examples), it will also work for meshes (from engine's point of view mesh is a single geometry). Generally this action can't be undone (because resources are changed outside of the actual software)! The actual resource (like obj) is a model (not mesh) resource, which - when instantiated into scene - will create empty entity and then push in whole hierarchy from file. In case you would change geometry data for one of the meshes, your meshes in editor would be hot loaded and changed (this is because mesh data is referenced within MeshComponent on the node - they don't actually contain mesh). If you would change hierarchy itself - then that is a problem! There are few ways how to solve this: Replace EACH node hierarchy that was instantiated from this resource (this will cause issues when you F.e. moved one of the children under different parent, or added different node as child of node instantiated from resource) Replace only those node hierarchies that resemble model exactly before the load (which means you need to mark those that should be replaced - and then do so) - this is what actually Unity seems to be doing Ignoring the problem and doing nothing with old hierarchies is also a way to solve this problem, a perfectly valid one (probably better than doing the 1st solution) I currently apply 3rd solution. It is the most straight forward. I'm still considering supporting the 2nd one (if I would hold resource reference in node that was one used as topmost storage when instantiating resource into scene, along with flag whether it is dirty (not to reload) or not (to reload)), then it would work perfectly. Of course all of this applies only in editor (where actual saved scene is just saved scenegraph, and resource files are around). For compiled scene (for runtime), the scenegraph is still saved .... along with all resources compressed. I'm currently working on this part now.
    8. Brain

      MMORPG Brilliant Game Idea.

      Nah just wait long enough and some AI will develop the game for you, just be careful it doesn't imprison you inside it...
    9. Yesterday
    10. Tara Louise

      MMORPG Brilliant Game Idea.

      Feel you.
    11. I didn't have too much time today, but I managed to sculpt out some fixes to the upper and lower parts of the arms yesterday. I'm not going to make anything look "perfect" or put a lot of time in correctness considering the camera view will be a Diablo style view, and you wont really notice it. I also finished the Helm, Chainmail Chest Armor, Sword, Shield, and even added on some cloth. There will be two goblin skins as well. NOTE: Some color reflections are due to the HDRi map on reflective materials. I was going to make custom eyes, but I'm just going to keep them black as the camera view wouldn't make that much of a difference in putting details into them. Creating assets without a base mesh can be a big pain in the butt... The Goblin itself could still use a lot of work, but my entire approach to these challenges is to create the models from scratch without pre-existing bases as I would normally do in other work. I still need to make a chest, key, health pots, gold coins, GUI, environment textures, and the basic rooms. My next update will have a room concept with a fully textured room, and propped goblins. I still need to Rig and animate these meshes, and I'll do that after my next update. Thanks for reading!
    12. lol - don't u just love it :-D correct, u don't need the animator code to render cowboy at bind pose. U haven't shown how u calculate your joint_transforms array: uniform mat4 joint_transforms[MAX_JOINTS] I suspect incorrect matrices in this array. If by assumption, all matrices are correct then aJointIndices has mixed up or incorrect bones indices.
    13. BitsNPiecesMusic

      Bits & Pieces Music

      Good evening! I started a new track last night, and finished it this evening. Kind of hit me out of nowhere (not complaining!), and it'll be part of my "The Forgotten Legend" OST that I've been working on for some time now. I present to you Fields of Fool's Gold: Thanks for listening and checking it out!
    14. Facuu_28

      Rev shared: Game looking for 2D artist

      hi, I want to help, contact me to my e-mail facunndo28@gmail.com
    15. Hi everyone Im working along side some friends of mine and we are looking for a 2D artist to work with us we are a team of 2 coders and a 3D artist if you are interested to join our project please message me and we can work something up the ultimate goal of our project its to go into kickstarter and get funding for the game basics from the game twin-stick shooter wit 2.5D for exploration of towns and cities in the world of the dead base in the mexican culture of "El dia de los muertos" ithe project name its Mictlan 2D game art sprites UI elements (inventory and Icons and menu) if anyone its interested please message me so we can chat abour the project I let you some images of the game and some assets we have done (sorry for that we are not artists) feel free to contact me carlos_gallegos2095@outlook.com
    16. Hello. I am writing a simple shadowmapping algorithm with one directional light. I understand the basics but I can't make it work. Can you look at my code snippet and tell me what am I doing wrong? Shadowmap is correct (1024x1024, one directional light looking at (0,0,0) from (0,10,0)). float3 PositionFromDepth(in float depth, in float2 pixelCoord, float aspectRatio, float4x4 invView, float4x4 invProj) { float2 cpos = (pixelCoord + 0.5f) * aspectRatio; cpos *= 2.0f; cpos -= 1.0f; cpos.y *= -1.0f; float4 positionWS = mul(float4(cpos, depth, 1.0f), invProj); positionWS /= positionWS.w; positionWS = mul(positionWS, invView); return positionWS.xyz; } float GetShadow(float3 posWS) { float4 lpos = mul(float4(posWS, 1), gLightViewProj); //re-homogenize position after interpolation lpos.xyz /= lpos.w; //if position is not visible to the light - dont illuminate it //results in hard light frustum if (lpos.x < -1.0f || lpos.x > 1.0f || lpos.y < -1.0f || lpos.y > 1.0f || lpos.z < 0.0f || lpos.z > 1.0f) return 0.0f; //transform clip space coords to texture space coords (-1:1 to 0:1) lpos.x = lpos.x / 2.0f + 0.5f; lpos.y = -lpos.y / 2.0f + 0.5f; //sample shadow map - point sampler float shadowMapDepth = ShadowMap.Sample(Sampler, lpos.xy).r; const float bias = 0.001f; if (shadowMapDepth < lpos.z - bias) return 0.0f; return 1.0f; } float4 ps_main(PixelShaderInput pin) : SV_Target { float2 pixelCoord = pin.texcoord.xy; float depth = Depth.SampleLevel(Sampler, pixelCoord, 0).x; // Outgoing light direction (vector from world-space pixel position to the "eye"). float3 posWS = PositionFromDepth(depth, pixelCoord, gScreenDim.w, gInvView, gInvProj); float shadow = GetShadow(posWS); return float4(shadow.xxx, 1); } The results I get are on the attached image. To me it looks like world space position extracted from depth is not really world space position but I don't know if that's the case. I'll appreciate any kind of help on this.
    17. Tyier Godette

      New Design Stuffs

      Heere yee heere yee, another project has arrived! https://www.artstation.com/artwork/Pm4rYy Feel free to leave comments so we can DISCUSS :3
    18. datboi That ogl text rendering definitely can be moded for directx. The thing to bear in mind is that the 2D transform is different for dx and gl. I've noticed in yr code that yr UV is always (0, 0). In yr case it should be: 1,0 0,0 1,1 0,1 1,1 0,0 Also i have not seen yr index buffer but again in yr case it should be: 0, 1, 2, 3, 2, 1 So check those. To check if yr output is right. Things u can try: - just try to draw 1 glyph only. That 1 quad. So put a "break;" in yr for loop for now - force sx = 50; for example and sy = 100; - turn off alpha blending so when the quad gets rendered it is fully visible - turn off cull mode - make sure winding order is set for clockwise - in the pixel shader just do something like "return float4(1,1,1,1);" so u force a white colour out These tips are how u can get yr freetype glyph rendering investigated/fixed and then improved on
    19. Sorry to disappoint, that is the one I tried to follow but I haven't gotten the result I expected, now it might be that I haven't implemented the animator yet and I have to transform the inverse matrices with the model pose to get it to render correctly. But I thought It would render correctly even without the animator since I assumed the values I parse from the COLLADA file is the idle pose (pose[0]). so the code is very similar to that one. My shader code is : #version 330 core layout (location = 0) in vec3 aPos; layout (location = 1) in vec3 aNormals; layout (location = 2) in vec2 aTexture; layout (location = 3) in ivec3 aJointIndices; layout (location = 4) in vec3 aWeights; const int MAX_JOINTS = 50; const int MAX_WEIGHTS = 3; out vec3 normals; out vec2 tex_coords; uniform mat4 projection_view_matrix; uniform mat4 joint_transforms[MAX_JOINTS]; void main() { vec4 total_local_position = vec4(0.0); vec4 total_normal = vec4(0.0); for(int i = 0; i < MAX_WEIGHTS; i++) { mat4 joint_transform = joint_transforms[aJointIndices[i]]; vec4 posePosition = joint_transform * vec4(aPos, 1.0); total_local_position += posePosition * aWeights[i]; vec4 world_normal = joint_transform * vec4(aNormals,0.0); total_normal += world_normal * aWeights[i]; } gl_Position = projection_view_matrix * total_local_position; normals = total_normal.xyz; tex_coords = aTexture; } and again, I am uploading the inverse bind transform matrices for all bones to this shader. It is quite a large code base so not sure what else I can show that would be helpful. this is the code for calculating the inverse bind transform, void calculate_inverse_bind_transform(glm::mat4 parent_bind_transform) { glm::mat4 bind_transform = parent_bind_transform * bind_local_transform; inverse_bind_transform = glm::inverse(bind_transform); for(int i = 0; i < children.size(); i++) children[i].calculate_inverse_bind_transform(bind_transform); } Here is a picture of the monstrosity
    20. Still need testers! I've made a gameplay footage video if you want to check it out!https://photos.app.goo.gl/zxTZ4BbMe8aQaCau5
    21. Natte, r u following an online tutorial? If yes which one ? If no then try searching youtube for opengl character animation. There's one with the cowboy character wearing a hat doing a simple run in blue trousers. Uses collada. Follow that. Can't get it wrong. Otherwise, share your cpp code and vertex shader here
    22. SIr Pep

      MMORPG Brilliant Game Idea.

      On the other hand, you could learn VR Programming and make exactly what your describing with a measly 2 decades of programming and using the technology that will be available in 2029
    23. Thanks for replies, guys! Let me clarify my situation a bit: 1) My resources are modifiable - I can create a save file which uses a resource and then I can modifiy it, and I still want my save be loaded correctly (as much as possible, of course). 2) Resources can be loaded during runtime at any moment 3) Resource instances (nodes with shared graphical data) uses their own nodes (copy of nodes from model) - this gives me ability to animate nodes independently for each instance and still get benefits of instanced rendering. My very first thought was to just save some path to a resource file along with node data. Also create a section of resource references in a save file. Then on load I can load resources first, put them in separate graphs. In the moment when I'm loading a node with a path to resource I can try find node in the loaded resource by its name and restore graphical information from it (basically - meshes which I need to render). But what should I do if hierarchy of nodes in resource was changed? I've seen that Unity engine doing a good job when model's asset changes - it is somehow keeps nodes on scene in sync with nodes in resource, but preserving transforms of nodes which were modified by user. I've tried to search some papers about this, but unfortunately - no luck.
    24. frob

      MMORPG Brilliant Game Idea.

      Sounds great. I'm not aware of anyone with a billion dollars or so just lying around who wants to attempt it. What you describe is far beyond what could be done with an 8-digit budget, and quite likely beyond a 9-digit budget. You describe pieces of games combined where each piece is an 8-digit budget project. Anything that is going to do that much work at an MMO scale would be costly. Scaling that down to be a simpler online game (not MMO) that has concepts based on those comprehensive games could be far cheaper, but much less of a grand experience.
    25. I am trying to understand skeletal animation in 3D. Somehow I am getting a stretched out model when I try to render it. I am unsure what is causing this. I have parsed the local bind transform from the COLLADA file for each bone I then transpose the matrix to shift the columns to rows, then multiply each bone with its parents local bind transform (recursivly starting at the parent bone (where I use identity matrix for the parent). After that I inverse the local bind transform for each bone and I then send it to the shader. I know I haven't applied a pose to it or anything but my understanding is that if I send the list of inverse matrices up to the shader it should render successfully in the initial pose. Do I have to do anything else to each bones matrix before I can send it to the shader?
    26. Let's make some important distinctions: Are your resources loaded statically or dynamically? Are your resources modifiable? Do they move? Example: embedding a statue in world geometry. In this case, try to load it at 'map compile time' and bake it in the geometry. Pre-transform everything if needed. In line of principle this is very hard to do (if at all possible) for arbitrary shaders. Just keep it easy. OFC if you do this, at runtime you just get a big scene graph. Or perhaps save yourself the work and import as a dynamic model. Those kind of meshes are often immutable and non-moving. They can be embedded in the world geometry with ease and leverage the whole content pipeline. Your example however is somewhat more complicated as apparently you want to attach to an imported node. Example: attach rocket launcher to custom player model right hand Real bad: you don't know what model to load in advance, maybe you won't even have it but you only know the right hand is marked with a specific tag e.g. `right_hand`. I'm pretty sure fbx can export skeletal infos or other kind of annotations you can use to extract the information you need. Then you will need a dynamic system to pull out those informations and propagate them correctly. SVG for example does not have this information. Months ago I used specific syntax to identify the required points and reconstruct the information. OFC this was non-portable, non-standard and in general not recommended but you can do it. How you do it is up to you to design. I had things I dubbed 'value synchers' which would connect specific logic (even scripts) to GPU buffers. One syncher in would walk an imported mesh and extract special points to drive particle emitters, another could extract accumulated transforms. Inheritance will most likely be your friend here. Corollaries World geometry very special; it usually takes loads of geometry, covers large parts of the screen, most of the time, it is almost never fully visible. In probably needs its own scene graph to scale and a way to be partially drawn. Dynamic meshes are often instantiated multiple times, be sure to recognize the difference between a mesh and an instance of the mesh itself. An instance is usually small enough you can either draw or not draw it. In my experience, mixing dynamic stuff with static structures is recipe for disaster... but perhaps you might be fully dynamic and still be good enough for you. I would suggest against using fbx or any other content-creation oriented format for that matter. They can get really complicated real fast and you are pretty much guaranteed to be unable to support all their features, which implies you will have to keep a list of what is supported and what isn't. You always have a moment in which you know what is loaded. Be sure to know where to get that information. Most will come from 'level geometry' file. Some might come from network, you likely have been mangling this dynamic data at some point, just don't throw away the information!
    27. Use of std::shared_ptr always makes me suspect the author did not design something correctly or they're not aware of object lifetime/ownership. std::unique_ptr has a .get() function that returns a pointer that can be held and validated before use if needed. It's what I do with systems.
    28. Smart pointers are not about calling new or delete. Policies around using new and delete might have rules regarding smart pointers; the two are related but not as absolutes. It is all about object lifetimes. The flow of objects as they are created, managed through their life, and eventually destroyed is a critical process that must be understood. Smart pointers are often used badly as a bandage for not bothering to understand the object lifetimes. For most functions calls a raw pointer is appropriate because of lifetime flows. You are passing an object that will exist the entire time the function is using it. The function is expected to return immediately, and not capture or otherwise hold on to the pointer. If you must capture or persist a pointer for a time, consider how the lifetime will work. If you have guarantees that a game object will last for a full update cycle, then you might be okay to preserve a raw pointer for the duration of a full update. If something is guaranteed to last for an entire level, then keeping it around for the duration for the level is acceptable. As long as the lifetime is going to exceed the time you use it, raw pointers are just fine. Smart pointers should be passed as parameters when you are explicitly working with object lifetimes. If you accept a smart pointer, that means you are accepting partial or complete ownership over the lifetime of the object, including the possibility that you might destroy, or reseat / replace the object mid-use. If that is not your intent, the function probably should not be using smart pointers. Also, note that using containers is different from using smart pointers. You can use container objects that help manage lifetimes without wrapping them in smart pointers. If the container owns the object and manages the object's lifetime, then it is adequate.
    29. Irusan, son of Arusan

      Dyslexic font for programming

      Also, I should say that what helps dyslexics read is frequently very specific to the individual, so it's quite possible that some dyslexics will benefit from the font (personally, I find it very ugly and hard to read) and so if you are dyslexic and find it benefits you, well, all power to you.
    30. Well that explains that then Never bad to learn and yes a lot of games still work that use D3D9. Yeah, if I recall correctly it's only 0.0 and 1.0 because each letter is rendered individually in that example I gave you. I think I ended up making a texture atlas which had individual UV coordinates, sorry if I find it I will put the code up here.
    31. Irusan, son of Arusan

      Dyslexic font for programming

      If you read down to the results section, you'll see that the reported differences are not actually statistically significant. (0.10 > p > 0.05) and not very large anyway and, as the quote you highlighted says "some specific type of reading errors are decreased, but others are increased". That link is just a Master's thesis, but there's been a few papers on this and the findings are heavily neutral for the font. Here, I found a good summary that's not paywalled in this paper. It also finds that adjusting the spacing of a more normal font (e.g. Arial) produces beneficial effects that are as large as the Dyslexie font.
    32. UPTAPP

      [FREE] Stick Pong

      Stick Pong is a brand new Free Mobile Game by UPTAPP which combines the old pong style in a completely new way. Super simple learning curve, one handed gameplay, yet challenging. Please rate and give feedback, that means a lot! Download from Google Play.
    33. First I would like to say that I had a lot of fun attempting this challenge. I never participated in anything like this before. I voted for the Doom and the Dungeon Crawler choices in the challenge poll and was satisfied to see that they both came out on top. What went wrong I will start with what went wrong when I started this project, which uses the Unreal Engine. Probably the toughest thing I had to code, was the AI. It simply did not do what I wanted it to do at first and it took me several tries just to get it right. I had to turn on and look at the AI debug screen to see what was wrong. Turns out that my AI's cone of vision was completely disoriented due to a badly aligned capsule component. I simply rotated the capsule 90 degrees and the cone of vision was correct afterwards. But later on I got rid of the 45 degrees vision cone and replaced it with one with full circle so that the enemy could sense the player as if it had eyes all around its head. It was more adequate for the kind of AI that this game would require. Another problem that I encountered was that sometimes the AI would stop moving after I had made some changes on the map. It took me several hours to realize that I had to rebuild the map navigation data because the AI simply did not move otherwise. What went right This project uses Blueprints for the most part, with some C++ for the basic player movement, setup and camera orientation. I found that Blueprints are extremely easy to use and let you iterate and prototype your game much much faster than pulling up Visual Studio, write some C++ code and wait a while for the code to compile after you make some changes. This is one of the problems with UE4 in my opinion since it takes much longer to compile your C++ code, than to compile your Blueprints. Unity has the upper hand in this as the C# compiles very quickly. This is probably why Epic Games are considering creating an intermediate scripting language between Blueprints and C++. https://www.reddit.com/r/unrealengine/comments/aezhdv/it_seems_people_at_epic_are_considering_adding/ So, it was a breeze to simply code game logic using these Blueprints and it did not take me long to adopt them. I am considering nativizing them so I can basically learn how they map to C++, and also to optimize the code. If I do, I will publish the source code on GitHub. What I have learned I learned how to use UE4, in my view the most versatile and powerful engine there is to make games right now. You can do so much with it, not just games but all kinds of things from movie content to architectural design. I learned how to use Blueprints, which at first I thought they were kind of bad since the nodes take so much space and to perform common programming things like loops, branching, etc. it is not ideal. I learned how to design an AI using UE4's behavior trees and AI perceptions. It was not easy at first, but it was satisfying to finally make it work. Level design is another thing I had to improve, and this time it was a bit better than the usual basic things I have done in the past, mostly with Quake 3's level editor. Conclusion This challenge helped me learn a lot of things, and I am looking forward to see which challenges will be proposed in the future. I will go back to focus on my own engine, which uses D3D11/12, and will use what I have learned with UE4 to improve my own code.
    34. Oberon_Command

      Dyslexic font for programming

      From the paper link you linked: If we're talking about "ease" of reading (which I would assume to mean how much exertion it takes to read correctly), then comparing reading speeds doesn't seem like the whole story and may only be a proxy for the actual thing we're trying to measure. By analogy, it might take me the same amount to time to lift a 12lb weight as it does for me to lift a 20lb weight, yet one of them is clearly more difficult.
    35. Yeah I guess that is a good comparison. Just doing this mostly for the learning experience and I am actually very interested in general on how high quality/fast rendering works in general.
    36. Irusan, son of Arusan

      Dyslexic font for programming

      Not to be negative, but that "Dyslexic" font doesn't actually help dyslexics read any better. In fact, studies find that it is either neutral or negative to reading speed and comprehension (see, for example, here or a bunch of paywalled articles in the primary literature) (Also: you don't actually need a fixed space font for programming, just ask Bjarne Stroustrup)
    37. At some point, the tree is really just a list of nodes, each with a set of data and a reference to their parent node, right? The data in this case is just a reference to the model as opposed to full node data. The difficult part may be how to store the child of the model, since that points to a parent that is in the model file? How do you currently create the tree in this situation?
    38. Hello gamedev.net! I came here to look for some feedback and beta testers for our current project Spell Slingers! --- Spell Slingers is an online turn-based 2D shooter game with sling mechanics for iOS and Android devices. It has been inspired by games like Worms, Angry Birds, Hearthstone and Max Payne. Current status: Private Beta (17.1.2019) --- --- Join to private beta here:https://goo.gl/forms/aJa6d8zNtunXgnKZ2All feedback is welcome!Thank you, and looking forward to hear your comments. Miikka --- Some details about the development: Spell Slingers has been in development about an year. Our team is currently 4 members strong. We started with 2 people. We are based in Finland.
    39. Gnollrunner

      MMORPG Brilliant Game Idea.

      I agree we all had the same dream, and some of us foolishly still have it (and that means me, and perhaps the OP too). Like many players, I like best the MMOs with at least some sandbox elements to them. However I also realize that without something unique my game will likely be just one in a large crowd of wanna-bes. I therefor feel I have to have something that other games don't have or at least very few do. I came up with this idea playing WoW. I noticed a lot of other players hated gold farmers (usually from China). I really didn't care myself. In fact I was often soloing and would team up with one of them and we would split the goods between us. I couldn't talk to them but we generally came to an understanding. It struck me that teaming up with someone I couldn't talk to added an element of adventure to the game. Suppose there were whole areas of the world where I had to make an effort even to communicate, and where everything seemed foreign to me. In order to really pull this off the world would have to be giant and every part off it would have to be different. For instance, there would be a virtual China. It wouldn't be called China but the architecture would be Oriental and players physically starting in real China would start in this area. Perhaps players in Central America would start in a place where everyone spoke Spanish and there was Central American architecture, and so forth. The second aspect of this idea would be there would be no fast travel. To get from one place to another you or your party might have to travel a week of actual game time. To support all this the world should be a single shard and as I said before VERY large. Therefore initially I've decided to work on the technology to support all this because it's really not possible without it. In any case, IMO that's the trick. Find the thing that makes your MMO different and hope it has a fan base. I think nothing is for sure but if you are just copying other's ideas, you'll have to top the top dogs at their own game to really give them competition. If you can make your game a "game changer" you might have a slim chance of giving them a run for their money.
    40. nsmadsen

      Looking for honest feedback on my music

      Welcome! Always happy to give feedback. Please take what I say as constructive, honest feedback and keep in mind I'm just one person. Main Theme - I liked the opening but by 47 seconds in, I was ready for a different, more distinct texture. I can hear the trading off, cycling and even doubling of parts between the voices and the strings but they just kind of meander around. It also doesn't help that the vocal patch is very synthy sounding and is all composed of the same vowel shape. You can create a sense of epic scale and progression while having a more stable and set melody. Oblivion's main theme comes to mind: After a little prelude it becomes VERY clear what the melody is and what parts of supporting. In your main theme, which should traditionally be the most iconic melody of the soundtrack, it's hard for me to really know what your melody is from just one listen. You have some really nice moments and overall the production is pretty good! I just think you need a bit more focus on your melodies. Perhaps even the arrangement - i.e. how the rest of your track supports and interacts with that melody. Also check out Spitfire Labs Choir - it's free. And it sounds GORGEOUS. The attack is VERY slow so this free patch will only work on certain styles of writing. But it will sound so much more realistic than the vocal patch you're currently using. Quick point on Lands of Shadow - your drums are distracting here. It's not enhancing but rather subtracting from the experience. I would work on the mix between your percussion and your other instruments. And be careful of things that repeat for too long and are higher pitch (i.e. 3:04). That can get REALLY annoying, really fast. Try and look for ways to create tension and progression without being so repetitive. Try things like changing to other instrument sections, changing textures, etc. This track, in my opinion, is way too repetitive to be effective, honestly. With ambient music you can afford to really pare things back. Less can become way more in this regard. Even the more tense areas can be served with less activity to truly keep the music more ambient feeling: Hope that helps! Thanks, Nate
    41. Hello! I have a scene graph in which I can load models from external resources (model.fbx, for example) Then I'm making a save in my game - just saving the whole scene graph. And this is the point where I'm stuck - how to save nodes that are actually references nodes which are in external resources? Also, is that even possible to keep part of scene graph (for example which is in red square) in sync with a model?
    42. You don't need an interpreter, you can compile .net code at runtime pretty easily and run it within the context of your compiled program. It works flawlessly, I used this technique for my own general purpose 3D game engine. Here is the article I based my code on: https://www.codeproject.com/Tips/715891/%2FTips%2F715891%2FCompiling-Csharp-Code-at-Runtime EDIT: Just for clarification, what I mean by within the context of your application is that the runtime compiled code will act like a .net library and have access to all the objects/classes/struct,etc (depending on their level of accessibility) in your program. The only huge downside to this approach is security. Obviously you can do some pretty nasty thing with a user editable script that has access to the full .net potential, so I'm not certain this is the right approach for something like shareable user created content. But it's by far the easiest and quickest way to hack scripting into a .net application.
    43. Feod

      Spell Slingers - Battle Cards

      Spell Slingers is an online turn-based 2D shooter game with sling mechanics for iOS and Android devices. It has been inspired by games like Worms, Angry Birds, Hearthstone and Max Payne.Current status: Private Beta (17.1.2019) Join Spell Slingers - Private Beta here: https://goo.gl/forms/aJa6d8zNtunXgnKZ2 Thank you for checking the project!
    44. SIr Pep

      Money or passion?

      I like what @itachii said about Notch. With Stardew Valley it was the same thing. He took the faults he found as a consumer in games like Harvest moon and Rune Factory and simply made his game the "perfect" blend of both. In my own searches for what your asking, one answer I got actually really hit home. "Make a game You want to make". Making a game can be a LOT of effort so you want to set yourself up to succeed. You won't do that by making a game you don't like to work on. You'll just run into the wall so much sooner than if you make something you actually enjoy working on. Then the last 30-50% of the project will turn into a nightmare if you're doing it solely for the money. So to sum it up, try monetizing your passion. Also keep in mind "You can't rush Art" 😉 This is a great thread and there seems to be a pretty clear consensus about the direction you're taking so I'll let you figure the rest out. God bless you and your project, and have a wonderful day!
    45. We just rebuilt the Corepox website to improve performance and to extend our functionality with custom pages generated from game data. The website scores 99/100 on a page speed test, and cost less than $5 to host and can be extended and scaled horizontally We think the architecture might be of interest to other indie developers who are looking for highly customizable, high performance but low cost serving technology. First, for the blog, we used a cheap shared wordpress host on a domain we don’t really care about (corepoxblog.com). Next we used Firebase Hosting rewrite rules to forward traffic our main domain (corepox.net) traffic to a Google Cloud Function “proxy”. The proxy function is an Express application that, depending on the request URL, forwards either to out blog, or our bespoke functionality hosted on other Serverless functions. We build this using off-the-shelf Express middleware. The proxy allows us to serve custom web endpoints on the same domain (for SEO). Finally, the wordpress site URL should be changed to corepox.net, and then the blog pages should work. However, there are a few issues because wordpress will rewrite try to rewrite root requests to the canonical URL, even the ones coming from our proxy causing a redirect loop. So we have apply wordpress adjustments to turn off canonical redirects. As canonical redirects are a useful feature, we reimplement the functionality in Firebase Hosting rewrite rules. Because its done earlier in the serving path, we don’t have a redirection loop problem. Now the site should work, but you may be annoyed by the performance of your wordpress hosting. If you look closely the site’s html, the image links are served from your wordpress host (corepoxblog.com in our case). To offload big image serving, we uses WP-stateless plugin. This will host your images on Google Cloud Storage. Note your Firebase project already is a Google Cloud project and hence is integrated with Google Cloud Storage. So you don’t need a new Google Cloud project and the billing will be combined as it should be. The final performance step is to unlock the power of the Firebase Hosting CDN. To do this you set the cache-control headers on responses. The proxy should *not* do this, rather the proxy should just be forwarding the headers the backend set. For the wordpress backend we use Cache-Control plugin. For our bespoke functionality we set it in Express using res.set('Cache-Control', 'public, max-age=300, s-maxage=6000'); These numbers tell Firebase Hosting’s CDN how long to cache documents in its intermediate cache, and to avoid resending to Google Cloud Functions. Even a short cache expiry has a huge impact on scalability and cost, because now when you publish a post, many of your readers will be fetching documents already warmed by previous readers, without costing your a Google Cloud Function execution or bothering your slow WordPress backend! With this setup, we are now scoring 99/100 on Google Page Speed test! Furthermore we can extend the system with custom sharable game content (like this) on the common domain by adding additional Google Cloud Functions backends to the proxy. So, HTML and Javascript are served from Firebase Hosting’s CDN at a cost of $0.15/GB transferred. Large images are served from GCS at a cost of around $0.12 per GB. All of these charges are currently paid for by the $300 free credit you get when starting a new project. My projected monthly costs if we exclude the free credits is $1.63 for Cloud/Firebase usage, making the $2.99 wordpress hosting costs the dominant! So there you have it, our flexible, performant low cost web hosting that delivers corepox.net at <$5 per month. Read the full article at corepox.net
    46. SIr Pep

      Looking for honest feedback on my music

      K on the first one, the voices really don't fit all that much. I really like the middle where you have the drums, and you get the feel of a marching army. Second one is the same. You really captured the beat well in the middle, but you did the same thing with the bell which you could either tone down, or make it a more bass sound. There's also something not quite perfect about the start and the end of the second one.... Don't quite know what... Also I love that you made and AOEII Mod. I was gonna make a MOBA one too one day awesome stuff!
    47. I’d seen that “weighted” font that’s easier for dyslexics to read, but I just learned that there’s a monospaced version that’s got all the programming glyphs so you can use it in for programming. In this example, they’re using VSCode, but it doesn’t seem to be doing anything advanced (i.e. ligatures), so there’s no reason it shouldn’t work on any text editor you want. https://dev.to/deadlybyte/have-dyslexia-make-coding-easier-in-visual-studio-code-4kmg View the full article
    48. Hi everyone, I've had a few paid projects, but I am still pretty new to composing for games, and I'm hoping to get some honest feedback on some of my work from the more seasoned composers here. I'm looking for feedback on any aspect of my music, specifically the audio engineering side, as I feel that is my weakest area. What does the overall quality sound like? Does it sound "realistic"? Is it properly mixed, mastered, compressed, etc? The two tracks I'm sharing here are from a LoTR mod for AoEII that I recently scored. The first is the theme music that plays when you are on the main menu, and is my biggest attempt so far to use an entire virtual orchestra. And the second is a piece that plays in game in the background for the evil civilizations like Mordor. It's meant to be both ambient and epic/creepy. Any insight is greatly appreciated.
    49. I agree. Also, congratz on good work on your engine in general!
  • 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!