Jump to content
  • Advertisement
    1. Past hour
    2. azhar_r

      Exploration vs exploitation problem

      Its a question from a test paper where I can't verify whether my answers are correct.
    3. Today
    4. DevJarmo

      Learning Netcode

      Thanks! Did I read on another post that you were working on an implementation too? Do you use Discord? I don't use it much for voice chat but for messaging and have been adding other developers I meet.
    5. Tom Sloper

      Avoiding overpowering the MC

      Does MC mean "main character"? You should both nerf one and strengthen the other, so that they meet in a happy place between too easy and too difficult.
    6. Shapes And Holes A new puzzle/arcade game with simple rules but addictive gameplay. Match shapes and holes. Colors don't matter, only forms. Looks like a chalenge for kids? But it's not so easy when time is ticking, colors are different and shapes are running away, going invisible or you need to count them. Complete the campaign of 65 levels with different rules and tiles. Or play levels with infinite time for a high score. Going to release in few days. Would appreciate for your opinion and testing. Available for testing on Google Play: https://play.google.com/store/apps/details?id=com.CatsHeadsGames.ShapesAndHolesLite Gameplay video:
    7. too_many_stars

      GLSL, Point Sprites, Geometry Shader problem

      I figured it out. The problem was that I was multiplying the vertex by the camera_matrix V and then sen this info to the geometry shader. In the geometry shader, I again multipliled gl_Position by camera_matrix V giving funky results. I only needed to multiply each vertex in the geometry shader by V. Thanks again for the help!
    8. CatsHeads

      Shapes And Holes

      New simple but addictive gameplay! Match shapes and holes. Colors don't matter, only forms. Looks like a chalenge for kids? But it's not so easy when time is ticking, colors are different and shapes are running away, going invisible or you need to count them. Complete the campaign of 65 levels with different rules and tiles. Or play levels with infinite time for a high score.
    9. Hello there! So I've followed along with the Vulkan Tutorial here https://vulkan-tutorial.com/ and I've finished it outside of the multisampling section. And I definitely feel like I've learned a lot. However, it sort of contains everything in one monolithic class. While it has a section for rendering "models" it doesn't actually do that, it's for rendering "meshes." If there's a good guide that sort of starts at the end of this tutorial that explains how to break this up into more manageable pieces, that'd be great, that's what I'm looking for. So if you don't feel like reading further that's the main gist of it. But I'll sort of go over what I'm thinking about here. So for me a mesh is something that comprises of a single vertex buffer and optionally an index buffer. There is one material per mesh. A model is comprised of multiple meshes. Each material would likely contain descriptor set information that helps forward information about the samplers and other data that's needed by the shader, to the shader. Each shader would be a static instance that's setup once and is updated through UBOs (uniform buffers) and push constants. (though I haven't learned about those yet) Meshes would contain a command buffer (primary or secondary?) and a command pool and the drawing commands would be setup for that mesh. Then I suppose I'd want to submit each command buffer in a single vkQueueSubmit() call. Or maybe I'd have a single command buffer and pool for all meshes? Where I'm a bit hung up on is the UBO stuff. All the drawing commands are setup in advance in the command buffers. The MVP matrix for example of course could change every frame per mesh. (per model maybe?) How would I go about updating UBOs per mesh object? Is that something that I could map to memory with Vulkan and then update it with some sort of command in the command buffer? The last thing I notice that I'm worried about are the clear values. VkRenderPassBeginInfo renderPassInfo = {}; // Other render pass code here // Clear values std::array< VkClearValue, 2 > clearValues; clearValues[ 0 ].color = { 0.0f, 0.0f, 0.0f, 1.0f }; clearValues[ 1 ].depthStencil = { 1.0f, 0 }; renderPassInfo.clearValueCount = static_cast< uint32_t >( clearValues.size() ); renderPassInfo.pClearValues = clearValues.data(); The Vulkan Tutorial does it something like that. I'm sort of thinking that there's one VkRenderPass object per shader. In OpenGL you just sort of set glClearColor once and you're done with it usually. Why would I do this for each render pass? Does that make sense? Am I missing something here? Anyway, any help is greatly appreciated!
    10. You may want to check https://tldrlegal.com/ it has some of the licenses shortened out to how you can use them.
    11. I'm neither a lawyer nor an "expert". But yes, you can use pretty much any "open source" licensed code in your own projects regardless if they are commercial or not. Generally the licenses are about limiting liability of the author for the use of the code as well as making provisions for how the code itself in "code form" is redistributed. It's more about protecting the authors license to that specific version of their code. Once you have changed it significantly and/or compiled it into a program, it becomes something else.. That license you get to pick. Again, I'm not a lawyer, and there are probably a few circumstances where this might not be totally true, but those probably aren't going to have a major open source license type associated with them either. Also, if you intend to release an open source project that includes open source code from other authors, this is a situation where the license type really matters. Some require you to handle this situation very specifically, others don't care.
    12. Yesterday
    13. GuerrillaAndroid

      Avoiding overpowering the MC

      I've been working on a game for a while and think that my fights might be too easy, as a general rule, would it be better to nerf the MC or to buff the enemies?
    14. I always thought "Opensource" meant you could do what you liked but recently I started reading GLP and Apache licenses and found them super confusing. Is there any simple "for dummies" information I can get on how these licenses work? Apache License, Version 2.0 and GNU General Public License for example? There are a number of coding tasks I want to pay with, but I have found "opensource" versions of these that are probably much more robust and better than anything I could do on my own. They all have these licenses but am I simply allowed to install the libraries and use them in my code, then if I created a game with them, sell those games?
    15. Got time for a new project! Here a few tracks: Orchestral: https://soundcloud.com/nice-noise-on/lento https://soundcloud.com/nice-noise-on/atg_demo https://soundcloud.com/nice-noise-on/endgame https://soundcloud.com/nice-noise-on/the-journey-begins https://soundcloud.com/nice-noise-on/yag_id1 https://soundcloud.com/nice-noise-on/bta https://soundcloud.com/nice-noise-on/we-shall-rise-again https://soundcloud.com/nice-noise-on/pirates https://soundcloud.com/nice-noise-on/through-the-mystical-forest Ambient/Soundscape: https://soundcloud.com/nice-noise-on/city-beneath-the-ice https://soundcloud.com/nice-noise-on/ikalla-demo https://soundcloud.com/nice-noise-on/gathering_data https://soundcloud.com/nice-noise-on/tbp-12 Electro /Chiptune: https://soundcloud.com/nice-noise-on/world-map https://soundcloud.com/nice-noise-on/lighthouse https://soundcloud.com/nice-noise-on/elswidemo https://soundcloud.com/nice-noise-on/driver https://soundcloud.com/nice-noise-on/noga-suub2 https://soundcloud.com/nice-noise-on/street-lethal-actionjr-game https://soundcloud.com/nice-noise-on/chiptune https://soundcloud.com/nice-noise-on/fighter-theme Other: https://soundcloud.com/nice-noise-on/mut_demo https://soundcloud.com/nice-noise-on/ees-12 https://soundcloud.com/nice-noise-on/hts_tot https://soundcloud.com/nice-noise-on/living-puppets https://soundcloud.com/nice-noise-on/cartoon-animation https://soundcloud.com/nice-noise-on/leaves-dream-pop-shoegaze-instrumental https://soundcloud.com/nice-noise-on/ti-r13-1 Exp. with adaptive music (Audiomiddleware WWise, FMod), Unity & program. basics Looking forward hearing from you Cheers!
    16. You play the role of a barbarian warrior who is stuck in a strange mysterious world consisting of 7 dungeons. You have to cross the 7 Gates, each placed in 7 levels, to ascend out of this world. Items to be found include: Keys Potions Various weapons Gold Enemies to be found (more to be added after the challenge is over possibly) are goblins and dungeon bosses. So far, all the assets are some assets migrated from a game example found on the Unreal marketplace. I did not make any of the art, only the programming and the level design for one dungeon (so far).
    17. Qunary

      Astroworks Devlog #4

      Devlog #4 - The Garage 18th of December 2018 Really A Studio - Follow us on Twitter! - Subscribe to our Youtube channel for upcoming devlog videos! - Join our Discord server! - Consider supporting the team on Patreon! - Interested in contributing to the project? Fill out our application form or contact a Producer on the Discord server! Who are we Really A Studio (RAS) is an independent game development team. RAS was founded on the 30th of October 2018 as a bootstrap startup with the goal of creating innovative, quality video games. Our incredible team consists of passionate designers, artists, 3D technologists, sound engineers, and content producers from all around the globe working together to create great games. Our first and current project is Astroworks, a singleplayer sci-fi action game set to release in 2019Q1. Astroworks Concept Astroworks is a story-driven 3d arcade space combat action game. Fight against a galactic megacorporation turned evil with multiple spaceship choices, heaps of weapons and abilities, featuring tons of explosions! Embark on challenging missions which include fighting against swarms of enemy battle drones, blowing up enemy capital ships, sabotaging factories, spaceship races and more! Today's topics: Playable Spaceships – The Tagger; The Ripper; The Defiance Tagger Basic spaceship used by The Azure Ghosts members. Originally a mining model adapted for combat purposes the Tagger is small and easy to control. Its size and maneuverability makes advanced Tagger pilots quite the challenge to hit and damaged by any enemies. Ripper Advanced spaceship model used by The Azure Ghosts. Unlike the Tagger model, the Ripper is adapted for combat, especially for the “hit and run” strategy used by TAG during raids. Its armor and mobility makes it very useful for fast and quick combat, but it has problems when fighting for extended periods of time. Defiance Highly armored and resistant spaceship stolen from the Astroworks corporation and adapted for TAG use. Thanks to its heavy armor, the Defiance can sustain large amounts of damage and it is almost unaffected if it collides with other spaceships or asteroids. But what the Defiance has in resistance, it lacks in mobility. The defiance will have trouble from sustained attacks from fast enemy spaceships that can outmaneuver it. (WIP) Previous Devlog: #3 – Supercharge!: Thank you for your attention! Tune in next time as well and don't forget to follow our activity on these sites: Really A Studio - Follow us on Twitter! - Subscribe to our Youtube channel for upcoming devlog videos! - Join our Discord server! - Consider supporting the team on Patreon! - Interested in contributing to the project? Fill out our application form or contact a Producer on the Discord server!
    18. Unity has a sale for assets that might be of interest to GameDev Challenge participants:
    19. UnshavenBastard

      UDP reception - CPU load and packet loss

      Hey, thanks for the reply! 50% CPU, now that you're asking, I didn't pay attention to that detail, lol! I stared at the top of "htop", perhaps it was only 1 core. It was shown with my process at the top, eating most of it, though. I have to look into "time", and kernel level profilers sounds interesting, too, but probably quite involved to set up? Cache coherency or rather its lack... there rings a bell, I think that problem is there. While it does seem very plausible that my CPU just hasn't got enough horse power, I still wonder what iperf is doing better (if not exactly impressively), and why that one day, it seemed consistent zero packet loss after I set 8 MB buffers (4MB was barely not enough, there seemed to be a roughly proportionate effect). I will try out what happens with only one system call!
    20. Unity is offering a number of Asset Store bundles at discount until the end of the year. Best of 2018 Bundle Save 33% on ten of the very best assets of 2018, combined in this limited time bundle. Pay only for the assets you don't yet own. This deal expires January 6, 2019 at 23:59:59 PST. 55% off Bundles Save 55% when you purchase the below bundles before December 31 at midnight PST: Procedural Worlds Library Get all the tools from Procedural Worlds, publishers of Gaia and many other popular assets. Polygon Library Get the entire library of POLYGON assets from Synty Studios, one of the top publishers in the 3D model category. Heroic Fantasy Characters 90 characters and creatures, rigged, animated, and ready to drop in your project. Save over $550.
    21. Unity is offering a number of Asset Store bundles at discount until the end of the year. Best of 2018 Bundle Save 33% on ten of the very best assets of 2018, combined in this limited time bundle. Pay only for the assets you don't yet own. This deal expires January 6, 2019 at 23:59:59 PST. 55% off Bundles Save 55% when you purchase the below bundles before December 31 at midnight PST: Procedural Worlds Library Get all the tools from Procedural Worlds, publishers of Gaia and many other popular assets. Polygon Library Get the entire library of POLYGON assets from Synty Studios, one of the top publishers in the 3D model category. Heroic Fantasy Characters 90 characters and creatures, rigged, animated, and ready to drop in your project. Save over $550. View full story
    22. Max Whitehead

      3D Rigidbody Dynamics - Collision Response Problem

      Hi isu_diss, Your impulse computation looks correct to me, but I am suspicious of the way you are applying it. The equations you are using compute an impulse, which is a change in momentum. Momentum = mass * velocity. To apply impulse, you do: newVelocity = velocity + impulse * inverseMass You are using functions labeled AddForce and AddTorque. If you are actually adding force, you would be modifying acceleration instead of velocity. This is not correct when using an impulse to resolve collision. I am not sure if you mixed up terminology and correctly implemented the impulse application, or are accidentally using it like a force. If you are using it like a force (modifying acceleration), try using it like I described above, and hopefully it will resolve your issue. This would definitely result in impulses having less impact than expected. Max
    23. MannyMoe

      Project file in Code:Blocks

      Alberth: Thanks for your reply. I have taken your advice and signed up on the Code:Blocks forum. I hope they can help me. Thanks again! Have a great day!
    24. Lactose

      Exploration vs exploitation problem

      Is this homework? Job interview?
    25. Hello, I am trying to run official Getting Started Example on Playground https://plnkr.co/edit/ with OrbitControls. The first problem was that official OrbitControls is not friendly with TypeScript and I took: https://github.com/nicolaspanel/three-orbitcontrols-ts But this module does not use AMD by default and I recompiled it to AMD for usage with RequireJS library because I have a few files: Program.ts and Scene.ts and I can run my example on Playground only with AMD compilation. Recompilation requires going in node_modules folder for recompiling module - it is not a common way. I created libs folder in my project and copied content of dist to libs/three-orbitcontrols-ts/ it works localy: https://github.com/8Observer8/usage-orbitcontrols-in-typescript-on-playground I put all files in one directory for usage in Plunker and it works localy: https://github.com/8Observer8/usage-orbitcontrols-in-typescript-on-playground-one-directory But when I upload the files on Plunker it does not work: https://plnkr.co/edit/yICv96E7lTK8xu7DohJB?p=preview You will see the error in a console: Please, help me to solve this problem.
    26. Chug Buster

      I hate dialogue systems

      I'm using gamemaker studio. There really isn't much else to the project, I just wanted to figure out how to do dialogue systems so I could in the future if I really needed to for a game
    27. There's no such thing as the compiler choosing an overload based on whether or not it compiles; at that point, the best overload has already been chosen and compilation errors are what they are. SFINAE applies specifically to substitution errors, while the compiler has to determine the actual types for template arguments so it can create the candidate set for overload resolution. Take a look at this example which does what you need: http://cpp.sh/4c7h The reason this works is because std::enable_if will only have a member typedef 'type' if the condition is true. So in the cases where the condition is false, "std::enable_if<false,T>::type" will be considered a substitution failure because the compiler can't find 'type' and perform the argument substitution. However, you intentionally provide two overloads such that one will always succeed and the other will always fails (based on the return type), so the compiler will always be able to generate a candidate set with at least one method (depending on what other overloads it finds).
    28. Here's one way to do it, at least for return types, with the help of std::result_of. template <typename T, typename = std::enable_if_t<!std::is_same<typename std::result_of<T()>::type, void>::value>> auto call(T lambda) -> decltype(lambda()) { auto result = lambda(); static_assert(!std::is_same<decltype(lambda()), void>::value, "This overload can return a value of any type"); return lambda(); } template <typename T, typename = std::enable_if_t<std::is_same<typename std::result_of<T()>::type, void>::value>> void call(T lambda) { static_assert(std::is_same<decltype(lambda()), void>::value, "This overload returns void"); lambda(); } int main(int argc, char** argv) { call([] {}); call([] {return 1;}); } Try it online: https://godbolt.org/z/kGwoi7
    29. cozzie

      Missing pixels in mesh seams

      Thanks @Hodgman. I think I understand, will try to play around with it. The only thing I don’t understand, is what happens with the camera rotations, which is no longer “included” in the view matrix
    30. hplus0603

      UDP reception - CPU load and packet loss

      First, two system calls per packet is never great. You should instead either block on recvfrom(), or you should use a non-blocking socket and deal with the case when there is no packet. If you need a timeout, perhaps do that on another thread? It's worth changing to a single blocking recvfrom() in a simple receive loop just to measure how much the system call overhead is. Second, high packet loss is almost certainly because of system overload on the receiver side in the setup you describe. Third, is the 50% "percent of one CPU" or "percent of all CPUs?" And is it "total time" or just "your process user-space time?" From what you say, it sounds quite likely that your system is CPU bound, possibly on a single core. For example, most ARM linux-es vector all interrupt to one core, which means that with a high interrupt rate, CPU usage will be high on that core. If the driver for the network chip is not highly optimized, or if the chipset logic of your integrated board doesn't support all the fancy offload/DMA methods of a PC system, or if your CPU core needs to flush cache to be coherent with DMA, then you almost certainly are CPU bound on that load. You can check what the system is doing overall with other tools, such as "top" and "time" and so forth. There are also kernel-level / sampling profilers that will give you a better overall view of where the CPU is spending its time. It's almost certain, though, that your problems are all because of "embedded systems performance woes" rather than "software level woes." Assuming you're on an i.MX6Dual of some sort, that runs at 1 GHz, with anemic caches, and an old implementation architecture (compared to the x86-style speculative pipelines) on top of a 64-bit RAM interface at 533 MHz (compared to 256bit-plus at 2000+ MHz of most PCs.)
    31. I have the following question and wanted to know if my answer is more or less correct (makes sense): My answer: Does this answer make sense? If not, what needs to be added or changed?
    32. Tutorial Series about how to make your own simple 2D game engine in modern OpenGL 3+ and SDL: Advanced C++/Graphics Tutorials Book: Build your own 2D Game Engine Source code for the book: https://github.com/apress/build-your-own-2d-game-engine You can translate WebGL examples to OpenGL 3+
    33. Thank you all very much. I appreciate all of your help to make me step forward and make progress. Few questions to understand the rest: 1- Is OpenGL mainly for creating games? 3D games for both Windows and smartphones platforms? 2- Aren't there any tutorial videos you have watched previously and know they're good for beginners, but in C++.
    34. Hi, I'll quickly just tell you a little bit about myself so you understand the situation. I'm currently studying Games Computing Bsc at the University of Lincoln, I'm in second year and just started C++ programming. I've just finished one of my modules which included creating a game and really got motivated to try and do something myself, I wanted to try and push myself and see what I could learn. This will help me build up my portfolio and help me understand the different aspects of C++ that I might no learn here at university. So the plan is to create a mobile strategy game. Not 100% sure of the type of game its going to be as I haven't done the design stuff yet, all I know is I want it to be a classic mobile strategy game. Some games that are similar to the ones I'm wanting to create is Sid Meier's Civilization games, Tribal Wars, Rise of Civilizations and other games in that area. I know online stuff will be tricky but I'm not entirely sure its going to be online. Basically I need to know which engine will be best for this. I'm used to UE4 and Unity. Are any of these the best way to go? Thank in advance.
    35. Howdy, I have an ARM Cortex A9 CPU, the NXP iMX6, dual core, on which runs a bare bones Linux (kernel 4.1.44). I'm trying to receive data over its Gigabit ethernet interface. goal throughput is ~ 40 MByte/s (320 Mbit/s) my default UDP payload is ~ 1350 bytes, I've experimented with sizes from 300 to 16k Bytes the ARM board is connected, via one Gigabit switch, to my PC nothing else on the switch on the PC runs the UDP client, sending data continuously the ARM runs the server which binds a socket to a port and then basically only does while(true) { poll( socket, ...); recv( socket, ...); } there is some other stuff going on like loop time jitter histogram and crude data integrity check, but commenting that out yields no difference in the problematic behavior I.e. I'm using the socket library as available on Linux. Now, according to what I've read, poll(..) blocks (in a non-busy manner) until there is data. I use it because it has timeout functionality. So from that, I should not be seeing the near maxing out of the CPU (90..99 % for my process) that I unfortunately do. Unless that throughput really is too much for that ARM CPU. But I doubt that, as iperf (2.0.5) eats "only" 50..56% CPU at ~ 40MB/s datarate. I'm not sure what exactly it does, though, looked briefly at the code and saw some fiddling with raw sockets, not sure I want to go that route... I have hardly any experience with network stuff. Also, there was this strange effect of high packet loss, despite this short connection, while a second PC as UDP receiver has no packet loss. I'd get it if the CPU were at 100% all the time, but it's slightly below - and iperf much less, which still can get like 2..4% loss. I then found some Linux settings: net.core.rmem_max and net.core.rmem_default, which I set to 8 MB each via sysctl, instead of some KB it had prior. Then the packet loss went to zero (still around 90+ % CPU load). Today I tried to replicate this, put I have packet loss again. I had also put the cheap plastic switch somewhere else, now I'm suspecting that that thing may be unreliable... yet to test. Can switches be a problem source like that? Any ideas about why the CPU load is so high? Or, in other words, am I doing this totally wrong? What would a proper implementation of relatively high speed UDP reception look like? Regards, - UB
    36. First, pick a GUI toolkit for Java. Swing, or the Eclipse SWT, are popular choices. (You could also pick a game engine with a GUI built-in, if you want to animate in real time or do 3D rendering.) Second, pick a networking technology. It may be as simple as Java object serialization across a java.net.Socket, or as advanced as some custom protocol on top of a message broker like MQTT with very sparse byte-conscious serialization over a TLS connection, to something game-based based on small UDP datagrams. Third, build your client application to make the appropriate requests on top of the protocol, render the result to the GUI toolkit, and collect user input to send new requests to the server. Fourth, develop the actual server to receive requests, process them, and send the appropriate response messages. There's the separate question of "what do I put into my messages" which depends entirely on what your application needs to do, what level of authorization you need, and so forth.
    37. Hello everyone! This challenge! I voted for Doom and Dungeon Crawler and I am really happy with the results of the poll. The main goal will be trying to create something with his own touch. For my last and first challenge I pretty much only tried to meet the basic requirements. This time I want to try to go a little bit further. Basics For this challenge, I want to try to get into 3D again. I actually tried to improve my Blender "skills" over the last couple of weeks. Since I was also excited for the Doom challenge I will also make this an FPS game trying to combine ideas I had for both challenges. I already started working on the main weapon. Sadly I don't have any screenshots on this laptop. The look of the models will be pretty basic since my ability to use Blender is still on a rookie level. Gameplay The game will take place in a high tech robot base that contains a lot of different rooms and hallways. If I have enough time these actually might dynamically change. The art style will be a shiny white look with simple mapping elements in order to keep things simple. The goal of the player is to find and open a portal that leads into the next level. In order to activate the portal, the player has to collect energy crystals that are scattered around each level. Enemies As enemies, I will try to create a couple of different robots that are trying to stop the player from opening the portal. These robots can either be destroyed or the player can try to sneak around them. Destroying these robots will allow the player to collect upgrades in order to improve the stats of the player's robot. Loot The main loot of the game will be the energy crystals which are needed in order to open the portal to the next level. Furthermore, enemies will drop a different sort of crystals that act as energy restoring functions of the robot or adding new abilities to his kit. There will also be other items like maps or stealth devices that help the player to get through each level. The energy of the robot will also be usable in order to purchase upgrades at rare upgrade stations which can be found once in each level. Audio This is a thing I am kinda worried about. Usually, I use a simple piece of software in order to create some retro sound effects very fast. Sadly I think these will not fit the style of this game. If this does not work I will either have to pick up some free sound effects, what I really don't like, or I will have to find a different way. Visual Art I kinda want to achieve a very "clean" and high-tech looking art style. This is kinda hard to explain without showing some visual references. I will talk more about this in my next posts. The reason for this is first, that I think this art style fits the game idea very well and second, that my Blender skills should be good enough to create some models in this style. Project Scope Completing this challenge in time will be pretty hard for me this time. First of all, I am going to try a lot of new stuff that I have not done before. Second, creating 3D Models takes a lot more time than creating simple 2D sprites, at least for me. I actually have a lot of ideas for this project. I kinda would like to implement procedurally generated levels. I don't think I will have enough time for this though. If I still have motivation left after the challenge is completed I might continue this project afterward! Sadly I can not show my current progress of the project since I can not access the project until I am back home on Thursday. Will try to make another post next weekend! Thanks for reading! Good look to everyone who is also going to join this challenge! - Znippy
    38. Bump! Still looking for people!
    39. VirviVR

      To prototype or not to prototype?

      I think prototype
    40. It was my personal experience, whilst going through a similar learning process myself in similar conditions (at about the same time, though luckily I jumped into Java and discovered the Design Patterns book early), that there is a stage when one has learned some Software Design and starts overengineering everything, resulting in such as heavy mass of things that "seem like a good idea" and "just in case it's needed" that it effectively defeats the purpose of the whole OO philosophy. Eventually one starts doing things the KISS way, Refactoring code when the conditions that defined a design decision change, and designing software driven by a "what does this choice delivers and what does it cost now and later" thus producing much more maintainable deliverable functionality (what code delivers matters vastly more than The Code) and faster. Looking back, I would say this transition only properly happened to me about 10 years after I started working as a Software Developer. I reckon this is the point when one transits from Junior Software Designer to Experienced Software Designer. It takes time to get there and I suspect not that many make this transition. There is a similar thing around Software Development Processes, which can be observed in, for example, how so many groups use things like Agile in a recipe-like fashion (and often ditching the most important non-programming bits) rather than elements of it selected based on the tradeoffs of what they deliver to the process versus what they cost (not just money cost, but also things like time, bug rates, flexibility, learning rates, etc) in the context of a specific environment (i.e. the subset of Agile for use in a big non-IT corporation is not at all the same as that for use in an Indie Game House). PS. I think the bit you mentioned about the ignorant spreading their ignorance (and damn, I look at online tutorials and that shit is all over) is basically Dunning-Krugger in action, just like we see all over society and the Internet at the moment: people who have learned just enough to think they know a lot but not yet enough to understand just how much, much more they need to learn, are still very low in terms of knowledge in an area but at the peak of their self-confidence in terms of what they think they know, so they spread their ignorance around as if it's Wisdom, and do so with all the confidence of the trully ignorant. The Original Post in this article is a stunning example of just that, which is probably why all the Old-Seadog Programmers around here seem to have jumped on it.
    41. AM_GameDesignStudent

      Looking for dedicated team

      Hello I am looking for a team that is dedicated in creating a small game. I prefer that the game is already being worked on as that shows determination in terms of completing it. Below is a link to my current resume that has video links on some of the things I have worked on in the past. However, I do have screenshots on various other things I have done and can show. I have some skill in almost everything from Level Design to some C# programming to 3D Modelling. Resume: https://drive.google.com/file/d/14JiFAatvMVfp5NutZ78YeeV_4YYw1t3O/view?usp=drivesdk
    42. 8Observer8

      In Need of direction

      This tutorial about making MMO games: Unity Multiplayer Game Development with Node I can help you to connect your desktop (or WebGL) Unity client with a server on Heroku.You can get 5 applications on Heroku by free. It is a good point to start. I made it. Unity WebGL Client: https://green-game.herokuapp.com/ Unity Desktop Client for Windows: download
    43. Whilst I have not worked in this style, I have designed systems architectures which made heavy use of segregating things into separate services (mostly to facilitate redundancy and scalability) and in my experience there is a significant cost associated with defining proper communications interfaces between services (aka APIs) and - maybe more importantly - changing them when changes of requirements result in changes to multiple "services". In fact, the part of the secret in designing high performance distributed systems was to find a good balance between decoupling and performance (both program performance and software development process performance) and always be aware of fake decoupling (i.e. when things look like decoupled, but they only work as long as certain assumptions - such as, say, no more than X elements are sent - are the same inside the code on all sides). The whole thing as you described it sounds as OO encapsulation but wrapped with a heavy layer that adds quite a lot of performance overhead and a whole new class of problems around things such as failure of request execution and API version mismatch (or even worse problems, if people decide to use networking between "services"), all the while seemingly not delivering anything of value (catering to programmer fashionism and prima-donna behaviours is not value, IMHO). Both in the literature and my experience, the best level to have service APIs at is as self-contained consistent business operations (i.e. ops which must be wholly executed or not executed at all), and I can only imagine how "interesting" things start getting with such high levels of service granularity as you seem to decribe when dealing with things such as Database Transactions.
    44. Hi khawk Great content on Ue4, really helped me through my projects Me and my team are also interested in Visualizations through Unreal engine 4, we provide assets with photorealistic quality and ready to use features. I wonder if you could give us your feedback on how are we doing and you also might grab a few tips here and there. here is our website: https://ue4asset.com Best regards Sina From Ue4assets
    45. The "new" fashion in non-games architecture is "micro-services". In this approach you abstract everything. Even the compiler and the operating system. You get complete freedom of choice over you "art" style. The assumption is: You should never re-use code across teams. A certain programmer/team can re-use their own code. However when something goes wrong and someone has to fix it: You just throw everything away, and let the new programmer start from scratch. You do this by making sure that every little piece of code is completely encapsulated in it's own server. (it even get's compiled separately.) This has performance costs (because the APIs are usually needlessly network based). It has boilerplate development costs (because the APIs are usually needlessly network based). However... The joy of being able to fix a problem by ripping out someone else's code, and then using your favourite framework to solve the problem, is really enticing. After having worked in this style for the past several years, I don't know if I like it or not. However it is a very interesting philosophy when you work on a very large project. Also, I think that the recent improvement in Docker containers makes it very manageable if you do it right. That said, the performance costs probably make it unsustainable for game dev.
    46. Damnwing0405

      Form a team

      Still looking for programmer, if got any one interested please contact me at damnwing0405@gmail.com
    47. Hi Guys. I'm currently working on a puzzle game with the theme elections. You have a board of hexagons with a color which represents the country and the majority of the voters in this part of the country. Your task is, to make the whole country vote your party. The thing I need your help with is the background. We had two Ideas, one was to lay the landscape in the further background an make it blurred out. First Screenshot the other and more useful one was to integrate the hexagons into the landscape to show that they are actually real country borders. Second Screenshot (both pics are rough designs and will be worked out. They are more like sketches of how they could look like) I wanted to know which direction seems better or more appealing for you. Thanks for your help, Luno
    48. Time for the 3AM Roundup! What was I doing all evening??.. hmm.. So, finally, these RocketBoards are ROCKETBoards! No more put-put'n around on the ground, no no no! I've completed the currency circle and now you can exchange your shiny golden rings for some airBoost Fuel! 1ring = 1 second of fuel. You can hold 100 seconds worth at a time, recharge whenever by clicking on the Rocket Shop menu item!(even while playing) This allows you to use your rocket thrusters while in the air, like every true RocketBoard should do. So, now instead of a few hundred meters on a jump from the plateau, I'm reaching 1000+ on a straight shot with lots of speed. It's so much fun. The race courses are a whole other experience like this. (Still no npcs to race with yet, it's next I swear!!) SlingBot Boarding v0.2.2: https://www.kongregate.com/games/WilliamOlyOlson/slingbot-boarding I've also put some significant work into more/better sound effects, spent some time in Audacity making some permanent remixes since I'm having trouble with applying effects in Unity, this way should be better for performance anyhow. Also spent several hours on the UI, fixing things up and making them nicer to look at(hopefully).. haha What else, mmm.. airBoost rockets, UI upgrades, Rocket Shop menu... Testing the last build... fingers crossed!!!! Ahhh Yeah! There's the money shot! Enjoy!
    49. ReyGates


    50. timothyjlaird

      To prototype or not to prototype?

      Speaking to the value of prototyping... In software development it's a necessity, it is a logical progression on the way to test driven development. If you prototype and test your design constantly during development it dramatically lowers the risk of getting weeks or months along and producing crap, or failing. It's silly and trite but our company had to do the marshmallow challenge in small groups no long ago: Every team that didn't prototype and test their design before committing the full time block failed the challenge. The damn thing flopped over. Point: invest the time to prototype, test and redesign constantly so you fail fast when it doesn't cost much instead of failing when your ass is on the line.
    51. OOP and myself, yeah. Its a like and dislike kind of scenario. In 1998 (the saddest year i had so far in my life) i started out programming in borland delphi and was thrown into OOP from the very beginning. I had no one which teached me fundamentals and internet was still too expensive. The Delphi-Helpfile was the only thing which i learned from in the early days. But for some reason, i understood it from the very beginning, classes, inheritance, interfaces, static vs non-static, polymorphism, etc. So i was liking it from the very beginning. For decades i was coding in Delphi, also mixing in other languages like C++/Java, etc. But since i started doing and seeing more and more professional work in the non-game development field, i started to see problems of over-using OOP. There are so many people/experts out there, which abuses OOP to write the worst kind of software you can imagine -> barely working, exceptions everywhere, slow like hell, untestable, impossible to understand or to follow: - Classes which are not classes - Abstractions just for the sake of it - Extendability without a reason - Hiding everything just for the sake of it - Using delegates/callbacks everywhere - Using virtual functions for no reason - Overuse of inheritance - Misuse of polymorphism If they would write it with less OOP´ness, the software would still be garbage - but i could at least understand it. Unfortunatly this kind of shit, you will find all over the place - especially in expensive business software or in the java world. But the main problem is, that those "experts" teach other people. This results in more people writing poor code, which makes me very sad :-( Another problem i often see, is that third party libraries or frameworks may forces you to write bad OOP code, due to its bad api design. I am always surprised, how customers happiely use such software in production environments. Its like a miracle that those things work. But what makes me so angry, that you can actually write good software when you use the proper tools at the right time, but people somehow have forgotten that or simply doesent care. So the conclusion for me is: OOP is totally fine, when well and not over-used. If you easiely can follow the control flow of any kind of source, the chance are much higher that its well written - neitherless of its coding style.
    52. lawnjelly

      VB Skinning

      The method used for hardware skinning is specific to the technique, often there is a matrix palette where e.g. the 4 highest weight bones are used to influence a vertex. This thread (although from 2012) might have some ideas: https://www.gamedev.net/forums/topic/631948-what-is-the-current-trend-for-skinning/
  • 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!