• Breaking News

    Saturday, February 27, 2021

    Screenshot Saturday #526 - Brilliant Colors

    Screenshot Saturday #526 - Brilliant Colors


    Screenshot Saturday #526 - Brilliant Colors

    Posted: 26 Feb 2021 08:34 PM PST

    Share your progress since last time in a form of screenshots, animations and videos. Tell us all about your project and make us interested!

    The hashtag for Twitter is of course #screenshotsaturday.

    Note: Using url shorteners is discouraged as it may get you caught by Reddit's spam filter.


    Previous Screenshot Saturdays


    Bonus question: What has been the most enjoyable part of game development for you?

    submitted by /u/Sexual_Lettuce
    [link] [comments]

    Modern OpenGL C++ & ImGui : Overview

    Posted: 27 Feb 2021 03:17 AM PST

    I made this cool stylized fire shader tutorial

    Posted: 27 Feb 2021 09:39 AM PST

    Would starting a YouTube channel centered around your games development be a good way to get the name out?

    Posted: 26 Feb 2021 09:43 PM PST

    I see that many games fail not necessarily because they're bad games but because nobody really knows about the game and it is lost is the sea of hundreds of other games released onto steam. So would starting a YouTube channel focused on your games development be a good way to let people know about your game?

    submitted by /u/the1andonlyaidanman
    [link] [comments]

    Supporting hundreds of players on a single fast paced game server - koth.io networking model

    Posted: 27 Feb 2021 11:39 AM PST

    Supporting hundreds of players for a fast paced game on a single server - koth.io networking model

    TLDR;

    1. Serialize network events into a custom byte encoding as small as possible with a constantly open TCP connection.
    2. Build an identical game engine on both the client and the server.
    3. Only send player inputs to the server
    4. Run game logic on one thread on an isolated core, separate IO logic on to different threads
    5. Batch events together in as few packets as possible
    6. Use determinism to make assumptions on the game client to fill in the gaps between server updates

    This is my attempt at explaining what I've learned over the past couple of years implementing my multiplayer game.

    Currently koth.io has a capacity of 500 concurrent players per game server at a 30hz refresh rate. Given a small indie budget the servers are not particularly beefy, yet can do the job quite well without noticeable lag from the player's perspective. The game is rather fast paced so precision and determinism in processing of events is important to a consistent game experience.

    Here is a general idea of the implementation details of how the network model works.

    Protocol - binary web sockets

    Given it is a web game, choices in network protocol are rather limited. There are some experimental APIs such as WebRTC which uses UDP underneath that could have been used, but I instead opted for a reliable transport layer and didn't mind the small overhead of web sockets too much.

    Web sockets come in two main encodings, you can either use utf-8 based strings. Which is more common especially paired with json, but there can be quite a bit of overhead involved with serializing the extra formatting. Under a rather simple "less bytes is better" thought process, I chose the other encoding which is just straight up binary. To compare the two with a small example -

    JSON -

    {"gameEventName": "collision", "playerId": 76356, "projectileId": 987398}

    total: 74 bytes

    Binary serialization-

    gameEventId : 1 byte

    playerId: 4 bytes

    projectileId: 4 bytes

    total: 9 bytes

    That's nearly an order of magnitude of bandwidth saved per event.

    Deterministic game events - player input

    The game engine running on the browser is the same as the server, all events are processed deterministically between the two. Time events are constantly broadcasted from the server to tell the clients "x amount of ms has passed, please update your game state". The game client won't proceed without a time event.

    This means the server doesn't need to know much at all about what is happening in the browser's game, it already knows. Only the input events from the player are required to be sent to the server. This keeps network traffic lower.

    Game server threading model

    TCP connections and serializing of the events are handled in the inbound thread and the outbound threads. It's important to keep hardware IO away from the logic thread to avoid any IO blocking.

    The inbound network thread constantly checks the sockets for new events from players, then serialized and sends the event over to the game logic thread. Inputs from players will only be queued (and possibly aggregated) and will NOT change game state or propagate outbound events, that is the Time pulse thread's job to trigger.

    📷

    https://imgur.com/YCGd0py

    Every 33ms the time pulse thread will poke the game logic thread to say "X milliseconds of Time has passed". The game logic thread will process all the queued input events, which runs the events in the game engine and broadcast all the resulting outbound events in a batch to the outbound network threads.

    Each outbound network thread does the management of a TCP connection, including sending of the packets and disconnection. It will also do it's best to fit the batch of events in a single packet, to reduce the overhead of performing multiple sys calls. If a client is too slow to consume the tcp traffic to the point it back pressures on to the individual outbound network thread it will disconnect the session, preventing back pressure onto the game logic thread.

    📷

    https://imgur.com/xmKlIr3

    The game logic thread is configured to run on an isolated core, meaning the operating system will not schedule any other processes (including the operating system ones) on to that core. If I had more budget I'd also isolate the inbound network and time pulse threads. This is only a useful practice with dedicated hardware, if your applications are running on cloud hosted systems then this would be a rather useless exercise.

    As well as taking advantage of the isolated core the game server thread runs on a single thread to avoid the overhead of concurrently sharing any state. Using concurrent locks, memory fences and Atomic CAS operations are relatively expensive compared to general computation. Sharing mutable state is fragile (unless you can write perfect concurrently safe code), and generally more computationally expensive.

    Client side assumption making

    The server broadcasts updates at a rate of 30hz, the chances are your player's monitor's and gfx cards can handle a lot higher fps count than that. Depending solely on server updates to update what's displayed on the game client will have the effect of displaying 30fps, probably not what the player wants.

    Another advantage of a deterministic model is the game client can make assumptions on what happens in between the server updates. This player will have moved a few pixels in that direction, that explosion will have gotten slightly bigger, background animations will have moved on etc etc.

    submitted by /u/kothio
    [link] [comments]

    Why Godot isn't an ECS game enginge

    Posted: 26 Feb 2021 01:23 PM PST

    Any tips for character animation for single person devs?

    Posted: 27 Feb 2021 08:12 AM PST

    How do you other single person dev teams deal with animation? I feel out of my depth with animation. Like I end up importing ten different mixamo characters and skeletons and rigs all with slight variations and adjustments. Some I've thrown in blender, some I've tried blending, some I'm trying to work with previous skeletons, all in an effort for a base animation system that I can add to and change the mesh for without reimporting a character everytime. But it's all very confusing. And I feel mixamo would only get so far. Then I see procedural generated animation and I think that's the key. I'm in Unreal by the way.

    Any animation wisdom?

    submitted by /u/thenoirplague
    [link] [comments]

    Can anybody here give me some feedback about my game's environment?

    Posted: 27 Feb 2021 11:48 AM PST

    I have a build ready, I need a few people to help me out by roaming it, and helping me test it.

    submitted by /u/Gx40_Dev
    [link] [comments]

    Working on a small, yet fun game

    Posted: 27 Feb 2021 07:55 AM PST

    I've been working on this game for around a month now and i wanted to share some of my progress.

    It would be awesome to get some feedback from you :)

    https://reddit.com/link/ltqyig/video/z3pwgu72l1k61/player

    submitted by /u/Game_Slayer_LLC
    [link] [comments]

    Is JavaScript/PWA legitimate 2D game development?

    Posted: 27 Feb 2021 09:21 AM PST

    (new to group, thanks for being here and letting me join. I'm totally lost)

    I build a 2D puzzle in JavaScript as a PWA. I WANT to get this thing into mobile and desktop stores. At this point I need to monetize this and I'd like to add a social feature (that's another topic) after that I need to find a publisher.

    My question is am I setting myself up for failure using JavaScript and PWA? Do I need to turn to some game engine, and if so, which one?

    submitted by /u/stupidMcDoofus
    [link] [comments]

    How to Deform/Transform Square to Dimond, works in Unity, Unreal, Blender, and more

    Posted: 27 Feb 2021 09:20 AM PST

    Is this game premise too abstract to reach an audience?

    Posted: 26 Feb 2021 08:26 PM PST

    For context, I am a 2d game illustrator, animator, and composer working with a team of just four folks, two devs and one other animator/illustrator. I was initially very confident in the concept, but when I shared it with a friend, they seemed baffled and couldn't wrap their head around the mechanics and story. Since we are still in an early stage of development, having only finished writing events and developing concept art/visual style, it's our last chance to turn back. Here's the premise:

    The player enters purgatory, the afterlife that is neither Heaven nor Hell, prior to their death and is directed to atone for the sins of their mortal life by making decisions in their setting. The world is set in a casino with seven floors, and the final floor is the garden, where the pearly gates are located and where one's sin can be judged. The player and fellow NPCs have zero memories of their mortal lives and must gamble in order to regain these memories and help them understand both themselves and their connections with other players. At any time, the player can decide to end the game by facing judgement and ascend to Heaven or descend to Hell.

    The game is meant to be an introspective examination of how humans affect each other in subtle ways, and I think it has a lot of replay value because there's such a wide variety of decisions and events which change the course of the game.

    We tried to split up the concept into several basic and manageable mechanics, which are as follows:

    The player engaged in gambling game situations where odds can be premeditated through cheating and tipped in the favor of a certain player.

    After unlocking specific memories and building a relationship with characters, progressive dialogue choices open up with NPCs.

    You can give and receive memories, but after they are unlocked they cannot be given away.

    Some NPCs will brawl with the player when provoked in particular ways.

    And of course a host of non-player-contextual actions, like moving around, accessing inventory, and unlocking new memories/replaying old ones for clues.

    The gameplay itself is simple and is primarily concerned with pushing the player to make increasingly morally difficult decisions, such as forgiving those who may seem insincere or being told by an angel to do something evil with the claim that it is God's will. Our objective is to tear the player between making decisions they think are right, and making decisions they know will get them into Heaven.

    However, I'm concerned that some of the concepts in this RPG will be way too abstract for a casual player. The mechanics I am most concerned about are the use of memories like currency (to be earned and spent) and just the idea of the location of purgatory itself and what that means for the player. We also took a liking to an abstract art style for the game— not super abstract, but with a lot of geometric shapes and colors (think Monument Valley).

    We want to address human issues and struggles in the game, but I'm just afraid that with the setting, mechanics, etc. the game may end up being totally non-relatable to most players. Any advice would be greatly appreciated.

    submitted by /u/DaveMustainesToenail
    [link] [comments]

    Am I ruining my career options by not using common engines?

    Posted: 26 Feb 2021 10:24 PM PST

    Hey there,

    I realize this could also go into /r/cscarrerquestions, but I think this sub has more experience. Also, a small disclaimer, I am by no means trying to cause a custom vs commercial engine discussion.

    I have been making games for over 15 years and find it really difficult to enjoy working in existing engines. The result is that I have released almost 3x as many games in my custom engines than in existing ones. It's not like I have not tried, I check out Unity almost every year since their 4.5 release and also gave Unreal a try where I managed to finish small games in them. But after that, I just want to go back to my own codebase. Don't get me wrong, they are excellent engines, but nothing beats having the for me perfect workflow.

    I am almost 30 years old and my career so far was just making a moderate living off my games since I left school(actually University dropout). However, since I am getting older, money is becoming more and more important. Ideally I would love to keep my "work from home"-lifestyle, so I would like to avoid working on-site for bigger studios. Risking losing my livelihood because my next 1 or 2 games fail, put a lot of pressure on me.

    However, when I look at the amount of available job opportunities on platforms like Upwork, it becomes evident that most job offers are for people proficient in Unity or Unreal, and they don't care about things like OpenGL or Vulkan. That I ditched OOP a while ago for data oriented programming didn't help either, since it has become more of a hurdle than anything when it comes to interviews.

    Are there any viable job opportunities that I don't see?(like some graphics programmer job board or something) or should I just stop being a wuss and force myself to stick with Unity, even though I don't enjoy it nearly as much?

    submitted by /u/Optimal-Rice-9675
    [link] [comments]

    Best University pick for gamedev?

    Posted: 27 Feb 2021 12:32 PM PST

    Hi there! I am a high school student in my last year and I am going to university later this year. I will study abroad and I have two main options to pick (because these are among the only ones in English): a bachelor in Data Science or one in Computer Science and natural sciences (the first year is computer science and stuff like physics, biology, chemistry etc and the rest can just be computer science + math or physics). The thing is, my dream is to become a game developer, and from highschool I have knowledge of C++,SQL and a bit of HTML. The data science option seems to me like it will make me an analyst and not a software dev, whereas the second one seems a bit too branched out. What would you guys recommend? Thanks a lot:)

    submitted by /u/marawwan
    [link] [comments]

    Why does my player accelerate down no matter what gravity I use

    Posted: 27 Feb 2021 12:20 PM PST

    My player seems to be accelerating downward no matter what gravity I set the project to, -9.8. +9.8, 0. It doesn't matter, it just accelerates down and way too fast too. It is a 2d project and I am using the rigid body 2d without changing any settings, even changing the gravity scale in the rigidbody2D doesnt change anything.

    Any ideas?

    submitted by /u/Leonstansfield
    [link] [comments]

    Can you develop software on top of FIFA21 online?

    Posted: 27 Feb 2021 12:13 PM PST

    I am aware matchmaking is already a thing but I am trying to make a unique type of matchmaking for FIFA online and am not sure if I need EA's permission or if / how this is possible.

    submitted by /u/antron__007
    [link] [comments]

    Software Used In FNF

    Posted: 27 Feb 2021 12:05 PM PST

    What software does Friday Night Funkin use to make the game show when notes are supposed to come? Thanks in advance!

    submitted by /u/MasterDragonKing9999
    [link] [comments]

    Animation of the face of the protagonist of the Russian indie game Liber.Work is carried out in iClone

    Posted: 27 Feb 2021 12:03 PM PST

    Looking for a simple 3d primitive mesh generator for C/C++

    Posted: 27 Feb 2021 02:17 AM PST

    I mean stuff like a sphere, a cone, a torus, other simple shapes like that, I need to be able to specify varying parameters like the number of segments. Preferably single header or otherwise small and easy to integrate. Bonus points if it can generate UVs.

    Surprisingly I couldn't find anything like that, best I got is generator which is kinda overkill for what I want and also has a dependency on its author's math util library.

    Not looking to write my own. Loading objects from file won't work, I want to generate thousands of different meshes for a stress test.

    submitted by /u/thesuperbob
    [link] [comments]

    Making a frozen snow PBR Material with icy spots in Substance Designer (timelapsed tutorial)

    Posted: 27 Feb 2021 11:47 AM PST

    Brocula - Game Dev Update: Fast Travel and Dev Workflow

    Posted: 27 Feb 2021 05:48 AM PST

    In what stage of development (for both indies and triple A) is music and sound effects added into the game?

    Posted: 26 Feb 2021 09:03 PM PST

    I'm currently working on a game and was already thinking of a general vibe I want for the soundtrack. My game is still in early devlopment so of course music isn't really necessary but so then when does music and sound effects get added? During the polishing phase? During the play testing phase?

    submitted by /u/LunaRose_17
    [link] [comments]

    Developing A game in 2008

    Posted: 27 Feb 2021 11:23 AM PST

    Let's say its a kid at home in 2008 that wants to create a game he has made up in his mind that could potentially sale lots of copies. Where does he start what does he need , tools, resources?

    submitted by /u/bossalini40
    [link] [comments]

    The Machine in the Ghost - exploring the inner motivations of PacMan's spooky specters.

    Posted: 27 Feb 2021 11:16 AM PST

    No comments:

    Post a Comment