• Breaking News

    Tuesday, March 9, 2021

    I don t know why I make games

    I don t know why I make games


    I don t know why I make games

    Posted: 09 Mar 2021 03:21 AM PST

    Last year I made a little mobile game. I did everything, art, music, game design, programming, UI... It took me a lot of time and I m proud of it but I never published it anywhere and I don t know if I will. Tbh I don t remember why I started working on this game... I just enjoyed coding it I guess.

    But I asked myself why do I spend countless hours making games that nobody will play ? In my case I only make games for myslelf so what's the point ? I like the games I've made but publishing it is something that is not important for me.

    Also I feel like an egocentrical prick because I love to play to the mobile game I've created lol (it s an infinit wave shooter so it s really useful when I need to kill time). I don t know, I m kind of lost. I fear that I will loose motivation and stop making games.

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

    Thank you Game dev community.

    Posted: 09 Mar 2021 07:38 AM PST

    Few months ago, I asked a simple question here and received encouragement from others.

    The question

    As of a month ago, I have joined Ubisoft as a junior game programmer. At first, I could not believe it at all. Ubisoft has been one of the top companies, and my dream was always to be part of AAA game developer community.

    I have met brilliant programmers in the company and hope to learn a lot from them. The imposter syndrome kicks in sometimes, but I'm glad I'm in a place where I can only grow forward.

    This post is just to thank everyone who encouraged me to keep applying and not give up. Thank you so much! I hope you all have a beautiful day ahead :)

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

    Inspired by the ConcernedApe's Stardew Valley I made first step towards my dream. I am reactivating my childhood nostalgia of Settlers 4 and connecting it with idea of Stardew Valley creation process. 2D about colonisation of Mars. Where could I start a community?

    Posted: 09 Mar 2021 05:05 AM PST

    This is going to sound dumb, because it is a dumb concept, but would you play a dishwashing game?

    Posted: 08 Mar 2021 07:03 PM PST

    So I've been playing Paper's Please, and I loved how Lucas Pope turned the boring task of doing paper work into a really fun gameplay design. Now I've also been dishwashing a lot recently. I notice just how much it sucks, but I also see potential of all the small gameplay loops of sorting the plates, scrubbing them. I have a few other ideas that'll be kind of hard to explain, but I'm just wondering if the concept of a dishwashing game would interest anyone.

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

    How to start Developing in the Unreal Engine Part1

    Posted: 09 Mar 2021 08:41 AM PST

    "Ruining your reputation" on Steam: Is that a thing?

    Posted: 09 Mar 2021 08:47 AM PST

    So, basically, I have an almost done fun yet a bit unpolished game that I'd like to publish. Besides that, I managed to find a development cycle that i really feel comfortable with, so I'd like to publish a lot of games.

    We all know that itch.io is an amazing tool to publish your more "conceptual experiments", and that usually Steam reviewers expect a high level of polish.

    That being said... Just to get familiar with the whole cycle... Is it really a very bad consequence if I publish something that ends up with some bad reviews? Will it come back to bite me in the future when I have something more "worthy"?

    What are your takes on this?

    Thanks peeps!

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

    1D Game Proof of Concept. Web Demo Works for Mobile and Desktop Browsers (source code in comments!)

    Posted: 09 Mar 2021 08:18 AM PST

    Figured it would be fun to start a "Post-Release" devlog for our game as we work on the updates based on the feedback that our community gave us! So here's devlog #1.

    Posted: 09 Mar 2021 11:27 AM PST

    Is it a bad idea to create a server-authoritative multiplayer-only game?

    Posted: 09 Mar 2021 01:50 AM PST

    I am a solo dev looking to create a server-authoritative multiplayer-only game. I don't know how bad of an idea this is, mainly considering player base or lack thereof. Hope someone could enlighten me, thanks!

    Edit: The game I'm creating is on mobile and it only features 1 vs 1 matchups, similar to how clash royale handles its matches.

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

    Arrow: Game Narrative Design Tool

    Posted: 09 Mar 2021 05:26 AM PST

    Hi everyone!

    I've recently published Arrow v1.0.0.

    Arrow is a free, open-source tool to design game narrative, develop text-adventures, or create any other kind of nonlinear interactive storytelling document.

    It's made with Godot Engine & mostly pure GDScript (with some HTML-JS-CSS for playable exports.)

    Notable Features:

    • 100% Visual (No-code) Development
    • Free and Open Source (MIT)
    • Customizable Node System and Built-in Node-types including:
      • Content,
      • Dialog,
      • Conditional,
      • Variable Modifier,
      • User Input,
      • Macro (reusables,)
      • and more.
    • One-Click Playable Export
    • JSON Export and Import

    The project was started as a tool to help game developers design/create narrative structure or story for their games, before they begin the costly process of developing the main game (let's say a playable pilot for a story-rich RPG;) yet I think it's a handy tool to create text-adventures as well.

    I hope you find it interesting.

    Source | releases

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

    I wonder do solo mobile developers still make premium games for Google Play Store?

    Posted: 09 Mar 2021 07:51 AM PST

    Or do you guys only use ads in your games and in game purchases?
    I'm currently developing small incremental game for Android. Its my first game ever. I'm a fan of this genre and I always wanted to make one myself. So finally decided to do this. Im also almost done. So next step will be to publish my game.
    Anyway I personally hate ads and endless in game purchases. I know people need to make money, but I still dislike it. And for this reason Im not a fan of the idea to put ads in my game. So I wonder what if I just sell my game on Google Play Store. Even if its for a buck or less. I'm not making games for a living. But it would be awesome if my game for example would pay for my Android developer license :]

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

    Cinema 4D vs. Blender: Which one is better for game dev?

    Posted: 09 Mar 2021 09:13 AM PST

    I wan't to start making games at some point so I've been working on developing some skills related to game dev (like 3d modeling, music production/sound design and taking coding classes in college). I've been using Cinema 4D for a while now and know my way around the software to be able to do some intermediate modeling (still have to learn sculpting) and I was thinking to start learning how to use the program in a deeper way.

    The thing is I don't see C4D being talked about that much in the game dev community, as Blender is more popular for being a great software that is also free, and this made me question if I should learn Blender instead.

    So my question is: Is Cinema 4D a good software for making 3d assets for games and should I leverage the knowledge I already have with it (which is not that advance but it's something) and keep learning it further or is Blender more suited for game dev and I should learn it over C4D (considering I have zero experience with Blender and would have to start from scratch on it)?

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

    Capturing Reality is now part of Epic Games

    Posted: 09 Mar 2021 07:23 AM PST

    Fake Twitch Streamers asking for Keys?

    Posted: 09 Mar 2021 04:04 AM PST

    Hi everybody! There might be a scam going on with twitch streamers. After contacting one myself yesterday i got 5 E-Mails from different Twitch Streamers, all asking for a review key. They all had 1000-5000 subscribers but after closer inspection i discovered that NONE of them streamed in the last months. Have you had that happen to you too? Is it a new thing?

    To recap:

    My game has been out for a week and i did not get any similar messages so far. Now it is 5 in a day.

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

    Event batching - a significant networking optimisation for your multiplayer game

    Posted: 09 Mar 2021 10:36 AM PST

    Event batching - a significant networking optimisation for your multiplayer game

    TLDR; Send your application events in batches instead of individually for them big numbers.

    The other week I gave an overview of the networking model of http://koth.io and how it supports hundreds of players per server (https://www.reddit.com/r/gamedev/comments/ltvmh9/supporting_hundreds_of_players_on_a_single_fast/). This week I want to go into a bit more detail about one of the techniques named event batching. I'm starting with this one as I find it is often overlooked in guides / tutorials when one starts out writing multiplayer games (or any high volume client / server based software for that matter). The benefits of this technique allowed me to nearly quadruple the amount of concurrent players per game server.

    So what is event batching?

    First of all, to briefly define what an event is in this context. An event is the information you send between the client and the server to notify the other something has changed. This can be things like

    • Player input
    • A bit of the in game environment has exploded
    • A collision has happened
    • The apocalypse has just started
    • Scoreboard updates

    Literally whatever you want to send between client and server + vice versa.

    If a lot is going on in a fast paced real time game, chances are many events will need to be sent at the same time to each client. It would be a reasonable assumption to want to send these events off to the network as fast as possible. And why not right? The game clients need to know about that rainbow unicorn impaling the other one (or whatever happens in your game) as fast as possible, so one should write each and every event to the network socket ASAP.

    While this assumption is very reasonable, it's actually very damaging in terms of throughput of events for many reasons we shall get on to soon.

    Event batching is when, instead of sending each event off in it's own to the outbound socket, collect the events together and hold on to them until a condition is met. Once that condition has been met, flush them out together in one batch.

    As to what that condition is, is down to the developer, But in my case there are two.

    1. A server tick has just happened, which is basically a time event that happens every 33ms (30hz).
    2. The resulting collection of events has reached over a certain serialized byte size.

    What advantage does it give?

    Directly within the application? None, absolutely useless. But for everything in between the event sender's application and the receiver's application? A significant amount of overhead is reduced. Here are just some of the highlights

    Sender Kernel (specifically linux)

    Once data is sent to a socket buffer there is still quite a bit of work the operating system's kernel will put in to get that data sent to the network card. I won't go into details on this here as it is a complicated beast that deserves it's own article written and out of scope for this one. Simply put though, after various byte copying, waiting in buffer queues, tacking on transport + network headers and interfacing with card drivers, it simply is not a cheap operation to do. It's considered so not a cheap operation that there are solutions out there to bypass it entirely (search talks on "Solarflare kernel bypass" for an example).

    "On the wire" payload

    Each packet sent comes with the whole network stack full of headers. When sending events as batches then only each batch comes with this set of headers instead of each event. This reduces bandwidth as you might expect.

    Unbatched

    If you send ten 20 byte events, you can end up with a payload of

    TCP (with TCP_NODELAY=true, more on that later...)

    application 20bytes + TCP 32bytes + IP 20bytes + Ethernet 14bytes of 10 packets = 860 bytes

    UDP

    application 20bytes + UDP 8bytes + IP 20bytes + Ethernet 14bytes of 10 packets = 620 bytes

    Batched

    If you send one 200 byte batched event, you can end up with a payload of

    TCP (with TCP_NODELAY=true, more on that later...)

    application 200bytes + TCP 32bytes + IP 20bytes + Ethernet 14bytes of 1 packet= 266 bytes

    UDP

    application 200bytes + UDP 8bytes + IP 20bytes + Ethernet 14bytes of 1 packet = 242 bytes

    Regardless of transport protocol, overall transmitted data is reduced to about a third to a quarter when batching the ten events into one.

    Receiver Network Card

    Every packet received on the network card from the outside will issue a hardware interrupt request (IRQ), which will essentially be a notification from the card to the kernel. This will poke the processor to handle the interrupt and tell the kernel about the incoming data. Which, considering it's per packet, can lead to a lot of extra needless processing.

    Every network device between the sender and the receiver

    This optimisation of batched events doesn't just apply to the devices running the application software, but every single switch and router between them will gain the benefit and process forwarding on the packets with less overhead.

    Batching effects visualised

    Unbatched events - https://imgur.com/2sz7c0G

    Batched events - https://imgur.com/lBbdZcL

    Serialised example

    E.g. json (not what I use but easy to show as an example)

    Unbatched -

    Event1: { 'event':'collision','playerId':87383}

    Event2: { 'event':'pulse','timePassed':33}

    Event3: { 'event':'defeat','playerId':7267}

    Event4: { 'event':'explosion','x':28767, 'y':91512}

    Batched -

    Event1: {'event':'batch', [ { 'event':'collision','playerId':87383}, { 'event':'pulse','timePassed':33}, { 'event':'defeat','playerId':7267}, { 'event':'explosion','x':28767, 'y':91512}]}

    Using TCP_NODELAY=false instead

    If the transport is TCP, another way to achieve event batching (but on a different level to the application) is by ensuring the TCP_NODELAY flag is disabled on the sockets when they are created. Within the kernel this will hold on to your application payload before joining them together and sending them out in one batch after X amount of time. Thus achieving most of what could be done by event batching but instead in the kernel. The purpose of this flag is to prioritise either throughput or latency over the other.

    TCP_NODELAY=true is for reducing latency at the cost of throughput by handling application data and sending it immediately

    TCP_NODELAY=false is for increasing throughput at the cost of latency by holding on to application data and wait for more to send it out in a batch at a later point

    However I would recommend setting TCP_NODELAY=true and explicitly handle event batching in the application for two reasons -

    1. Exactly when the packets are flushed out is outside of the control of the application. Forcing waits on various levels on the stack while the kernel decides when it's ready.
    2. It just doesn't perform as well in both throughput and latency unless explicitly managed by the application.

    Charts and stuff

    Like all things perf related, claims are all well and good and can look reasonable on paper. But we should be able to measure the impact of this.

    Given a simple TCP echo server, where bytes sent from clients will be echoed back to them, how far can we push it when toggling application batching and TCP_NODELAY. At a rate of 60hz the clients will send out ten 20 byte events, while the server will (also every 60hz) echo back all the events. Which is a maximum of 600 events or 12KBps of application data per client. How many clients can each configuration handle?

    Event rate per client

    This is the rate of application events received per client per second - https://imgur.com/V8xDWKZ

    The maximum being 600 events, all configurations appear to handle up to 150 clients just fine.

    Any higher than that, the "No Batching, TCP_NODELAY=true" configuration starts to fall off. And at around 200~250 is unable to cope with the rate of events. At 300 clients there is a very noticeable dip, and at 500 it's coping with about half the event rate. After that it really struggles to deliver much.

    Using "No Batching, TCP_NODELAY=false" seems to work solidly up to about 500 clients, before plunging rapidly with any more clients than that.

    When using application batching, it's smooth sailing up until 750 clients proceeded with a slight easy slope downwards. Even at 2000 clients, application batching can still handle over 400 application events a second.

    Data rate for all clients

    Let's look at the total application data throughput of the server. How much was it able to echo back to all the clients as a whole? - https://imgur.com/8rNH9bs

    Using "No Batching, TCP_NODELAY=true" we seem to hit a limit of an abysmal 3.5MBps of application data at around 300 clients. No matter how many more clients we shove into it, it does not go any higher than that.

    Using "No Batching, TCP_NODELAY=false" works a little better, but likewise we still hit a limit of around 5.5MBps at 500 clients and can go no further.

    Using application batching, whatever our bottleneck is seems to be much more forgiving as the data rate starts having difficulty at around 1500 clients, but still continues increasing even at 2000 clients, nearly reaching 14MBps.

    Round trip latencies

    So we have a good idea about the advantages of event batching in terms of throughput, but how does it affect latency?

    Disclaimer: Running on standard hardware in a completely untuned operating system there are always going to latency spikes outside of the application's control. In these test runs I will not be dealing with optimisations outside of the application. So take these results with a grain of salt that the higher in the latency histogram tail e.g. the four nines, the less deterministic the results will be. With that out of the way let's look at some numbers.

    I ran two half hour latency measuring runs, one with 25 clients and the other with 150. Both of which were at opposite ends of healthy throughput runs for all modes so they should not be affected by TCP back pressure (or at least not very often). There's a tick rate of 60hz, so ideally the round trip latency should be kept less than 16.6ms.

    Legend:

    Two nines = 99% of the events were less than x milliseconds

    Three nines = 99.9% of the events were less than x milliseconds

    Four nines = 99.99% of the events were less than x milliseconds

    25 clients - https://imgur.com/vaHBdaq

    On average the batched latency was about 1 ms higher than unbatched. While the two nines and the three nines are about the same. While TCP_NODELAY=false is dreadfully behind by nearly triple the latency on average.

    150 clients - https://imgur.com/EhUvp3n

    Running with 150 clients, unbatched has a slight two nines + three nines increase while the average remains the same. But batched has a slight average increase but the two + three nines remain unchanged. Clearly having little issue with the increase in volume.

    TCP_NODELAY=false still remains a disaster relatively.

    Summary

    Batching application events will increase application data transmission capacity significantly for a very minor average latency cost.

    Disabling TCP_NODELAY will slightly increase application data transmission capacity for a significant latency cost. Don't do it!

    Be kind to the server's kernel, CPU, network card, all the network devices between the server and the player. Also be kind to the player's network card, CPU and kernel by simply batching your application events together.

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

    Experience Gain, Language Learning RPG

    Posted: 09 Mar 2021 06:40 AM PST

    I'm working on the mechanics of my game and I've got the leveling figured out how I want it to progress. I'm using (Current Level + Previous Level)*25 for the Experience needed to level.

    Now I'm stuck on how to give the player the experience and calculate damage.

    Each part of the game will have monsters that teach vocabulary based on the area the player is in. So it'll ask a question and you give an answer and you do damage if you're correct. If you don't kill the monster then it does damage. I'm trying to think of a way to keep the players coming back to areas to study so I think having the monsters scale up to the players level if they haven't been to that area for say a day. If they stay in one area too long they don't want to be given experience.

    I was thinking each question would have a counter and they would get 1 exp per question until it hit a certain counter number. Then over time the game would subtract the number so they can gain experience again from certain monsters.

    Or I thought I could build a "teleporter" that would take them to an area that would pull all the vocabulary they had previously run into. It would let them practice all the pool of vocabulary in the game they've seen.

    Should I just give monsters a certain amount of health per level and the player does flat damage so that if the monster is below the character level it is one hit? As the monster levels go up they take more hits hence ask more questions? Just looking for suggestions trying to hash out this part of my idea.

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

    Help with Scaling Canvas Size

    Posted: 09 Mar 2021 08:51 AM PST

    Hi everyone, so I need some help with scaling. I have a 16:9 canvas size & I want to develop my game for iOS with only landscape mode in mind. How should I approach this? When I play test on 16:9 there are no black bars. However, of course when I switch over to an iPhone XR I get black bars (the iPhone in landscape is longer in width compared to 16:9). Should I make a new canvas size (thus remaking the art for the game background) that fits the dimension of the iPhone? I want my game to work on the various different screen sizes for iOS though. I haven't been doing game development that long so aspect ratios are still new to me.

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

    LovePotion 3DS issues.

    Posted: 09 Mar 2021 08:28 AM PST

    I'm still having issues building LovePotion 3DS. I already installed libctru, but it still gives me this issue.

    https://imgur.com/a/EyAbc8c

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

    Early obstacle course in Viking Gorge indie game Liber.

    Posted: 09 Mar 2021 12:11 PM PST

    What ad networks can I for mobile games that target children?

    Posted: 09 Mar 2021 11:48 AM PST

    My kid and I are making mobile games together. They are mostly his ideas so they are definitely child targeted as he is under 11 and being so it seems nearly impossible to find ad networks that we can use for the games. Based on some surface level research it seems like Kidoz and Super Awesome are the only only ones that comply with iOS and Android guidelines. What other ad networks could we use or is it just those two? Thanks in advance!

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

    How to do p2p with tnet3 and Unity3D

    Posted: 09 Mar 2021 11:38 AM PST

    I am trying to use tnet3 to do p2p connection between 2 computers or with a smartphone. My application can create a tcp server or join one. It works well with local ip but everytime I try to connect to an external ip I go an error "unable to connect" on my unity editor I get the external ip with website like whatsmyip. Maybe I miss something ?

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

    College student looking for a path

    Posted: 08 Mar 2021 11:17 PM PST

    I am a college student currently majoring in history, I don't think that this is the right path for me though. I have always thought of myself as a good writer and was wondering if there were any steady careers that I should look into?

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

    Being Indie vs Being an Employee (3rd world countries edition)

    Posted: 09 Mar 2021 11:13 AM PST

    Life in 3rd world countries can be very hard, unless you are a programmer. It is still hard, but programmers have it easier. Programmers in Russia earn 55K rubles on average, and to be considered as middle class you only need to earn as low as 17K rubles. A lot of people work for less, but here we will compare being a programmer in a company vs being an indie, in Russia.

    1. Indies on average make 11K dollars per year worldly, which is 67000 rubles per month, while as said, hired programmers in Russia make 55,000 rubles. So being an average independent developer in Russia is more profitable than working for a studio. Usually, talented indies who know the market make more than world average.
    2. Being an indie - you are a boss. Your own boss, and boss of others. You give jobs to people, give them tasks and feel yourself a boss constantly, which is a great feeling.
    3. Being an indie you have full freedom over life. If you don't want to work - you can take a break without asking anyone. While working in office you have to ask your boss if you can take a break to eat - you don't even have control over your stomach. You can be dismissed for an instagram photo of you drinking beer, you are constantly being spied on by employer. But when you are an indie - no one can control you at all. You are not even tied to your physical location as you can work from anywhere in the world, even work while travelling.
    4. You can take brakes for months and still receive passive income from Steam. You basically can not work at all if the passive income you receive is satisfactory, as life in 3rd world countries is pretty cheap. It can be said that becoming an indie and making a few successful projects makes you funded for life. While being an employee means endless work. In capitalism you don't become rich by working on others, I think this is a good quote.
    5. You are working on your dreams, on making your own name stronger, on bringing your own ideas to life instead of working on other people's ideas. You are a separate known entity with full control, while working in a company you are one of many employees with limited decision rights and people won't write about you personally in press or write wikipedia articles about you. However, when you are an indie - people will focus on you solely, you will be invited on interviews, have a wiki page, etc. Who knows, maybe one day you will even receive a memorial or a page in a school history book.
    submitted by /u/Background-Tip3621
    [link] [comments]

    Which of these ways is best used to access the meaning of guessed words?( a word finder with given letters game)

    Posted: 09 Mar 2021 10:59 AM PST

    A) A button on the end page of the game that by clicking on it, we will have access to a list of all guessed words and the main word

    B) A button is placed next to each word that is in the list of guessed words during the game.

    C) A button on the game screen that shows only the meaning of the last guessed word.

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

    No comments:

    Post a Comment