Jump to content
  • Advertisement
    1. Past hour
    2. 8Observer8

      Godot contributions

      Godot has a big pros. It allows to get a source code of engine for free, change and rebuild it. I like full control and I like your article. I saved a link on bookmarks in Chrome. Maybe I will use Godot instead Unity in the future (maybe both of them). Thank you that you share your experience. What about multiplayer in Godot? Did you try it? Will you write multiplayer (or coop) games? For example, Unity has UNet and free SocketIO plugin.
    3. Today
    4. In this series, I propose to discover the Facade Pattern. In short, this pattern defines an interface that allows a reduced and simplified use of a set of features. To illustrate, we design a facade of the AWT graphic library for a 2D tile game. This post is part of the AWT GUI Facade series. Let’s start with the simplest facade with a unique createWindow() method that allows the user to create a new window: Creating a window with this facade is very simple: we instantiate an implementation of the facade (l.1), and call the createWindow() method (l.2): GUIFacade gui = new AWTGUIFacade(); gui.createWindow("AWT GUI Facade"); In this example, I propose to implement a window creation with the AWT library: other implementations are possible without changing the GUIFacade interface and its use. An AWTWindow class that implements java.awt.Frame is defined to handle our window: The createWindow() method of the AWTGUIFacade class instantiates an AWTWindow (l .4), initializes it with a title (l.5), places it in the center of the screen (l.6) and makes it visible (l. 7): public class AWTGUIFacade implements GUIFacade { @Override public void createWindow(String title) { AWTWindow window = new AWTWindow(); window.init(title); window.setLocationRelativeTo(null); window.setVisible(true); } } The AWTWindow class has an init() method that initializes the window with a given title (l.3), a size of 640 by 480 pixels (l.4), prohibits resizing (l.5), and ensures that the window is destroyed when closed (L.6-11): public class AWTWindow extends Frame { public void init(String title) { setTitle(title); setSize(640, 480); setResizable(false); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent we) { dispose(); } }); } } The creation of the window is split between the createWindow() method of the AWTGUIFacade class and the init() method of the AWTWindow class. The main motivation here is to separate the more dynamic operations, such as the position of the window, from more static operations, such as the title or the fact that the window is not designed to be resized. There are many other possibilities depending on the possible extensions of the facade. With this facade, a user can easily create a window for a specific use, without having to know all the methods of a graphic library. Moreover, apart from the instantiation of a layout of the facade (i.e., new AWTGUIFacade()), all the following code no longer depends on the graphic library (the gui variable in the first example code is of type GUIFacade). This means that it is possible to switch from one implementation to another, and therefore from one graphic library to another. This property is very interesting when you want to cross-platform, or if the first choice of graphic library was not good. In any case, we can switch from one library to another without having to rewrite the entire application! This article presents a very simple first approach, and presents the basics of the facade pattern. In the following articles, things will become more complex, and you will see what can be achieved from a pattern whose principle seems so simple! The code of this post can be downloaded here: awtface01.zip To compile: javac com/learngameprog/awtfacade01/Main.java To run: java com.learngameprog.awtfacade01.Main Next post in this series View the full article
    5. Thanks for all of the help and insight. You guys are awesome.
    6. Rutin

      Godot contributions

      Well I'm glad you're keeping yourself busy. If you do enter in the Doom challenge I look forward in seeing what you come up with.
    7. RoKabium Games

      Something Ate My Alien

      You are the AI of a very skilled mining ship called Antalasia, currently cruising the remote solar system Bitiax looking for mining opportunities. While peacefully scanning for elements on the nearest planet Metis, Antalasias systems are suddenly taken offline and the ship turns dark for a second before being booted up again with all computer screens flashing “Intrusion detected”. Under control of a pirate ship, you must send down your faithful aliens to the planets below and battle to find the loot that the pirate is demanding! More In-depth: A 2D digging, adventure puzzle game with some retro feel reminding us of the amazing first digger games such as BoulderDash that we knew when we were younger. That is the type of game me and my partner wanted to create as our very first joint project for our studio “RoKabium Games”. Both being avid gamers we hadn’t seen many games in that genre that focused more on the actual digging being the main element rather than being an action plat former or survival and crafting sandbox with the occasional digging part. So last year we started working and planning for our game “Something Ate My Alien”. We knew early on that for a 2-person team to pull of creating a whole video game we had to have a planning structure for a game that wasn’t too large or complicated. So early ideas of making a full blown 3D, interactive, huge sandbox with multiplayer alternatives was just not gonna be a good starting point. We scaled down the idea of a huge concept and decided to rely more on our existing skill set in the game industry. We decided to focus on a more manageable core of that we ourselves would like to play and what we believed other people would also enjoy to play. A finite game story of about 10 hours game play from start to finish, something fun and charming with just the right amount of action/digging/puzzles ratio. We also knew that our game would show quality and engaging graphics being hand painted by myself and it would all be done in a style that would ooze retro, hand painted, uniform and a beautiful game with easy to navigate and clear game mechanics and graphics. We wanted it to be a lighthearted but a addictive little gem suitable for a both younger and a more adult audience. Our game would be exactly how we envisioned it since it would be the labor of our own vision, not working for anybody else. As a digital artist with several years experience in working for game studios and painting game assets, backgrounds, icons, characters etc and being part a team of other game developers, I did have some much needed experience in understanding just how much art is needed for a complete game. Even the smallest game contains more art pieces than you might think. For example, for every animation you do in 2D graphics you have to paint a new image and each animation can have anything from a very basic 5 frames up to 30-40 frames. So for each enemy you draw for example you need to also draw that enemy having an idle position, a walking cycle, a running cycle, an attack cycle, a dying cycle, a jumping cycle etc. So for one single enemy in a game you might have to produce up to around 100 images. Add to that, our game would have at least 10 different enemies for each level and we have designed our game to have a total of 4 levels. Each game level or planet as it is represented in SAMA is built up with a set of ground tiles that has seamless tiling for a smooth and more realistic look. For each tile-set I’m designing 6 variants so the illusion of random and unique ground that looks like it is not repeating. Each world has 4 unique tile types to add variation for the digging mechanics and giving the player more varied game play. On top of normal ground tiles we have variants of 20 unique decals and edges created to blend different types of ground together better and adding even more realism. Inside the ground tiles you can as a player find all kinds of loot. So far I’ve designed 25 unique minerals, 9 different type of gemstones, 8 different kind of gases (each with animation cycles), 28 types of artefacts, 12 different types of complete fossilized animals which consists of 62 separate type of bones to find. There are teleporters, oxygen stations, health hearts, energy boosts, lamps to light up the dark caves, secret doors with puzzle areas to solve to get rare loot or upgrades. There are icons for every item and enemy you can find. All of these visual elements are hand painted by myself and still this is just the bare base of each planet level. When designing the UI for the game we both wanted it very neat and tidy look, using our main colour scheme of blue-green-warm yellow that I first came up with during the conceptual art at the beginning of the project. I also wanted some elements to have somewhat of a computer screen/electronic look with glowing outlines to emphasize that you as the player are the actual AI of the ship and the UI you see is the computer interior. While continuing painting and designing the artwork for SAMA we are getting closer to a first Alpha of the game and we are hoping that with the help of feedback from gamers around us and people interested in our game we can develop a game that is incredibly fun and beautiful to play. See more over at our website: Somethingatemyalien.com or Steam page at https://store.steampowered.com/app/1047870
    8. RoKabium Games


      Images & screenshots from "Something Ate My Alien" game by RoKabium Games.
    9. i suck at making music so i need help fyi im broke so you wont get payed if you would like to help heres my discord server:https://discord.gg/SzNcgVz
    10. lawnjelly

      Godot contributions

      Haha no lottery wins! I am no where near any tops of any contributors lists, there are quite a few unsung heroes out there who are working tirelessly every day making commits and bug fixes .. reduz, Calinou, Akien, Chaosus, Groud, clayjohn, KoBeWi, RandomShaper, YeldhamDev, aaronfranke, qarmin, Xrayez, karroffel, fales, iFire, RevoluPowered, bojidar_bg, Mux213, marstaik, jfons, and many more that's just the tip of the iceberg. Myself I'm just looking at problems I personally find 'interesting', and little niches others haven't got the time to investigate. And many of these won't pan out, and aren't part of the core. And I'll probably get back to working on games soon enough. Funnily enough part of what got me working on the rooms / portals module for Godot was the doom challenge. I had thought about doing it in Godot but it didn't support rooms / portals, something I'd been meaning to have a go at implementing. I would like to have had a go at the doom challenge but I've got a lot on in the next month and can't realistically fit it in.
    11. Rutin

      Godot contributions

      Heck, I thought you won the Power Ball and headed off on your long term cruise around the world in your new yacht. When I give Godot a try I expect to see your name on the top of the contributor list! 😎
    12. VictorHelsing

      Selling a Gaming System to a Major Developer?

      Kylotan - { We do have a two page cover letter which is much more concise than our design document. } I agree with your point that nobody cares about our game/system going in, and the cover/pitch letter needs to explain why they should care, concisely. Thank you for your excellent summary of points - I will apply it to our cover letter to see if we can get that to fit on a single page. We worry that our system is sufficiently unusual and want to effectively communicate a number of its advantages that will not be apparent to the reader after a concise description. You are absolutely right that any attempt at eloquence is futile if if our pitch document is too long and the reader drops it in the trash. Tom - Thank you, we are hoping to target larger publishers who do in house development, and I inadvertently used "developer" to describe this type of capable publisher. I understand your repeated point in other writings that barriers are quite high, and accept the proposition that our best route is to develop a game using our system to demonstrate its value in the marketplace.
    13. Tom Sloper

      Selling a Gaming System to a Major Developer?

      Victor, in the title of your post, you proposed pitching to developers but in the post you proposed pitching to publishers. Publishers are the right parties to talk to, but you will have to deal with a sizable challenge: publishers have high barriers to entry for pitches. You need to establish major dev creds first, before they'll listen. And you need to figure out who to talk to at those publishers, and make personal contacts. Establishing major dev creds can be done by releasing your game and/or getting a lot of game reviews published. DEFINITELY under NDAs. In fact, publishers will want you to sign a Submission Agreement, which goes way beyond an NDA. http://sloperama.com/advice/lesson21.html
    14. Kylotan

      Selling a Gaming System to a Major Developer?

      Okay, so you're pitching technology - that's fine. You don't have to worry about the IP aspect at this point, since they won't have anything except the documentation to work from. What you do need to worry about is the fact that you have a dreadfully-written pitch document. You need to be able to say all of the following in one page: The system's name What it does Who it's aimed at How it helps them What they would need in order to use it Why you are qualified to offer this How to ask you for more information One page - not thirty-one with the threat of more. (Nobody needs to see your detailed design docs except the people implementing the technology itself. ) Following on from that, it's good to have a slide deck that goes into more detail on all the things above. That should be maybe 10 slides, 20 max. Once you have a company's interest with all of the above in place, you can agree to discuss further details, perhaps under non-disclosure agreements etc. At that point you have both agreed to enter into discussions and therefore there is a paper trail to discourage anybody from stealing IP.
    15. lawnjelly

      Godot contributions

      Some of the regulars will have noticed I've been posting less lately on gamedev. This is because I've been spending a lot more time working on Godot. After making a few games with Godot for the challenges, I had downloaded the source and proceeded to fixing bugs that affected my games. I've now made a few contributions to the engine and spent as much time working on addons / plugins. It has been quite interesting for me because it's my first venture into open source. I've had to learn (the basics!) how to use git, as the project is hosted on github. I've used various source control systems before but git is a bit different, so that was fun. Godot Core & Addons One of the first things anyone wishing to contribute to Godot will learn rather rapidly, is that there is a firm policy of trying to have as many new features as possible as addons (GDScript addons, c++ modules, GDNative c++ binaries), and to only put new features into the core engine if absolutely necessary. This has proved to be a controversial area, because although in theory this is a great plan, in practice it is much easier for developers to get their work available by getting it into the core engine. At present, far fewer users than we would like actively download and use the various addons. Some types of addons require you to be fluent in building c++ to even install. This is a recognised problem among the devs, and hopefully we will be able to come up with some solutions that make it easier to deploy and install non-core modules. Ideally users would be able to just search and click to install an addon from the IDE. This is to some extent possible with GDScript, but not yet available for c++ addons (which are needed for performance reasons in some cases). On the other hand, with the amount of developers keen to make new features, if they were all integrated into the core engine, it would rapidly become a bloated and unmaintainable mess. Of course, psychologically every dev feels that their new feature NEEDS to be in the core engine, no matter how niche. What I have been working on Initially I was mostly fixing bugs in the Android build. As Godot is multiplatform, and has limited manpower (there are only 2 paid fulltime devs!), one of the areas that is lacking is systematic testing. This is totally understandable, but we mainly rely on the issue tracker for people to report bugs and regressions on the different platforms. This seems to work quite well for windows and linux and iOS, but for Android the problem is that there are a million (literally) different combinations of hardware and OS out there, many of which have bugs. Initially the plan was for an OpenGLES 3 renderer that would work on all supported platforms. Unfortunately although many devices report that they support GLES3, in practice the implementations can be very limited and buggy, and it was clear that to cover all the bases Godot needed to produce a GLES 2 backend. This is still rather flakey in places even now, but tends to offer better performance and compatibility than GLES 3, particularly on Android. GLES 2 Skinning One of the first areas I actually made a difference was in identifying and fixing a major skinning bug in GLES 2. I hadn't been able to get any of my games to run on Android, and it was clear there was a major bug which seemed to be crashing Godot whenever skinned characters were used. Which is like, almost every game. Which meant for all intents and purposes, 3d was unusable for mass market on Android. What became apparent is that it is a very slow process to investigate these types of issues on other platforms. Every time you want to run a build on a device, you have to compile export templates (a version of Godot engine for that platform), re-export the project, deploy to the device, and wait for feedback in adb logcat. Not very fast. You need a lot of patience. On top of that I didn't have a clue how Godot engine worked so I resorted to putting a lot of print statements throughout the code to narrow down what was causing the crash. In the end I tracked it down to the bones data not being present for some reason on the device. After further investigation it turned out that the bone data was retained on desktop, but deleted on Android, and only required in certain hardware configurations (if the GPU didn't support float texture). So I figured out a few lines of code to fix this, and it was my first PR. As a result my game that wouldn't work before was now working on my tablet and Android tv box. Great success! Android Keyboard Input Next up, it was apparent that a large percentage of physical keyboards weren't working on android. Certainly none of mine. A bit of debugging and I had this figured out and fixed. (Unfortunately now they are working it has exposed another bug which causes crash when pressing left cursor .. but am sure we will fix it! ) Timing As some of you may know I'm big on game timing, and had previous written an article about it. I resolved to improve the timing in Godot to help resolve the jitter issues many users were encountering. Fixed Timestep Interpolation The problems were occurring because Godot uses a fixed timestep (which is usually good), however if you are using a fixed timestep, under almost all circumstances, you MUST use fixed timestep interpolation to deal with the differences between frame times and tick times. Otherwise you get godawful jitter. Which is what godot currently has by default (unless by chance you match your tick rate to your frame rate). The established solution is to use fixed timestep interpolation. Which is pretty easy for experienced devs to implement, unfortunately it can be a bit daunting for beginners. So I resolved to try and make this easier. On top of that, there was a more serious problem, the timing information necessary to calculation the interpolation fraction wasn't exposed to users. I did some experiments at modifying the base Nodes in the engine to automatically handle interpolation under the hood. They were only partially successful .. it worked but it was not pretty because the engine was not designed with it in mind. Instead I developed a purpose built interpolation node to do this without any coding. For this to work properly I did some investigation into the Godot timing system and worked out how to expose the interpolation fraction. I then made a PR which has been merged which exposes this to the user. Although reduz decided interpolation shouldn't be part of the core engine, he was happy to have the fraction exposed so it was possible in user code / plugins. This is now working great and will be first available in Godot 3.2 which is currently in alpha. On a suggestion from Calinou I then converted my interpolation nodes (3d and 2d) to GDscript so they could be installed as an addon, which is much easier to deploy as it doesn't require compilation for different platforms (users simply copy the addon to their project folder). I am planning to add this to the official addons once 3.2 is released. Semi-Fixed Timestep While I was working with the timing and after discussion with reduz he seemed interested in an eventual move to basing the tick rate on the frame rate of the device. With this in mind I set about expanding the timing code to easily add new stepping models, and added a semi-fixed timestep mode. This is now languishing in amongst some 350 pull requests waiting for review .. I think it will have to wait until Godot 4.0 now, and perhaps until reduz takes another look at the timing code himself as he may want to do it slightly differently (at the moment the vulkan renderer is the priority). I'm not too concerned about this actually, because although semi-fixed is the default timestep in e.g. unreal engine, I really put it in for completeness, and it is not something I'd tend to use in production myself. It is quite useful for beginners though. Delta Smoothing More for my own use I also modified the engine to allow delta smoothing. This is a subtle timing problem that can give jitter, and delta smoothing can be used to help alleviate (though not eliminate) the issues of measured delta not being representative of actual frame delta. I suspect this is something that I would have an uphill battle to get merged into core, so no PR for now and I'll wait until the timing issues have been discussed in future. OS Timing bugs I also spent a good week investigating something I had never encountered before. We had had bug reports of time going backwards, which prompted me to investigate the values we were getting from the OS clocks. It turned out, that under certain circumstances, the MONOTONIC clocks (that were never supposed to go backward), did appear to be going backward. This could lead to incredibly nasty bugs where time was assumed to be going forward (using unsigned ints to store time difference e.g.). After much research I didn't completely sort this out. However I am hoping that it is not currently a problem that occurs in the wild on the current version. When you get down to the level of nanoseconds you have to deal with race conditions and mutexes to prevent something else happening between you measuring the time and reporting it. And time, by its very nature, once you have measured it you have the wrong value. There is a great quote 'Give a man a watch and he'll know the time. Give a man two watches and he'll never know the time!'... Rooms and Portals And so we move onto my current project. Many users have been requesting occlusion culling, and it has been sorely missing from Godot since version 2. It has been on the roadmap for a while but got pushed back because of the need to work on Vulkan. The frustration from some of the users has been palpable. Admittedly it does make the engine almost unusable for certain genres of games like 1st person shooters. So with this in mind, and having written room / portal / PVS systems before (mostly over 15 years ago though!) I decided to have a crack at an interim solution until reduz gets round to it some time during Godot 4.0. I will detail this in a later blog post, and it is still a work in progress but for now here's a link to a video and the project on github: https://github.com/lawnjelly/godot-lportal
    16. ricvalerio

      Login screen

      The login screen hasn't really seen any change since the start. Because I want soon to do some tests with volunteers, I thought it was a good time to get a basic login screen background going. Let me know your thoughts on the comments below. My video devlog: https://www.youtube.com/channel/UCyOt8sPTqNxRseUzpzUEQQg Cheers!
    17. ricvalerio

      Online RPG

      Follow me on the journey of creating an MMORPG. Along the way, I will share my experiences, implementation choices, techniques, decisions, tips and tricks, until the release.
    18. Maybe i should add: in principle it doesn't matter how your program stores matrices, whether column or row major. As long as you deliver the matrix data to a uniform as a contiguous array of 16 floats, column after column in case of column major and row after row in case of row major ordering. Anyhow you store it - for example as an array of 4 vectors, column or row vectors banana, of arrays of 4 float each - the &matrix[0][0] (C/C++ notation) with a length of 16 floats will correctly transmit the column or row major data to glUniformMatrix4fv. The OpenGL documentation says that for example in a model matrix, the transformation part must occupy the places 13, 14 and 15 in the array of 16 floats. Half of the world laments a column-wise storage, the other half a row-wise. Both are correct. Do your own math lib, then you have the control 🙂
    19. VictorHelsing

      Selling a Gaming System to a Major Developer?

      1024 - That is very good advice. We have been working on creating a prototype game using this system, both to concretely demonstrate how it works, but also to validate our system components and design. Our terrain system is not totally newfangled; it can be applied functionally to a conventional map (with traditional positional elements such as hexes). We have been planning to develop a class library implementing the terrain system in C++ or C#, with meaningful concern about how an existing publisher with a well trodden code base would react to integrating foreign software which might be written in a different language than they are using and would invariably handle terrain differently than their current choices. Obviously other meaningful choices are related to how much processing to place in a central server vs. client, player interaction, animating game action, that are bound to be different than their past decisions. Our intuition is that once a sale is made (to a publisher with an established code base), most or all of our code would be rewritten to be compliant with their internal practices. We would be willing to assist with that process, understanding that it is certain to be filled with fiery disagreement and potential ego threat from multiple parties fighting for what they "know" to be right. DerTroll - Your point is well founded. I have personal experience with developing a game that (to put it kindly) inspired others to copy it for fun and profit. Because of that, we went to the trouble {3 years +} of patenting the system. Of course, that is not perfect, but we need to have some protection before presenting the system in detail to others with strong financial interests.
    20. Many game companies actively avoid reading any unsolicited game ideas to avoid any legal issues. But this is not about a game idea, this is about a technology/engine/middleware kind of a thing. Have you created a game using your system? A working game, or even better, a successful game, may help you gain recognition and interest. It should be easier to approach a company if they know about you and if they are interested in your product. Or even better, if they approach you.
    21. DerTroll

      Selling a Gaming System to a Major Developer?

      You should probably read this. Not a law expert, but I am pretty sure it is the other way around. You should fear that they steal your idea and get away with it. They have the money to pay an army of good lawyers and it is hard to prove that they stole something from you if you have just a manuscript of a game concept and not a useable product.
    22. Aw. Outch 😑 Yeah, looking at your first post more firmly it should have met my eye: the matrices are transposed. In order to avoid problems at other places i suggest not to change the plutimication order but to transpose the matrices when setting the uniforms. It is a central place ...
    23. Kylotan

      Are all Remakes the same?

      No, there is absolutely no standard process for what consitutes a 'remake'. Some are basically just clones with entirely new code and assets, just authorised by the original intellectual property owners. Some are code rewrites where the old assets (art/sound/etc) are available, and potentially remade or edited to bring them up to date. Some might be the other way around, where the code already exists and just needs fixing up for new platforms. And obviously each remake could have new features or new content which didn't exist in the original. Each project will be different and how it is done depends entirely on the intended outcome. Generally speaking it's going to be a very similar process to making a completely new game, except there are existing things (designs, art, music, code) which may or may not be directly usable in the eventual product.
    24. vvoodenboy

      Yet another M:tg clone...

      Hi Shaarigan, I understand your point of view, but I look at it differently: I'll introduce myself to the people with whom I'll work - my name isn't important in the internet. In this case the project is important, not my personal life. If someone won't respond to my ad because I didn't meet their social standards then maybe it's not the right person for me to work with? Such things are also a part of 'recruitment' process. And I don't want anybody to do job for me - I'm just looking for a people who are willing to work WITH me on a project which sounds interesting for them. Cheers, V
    25. Ok, thanks to someone on Stackoverflow the problem is solved. The problem is OpenTK and how it handles matrices. The multiplication order is inverse compared to other libs. Means instead of writing: _viewProjectionMatrix = _projectionMatrix * _viewMatrix; I need to write _viewProjectionMatrix = _viewMatrix * _projectionMatrix; And it works fine.
    26. Kylotan

      Creators wanted

      Moved to the proper sub-forum.
    27. Burgos Games

      Neko Ghost Jump!

      Official Website: https://nekoghostjump.com/ Twitter: https://twitter.com/NekoGhostJump Developed By: Burgos Games https://burgosgames.com IndieDB: https://indiedb.com/games/neko-ghost-jump Neko Ghost Jump! is a Puzzle-Platforming Time Attack game where the player's objective is rather easy, they just need to make it to the end of the level as fast as possible. The puzzle part comes from the level design and the player's ability to shift between 2D and 3D perspectives (and as such, the need to know when/where to switch) It started out as a gamejam submission for Epic Games' 2019 Spring #ue4jam and we decided to continue working on it ever since then. We are currently in our 17th week of production and there have been many changes and additions and most definitely polish added. You can see some of the changes made in this comparison video: https://youtu.be/gthftG8rcFw
    28. Official Website: https://nekoghostjump.com/ Twitter: https://twitter.com/NekoGhostJump Developed By: Burgos Games https://burgosgames.com IndieDB: https://indiedb.com/games/neko-ghost-jump Neko Ghost Jump! is a Puzzle-Platforming Time Attack game where the player's objective is rather easy, they just need to make it to the end of the level as fast as possible. The puzzle part comes from the level design and the player's ability to shift between 2D and 3D perspectives (and as such, the need to know when/where to switch) It started out as a gamejam submission for Epic Games' 2019 Spring #ue4jam and we decided to continue working on it ever since then. We are currently in our 17th week of production and there have been many changes and additions and most definitely polish added. You can see some of the changes made in this comparison video: https://youtu.be/gthftG8rcFw We still have a ways to go, but progress is steady and each week brings us closer to release.
    29. Gurbrinder Singh

      Glossy Balls

      Experience this fun casual game where you tap the balls to pop them up. Let's dive into the unique, addictive and immersive game play offered by the game. Just warm up your fingers and start tapping over moving balls to pop them up, open buckets full of glossy balls, freeze them, gain power ups, avoid hazards and so much more fun to play game elements. The Game offers: 25 levels of fun game play Additional Boss level Addictive Power Ups Relaxation to mind The game is available for android at Google play Download So, what are you waiting for? Grab the game for free and have fun. Let's see if you can defeat a boss at level 25 in one go. COLLAPSE
    30. l0calh05t

      OpenGL compute shader problem

      A diagram can be helpful to better convey the concept, but you still need to properly define it. In any case, I think we are diverging a bit from the original topic of this thread Besides, I have to continue working on my dissertation
    31. Looking for a talented 3D designer / modeller / texturer to work on a single player tower defence PC game project set in space. Ideally I'd like to find someone who can be my partner and take the lead in terms of design and creation of assets, and make design choices that influence the design of gameplay and/or story. If this sounds like something you'd enjoy getting involved with, DM me a link to some of your work. Link to the project page below.
    32. Shaarigan

      Engine Design Questions

      Most AAA Studios with their in-house engines tend to compile them into a static library these days because shared ones may cause some trouble and may reduce performance, especially if you have millions of calls per second, a single instruction more can decrease runtime performance and shared libraries may reduce code optimizations the compiler/linker (in the case of C languages) may provide. Such examples are general engines that you make a 2D RPG and a 3D Shooter with at the same time, the size of the library remains the same regardless if your game uses the one or the other half of the code. Just my two cents! The discussion of OOP versus non-OOP is ridiculous especially if there are articles (even here on GD.net) that proof themselfes right by using OOP related structures (std::vector<T> for example) to illustrate how you should avoid OOP 🤔 So don't spend two many thoughts on that, I'm mixing OOP and non-OOP code very often in my work because there are functions you don't need to be in a class while others have to. Especially in C++ you have multiple options to solve a problem, by using static functions with or without templates, template classes or just OOP structures
    33. Shaarigan

      Yet another M:tg clone...

      Personally I won't work with people that don't introduce themselfes to the people thay want to do some job for them (unpayed) so finally I think this is important and fully belongs to a better social converse 🤷‍♂️
    34. Hey. I know this advice is unsolicited and might be undesired, but I want to give it anyway. It pains me to see an indie developer flop like this. Please, either update the graphics or, write up a relatively detailed description of what the game is about or, make a video of gameplay thats shows interaction with NPCs. Either one of the three will work (third one being the best). I know you don't have a modeler yet, but you can get art assets from the unity store. You need to sell this people who are programmers. They need to see that this project is interesting. Essentially, improve the presentation.
    35. B.Black

      2D Dungeon Tile Pack

      Report tags This pack contains hand-painted dungeon themed tiles, decorations, and game elements. There are two types of isometric wall and floor tiles, you can see the difference in the screenshots. Everything is cut and ready for use. Simplified PSD source included/ Sprite Sheets/Tile Palette The project is well organized and ready for use. Pack contains: • 700+ hand painted sprites + grayscale version • 200 + game elements • 2 types of walls in two color options • 2 types of floor tiles in two color options • Sprite Sheets/PSD files/Png files (please note since we added separated png files sprite sheets is not cutted)
    36. Yyanthire Studio

      Fragment’s Moonrise | #22 The Lesser Dragon of Frost

      Thank you! We definitely will
    37. Sorry I have ask a question like that on here but I can't find answers anywhere else. Recently I had a heated discussion with my buddy who insisted that technically all remakes are the same. The example we talked about was the recently made "Link's Awakening" for Switch and the Crash Bandicoot and Spyro Trilogys. Could you guys shed some light on this discussion between two people with no idea how to Programm? Is the process to create a game like Link's Awakening really the same as something like Spyro? Thanks for your help!
    38. Acosix

      adopting to C++17

      Here are links to get you started: https://www.learncpp.com/cpp-tutorial/b-1-introduction-to-c11/ https://www.learncpp.com/cpp-tutorial/b-2-introduction-to-c14/ https://www.learncpp.com/cpp-tutorial/b-3-introduction-to-c17/
    39. Xequtor

      Engine Design Questions

      Hi You are right, I should have started a new thread, but since they are also related to the game engine design, I thought that maybe I can join an existing one. Thank you for your opinion and suggestion. Currently I am looking forward to hear any suggestion on this topic. About the PIMPL. Hiding the code and reducing the compile time are not my main concern. Rather, my concern is this: So this is what I am trying to figure out. Is it worth adding that extra logic from the PIMPL idiom only to solve this concern or is there probably another solution. This is concern for me and it probably should be for anybody else, who is planning to share his/her engine with other users. And I think it should be considered with designing the engine. Best Regards
    40. Nypyren

      fill fixed byte with values

      You do 'fixed' stuff like you do in C; LIKE A BOSS. public unsafe void Foo() { byte[] array = new byte[1024]; // for example; I assume you get your byte* from elsewhere. fixed (byte* ptr = array) { int* i = (int*)ptr; // cast pointer types to whatever you want // ^ you see that BLASPHEMY with the asterisk associated with the int? // That's different than C: int *i *i = 0x12345678; // moving the pointer works the same as C - advancing by the data type's size. // if you want to mix types, keep a byte* around to position things correctly. i++; *i = 0x23456789; // getting things back out is the same. int value = *i; // value is now 0x23456789 --i; int value2 = *i; // value2 becomes 0x12345678 } // array is now 78 56 34 12 89 67 45 23 00 00 00 ...... } You can also use the Marshal class to be (slightly) less of a BOSS.
    41. I actually found a post on here that may shed some light on some of my confusion I will study this and see where it goes. Thank you
    42. Dawoodoz

      How do you make Windows 10 barely usable?

      It would all be solved if I could uninstall Windows update and simply route all traffic through a single browser that's kept updated with the latest script blocking on trusted plain-ascii web sites. Internet would then shut down when closing the browser after my monthly visit to the internet and no more auto-update attack vectors.
    43. After about 8 months, I have finished my first ever multiplayer game PiXX. Basically everyone colours beautiful artworks together on the same canavas. New art is only unlocked when current artworks is 100% complete. Come join thousands and colour huge highly detailed pixel art together. Here is a link : https://apps.apple.com/us/app/pixx-pixel-color-by-number/id1464643592 RPReplay_Final1568765669.MP4
    44. Endurion

      How do you make Windows 10 barely usable?

      You seem to have pretty much done everything to convert it from highly usable to barely usable. Good job! How about a few more registry clean up tools and maybe one or two shutup tools so it simply has to break on the next update?
    45. Endurion

      fill fixed byte with values

      In regular C# BitConverter is what you're looking for, I don't know if it's available in Unity though: https://docs.microsoft.com/de-de/dotnet/api/system.bitconverter?view=netframework-4.8
    46. I am trying to make something fast paced with precise collisions and a similar feeling to Stick Fight. I do not have enough experience to visualize and know what the correct answer for something like this is. So even when physics is non-deterministic corrections can be applied and still make for a smooth experience? I am struggling to understand the process and picture the flow chart of making corrections feel smooth if they need to happen often.
    47. Gurbrinder Singh

      Spear Stack 3D

      Play carefully crafted version of stack breaker and enjoy the Spear Stack 3D. - Bring the spear down to the bottom breaking stacks - Avoid black colored stacks - Get immortal by pressing and holding button for longer time - Play infinite levels of game - One touch controls - It will be harder to play at higher levels - Enjoy. The game has been released at Google Play Store as well. Please check it out at google play store Spear Stack 3D to provide your valuable opinions
    48. alvaro

      adopting to C++17

      You could look up C++03, C++11, C++14 and C++17 and learn what they changed from the original C++98. Focus on C++11, since it's the one that changed things the most. As you read about new features (unique_ptr, multithreading, lambdas, range-based for loops...), writing lots of little programs to test your understanding is very useful. Alternatively, you could try to learn C++17 as an entirely new language. Then again, you could just continue to write your programs, and use more modern features of C++ only when you need them. I recommend a combination of all of the above.
    49. Hi, for context, i have been working 17 years professionally as software engineer, hobbyist and/or freelance game developer and ive been using C++ (along with other languages) since. BUT i have been using the old school C++98 standard mostly out of practicality and also stuborness, i have used boost 10 years ago back then when most of its modules are not yet integrated to standard C++. now, I want to try and get my hands with the latest one particularly C++17, Is there a definitive guide on what are the difference between 98 and the latest one and how an old school guy like me can adopt easily to the new one? Cant get the correct keywords for google search aswel, Thank you in advance!
    50. For an FPS-style game, client-side prediction is not "impossible," but it will go wrong slightly more often than if you have a deterministic physics engine. Given that you have to deal with the case when the server diverges anyway, that's not really all that big a deal, unless you have gameplay where rewind/correction just "mustn't happen." If that's your gameplay style, I recommend not acting on input until it's been echoed back from the server -- the input-synchronous model, popular with RTS games, for example. Unreal Engine also uses non-deterministic physics, and there seems to be UE based games that do OK on the network. UE doesn't even use a fixed time step size! So it's all a question of how many entities you want to synchronize, how much bandwidth you want to consume, and how much out-of-sync you're willing to accept.
  • 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!