Feedback Friday #463 - Power Up |
- Feedback Friday #463 - Power Up
- My game had more than 30K wishlists additions during the last Steam Next Fest. Bummer.
- Very useful lecture about mistakes with camera in games
- How i remastered a 2002 open source bullet hell into Nintendo Switch
- What is the best way to pay an artist for my game?
- Just a hobby?
- Are local functions more expensive?
- What is the best way to implement difficulty for the more experienced players ?
- How to go about making weapon/map mods for Team Fortress 2?
- How to set Steam achievements/stats of others?
- Top Down MMORTS for Unity Mobile
- Handling sound effects in a isometric game
- a game like graveyard keeper
- Spatial hashing - how to deal with neighbor cells?
- Should I use object-oriented programming for game programming?
- How can I be the best?
- What game engine will you advice for casual game?
- The biggest Youtuber played my game, check out these amazing numbers !
- What is your workflow for first person games with animations?
- What is the average number of Steam stats one could get for their paid game?
- Which fonts can I use in my game?
- building a multiplayer physics sandbox. is deterministic physics really required?
- About marketing as soon as possible
- What pixels should my game be?
- Stupid question from someone who has no clue about game development (game releases, certification on consoles)
Feedback Friday #463 - Power Up Posted: 08 Oct 2021 12:09 AM PDT FEEDBACK FRIDAY #463 Well it's Friday here so lets play each others games, be nice and constructive and have fun! keep up with devs on twitter and get involved! Post your games/demos/builds and give each other feedback! Feedback Friday Rules: Suggestion: As a generally courtesy, you should try to check out a person's game if they have left feedback on your game. If you are leaving feedback on another person's game, it may be helpful to leave a link to your post (if you have posted your game for feedback) at the end of your comment so they can easily find your game. -Post a link to a playable version of your game or demo -Do NOT link to screenshots or videos! The emphasis of FF is on testing and feedback, not on graphics! Screenshot Saturday is the better choice for your awesome screenshots and videos! -Promote good feedback! Try to avoid posting one line responses like "I liked it!" because that is NOT feedback! -Upvote those who provide good feedback! -Comments using URL shorteners may get auto-removed by reddit, so we recommend not using them. Previous Weeks: All [link] [comments] | ||
My game had more than 30K wishlists additions during the last Steam Next Fest. Bummer. Posted: 08 Oct 2021 04:43 AM PDT Don't get me wrong, I'm more than happy for such an outcome, but...this proves once again that the only thing that can push your game on Steam is...Steam itself. If you don't have mountains of cash to spend in marketing or if you didn't sign with a famous indie publisher, you simply don't stand a chance outside of Steam. You can only try and get into one of those Steam events or similar. Don't waste your time running after youtubers/streamers; don't rush to social media to post your latest gameplay GIF; just plan and prepare for Steam events. That is, if you have a marketable, good looking game, or don't even bother. This may be unpopular opinion and sound harsh, but I'm one of those who spent years doing 'markering' for my own games, and this is what I can tell you from first-hand experience. I'd really love to be proven wrong. Edit: Wow, downvoted for following the rules (no self-promotion) and talking about my own experience, lol Edit 2: To avoid misunderstandings, there's a typo in the title: it should say "...during the last Steam Next FESTS" (plural) [link] [comments] | ||
Very useful lecture about mistakes with camera in games Posted: 08 Oct 2021 08:57 AM PDT
| ||
How i remastered a 2002 open source bullet hell into Nintendo Switch Posted: 08 Oct 2021 06:32 AM PDT As my latest side project, ive ported a 2002 open source game to nintendo switch. The game is rRootage, made by Kenta Cho, a japanese developer who has released tons of open source games. Its a bullet hell game that has been ported to many platforms over the years, such as Android, IOS, and PsP homebrew. I chose that game to port because I like bullet hells and because this is a easy project to port due to its minimal codebase and dependencies while it has a license that allows porting to consoles. In here, i write about how I ported it to Nintendo Switch. Here is the link to the game in nintendo e-shop. The code license is BSD2, which is mostly like MIT. Licenses like MIT and BSD2 are completely fine to port to consoles, but GPL licenses are completely impossible to port. In short, the GPL license forces the developer to release the source code of the executables if any small part of the project uses GPL code, and this conflicts with the console NDAs. Meanwhile MIT and other similar licenses only require you to give attribution, but they dont require you to post all the source code, so its possible to use in consoles. The process of porting the game was done in stages, which i mostly follow in all the porting projects i do as its mostly a general workflow. Stage 0: AnalysisFirst thing is to grab the source code and look at it, seeing what are its dependencies and what languages it uses. Upon checking the game, I see that the game is mostly written in C, with a few dinosaur era Cpp files (pre-cpp11) and uses SDL 1 and OpenGL (super old) as dependency. I know that SDL is ported to switch as part of SDL 2, and OpenGL runs on nintendo switch mostly as-is, which makes this a specially simple project to port as there are no great blockers. This was done while i was considering to do the port or not, as if this game had dependencies that didn't work on switch i wouldn't have chosen it. If i was doing the port for a 3rd party, its here where i would calculate the cost of doing the port. Stage 1: Modernizing the buildThe game is from 2002, using makefiles, and a fairly weird build process on windows. The first thing to do is updating the build so that we can easily build it in modern VS2019 natively. I used Premake, which is a build system that runs a lua script that generates a visual studio project. This makes it very useful as it can be extended to configure the extra build options that a console build needs. Using CMake is also doable, but those extended configuration settings can be a problem there. Started by grabbing the codebase, and writing a premake script that duplicates what the makefile does. In this case, the project was very simple, just building the code inside the src folder and linking to dependencies. So adapting the build was not a problem. With this i had the game building in modern visual studio. Stage 2: Updating the project to modern libraries.The game was using SDL 1 and some of its Cpp code did not build in modern cpp settings, giving some issues around std::auto_ptr, so I fixed that and made sure the game builds as cpp14. The update from SDL 1 to SDL 2 was necessary as there is a SDL 2 version for switch, but no such thing for SDL 1. The game was mostly using SDL for windowing and input management, so that was something that wasn't much of a problem to upgrade. What was a issue was SDL_Mixer, an audio extension for SDL1, which did not have a version that worked on nintendo switch. For the time being, i removed the audio from the game to be fixed later. Stage 3: Running game on switch.With the game using SDL2, we can now try to target the Nintendo switch itself. With the premake scripts i had, i was able to configure the vs solution creation to contain the correct configuration to compile on switch. Just compiling isn't enough, it's necessary to build the application package and link to metadata assets, so that needed a few more project options. Once all of that was done, I was able to have the game run on switch, for about an instant as it crashes on early load. Looking at the crash, it's caused by the game trying to load some texture assets and the filesystem operations failing. In consoles, you don't have a normal file system, so to load assets you need to use some apis to mount the application data/cartridge data and have the paths be on a specific format. Once the file loading was fixed, the game now opened to the main menu on switch. But with no input, fairly slow graphics, and no sound. Stage 4: Making it fully playable.The input system for the game was using keyboard keys using SDL api. With the SDL 2 upgrade the code was changed, but it was still using keyboard keys. Now its time to implement actual gamepad support so that the game can be played on the switch. Luckily, in SDL 2 there is a multiplatform gamepad api. I implemented support for gamepads using that API on the PC, and it pretty much worked on the switch. There was a bit of trouble with the specific gamepad assignments as attached joycons aren't quite the same as detached joycons, but it worked. For audio, I had no other choice but to implement my own version of SDL_Mixer using the native SDL 2 audio Apis. This took a while as i'm not used to dealing with audio code, but using a implementation i found in the internet as starting point, i got everything running correctly on switch and pc. Pro tip. Do not use headphones when dealing with low level audio code. High chance of bad sounds at full blast. With sound and input now working, the game is actually properly playable on switch, just a bit on the slow side. Stage 5: OptimizationI ran the game through a profiler to see what was going slow. I found that the game logic update was taking sub 1 millisecond, but the graphics side was taking a lot of time on the CPU side. The gpu side had no trouble with it. After all it's a wireframe rendered game from 2002. But whats happening on the CPU side? The game, as old as it is, was using OpenGL fixed pipeline graphics, doing glBegin(triangles) type code and executing multiple gl calls per bullet . This was so bad that it got deprecated back around 2004. Nowadays you only see that sort of code in terrible university graphics courses. Even bigger of an issue is that it was rendering 1 bullet at a time, with each bullet drawing 3 shapes with different pipeline settings. This meant that the game could do pipeline switches up to 1000 times a frame. Both of the issues became a big hit to performance. To fix them, I started by rearranging the code. Instead of switching the graphics pipeline 3 times per bullet, I grouped all of the bullets, and drawed them together. This did change the graphics a bit due to the changes to draw order, but the performance increase was very considerable, as it now does 3 pipeline switches when rendering the bullets instead of 1000+. This change made the game run at 60 fps in most levels, but the levels with 500+ bullets on them would still drop below 60 fps. The next fix was to remove the glBegin(polygon) 6-calls-per-triangle type of rendering, and use vertex buffers like everyone does. This was not quite as simple, as the game was using the matrix stack of OpenGL too to transform the shapes, and most of the shapes were rendered using things like triangle strip, or triangle fan. I began by implementing my own opengl matrix stack, then I implemented my own version of the opengl fixed pipeline calls that instead save the vertex data into an array, and then draw it all at once. This upgrade made the game run way better on all platforms, and with it, the game now never goes past 5 milliseconds per frame. The game could easily run at 200 fps on the nintendo switch, but the screen can only do 60 fps, so its v-synced and just idling the chips for most of the frame, saving a lot of power. This made the game use very little battery. I also configured the switch power mode into power-saving mode to run at lower clocks. Stage 6: PolishThe game now runs super well on the switch and its fully featured. But.. It runs too fast. The game is designed around lagging when the screen is full of bullets, so the game running at 60 fps all cases means that those levels become completely unwinnable. Looking into the game code, i solved it by implementing a variable framerate system.Due to the design of the game, it was pretty simple to add framerate interpolation. Now the game always has a render speed of 60 frames a second, but when the screen is full of bullets, the game logic only updates the bullets 20 times a second (3x slowdown), and for the other 40 frames it interpolates their positions to run smoothly. As part of the polish pass, I also improved the joystick handling to add smooth movement. The original game was designed to work with arrow keys so you could only move in 8 directions, but I made it work with full analog control. I also made sure that savegames work fine with the nintendo switch, as they were broken before with their files not persisting. Stage 7: Nintendo QAThe game is now "done". Its time to pass it through nintendo and get it approved. Nintendo, like all other platforms, has a QA process with a set of requirements your game needs to do to get allowed in the platform. Its things like "savegames work fine", "input doesnt lock the game" and so on. I had a good read at the requirements from the nintendo documentation, made an Excel sheet with each of the items, and went one by one myself to see if it works or doesnt. This required a few more fixes to the game and a bit more code changes. Once the game was ready, i sent it to nintendo for testing. This first testing round ended in failure, as i had a bug related to switching input modes in a weird way i didnt anticipate. I fixed that problem, and sent it again. The second time nintendo gave it the approval and then i could move forward with selling the game. Stage 8: ReleaseAs the last stage, i had to build the store pages and get them approved to for release. I had a bit of problem with them so the european release is going to be sooner than the american and japanese releases. Things you need to do for it is writing the store page text, the french translation, building some promotional images, and grabbing some screenshots. In this case i did everything myself, with the french being translated by deepL and doublechecked by a french friend. The promotional images are of a fairly terrible quality, but its just what happens when you dont have an artist to do it. I spent 300 euros in fiverr trying to get some people to do it but i only got garbage. At the time of posting, the game page is on the european nintendo switch e-shop, and will release on 14th of October. American and Japanese versions are coming a bit later due to some mistakes with the timing for review on their store pages, as each region is configured on its own. I do not expect to break even on this project, but i did it as a way of getting experience doing a full release of a project on nintendo switch from beginning to end. Normally im more experienced with sony platforms and steam, as ive released games on those, but i hadnt released a game on nintendo switch yet. If the game breaks even profit, i will send a part of it to the original author, and port more of his games into the platform. Maybe also porting them to ps4. [link] [comments] | ||
What is the best way to pay an artist for my game? Posted: 08 Oct 2021 07:19 AM PDT So I've recently started solo indie game development and its coming along quite nice, I am at stage where now I need more than what the asserts at the store provide for that polished look of my game. So I was wondering which is the best way to pay an artist. Should I pay by the hr.? or should I pay per piece? Most artists I've contacted asked for per hr. payment. Its not high but very reasonable amount to be fair. But, the thing about per hr. payment is I am not an artist and I don't know how much time it'd take for the art to finish and being a salaried person myself I cannot afford to pay too much if it exceeds my budget. I am however willing to pay per piece cause now I know exactly what I am getting and how much I am paying. I don't want to rip the artist and I don't want myself to be ripped either. So I am asking what is the most common way people pay for the art for their indie games? And a second question being how many working hrs. would it take to create a single 2D buildings with good details for an experienced artist, so I can have a rough estimate on how much it would cost if I have to pay per hr. [link] [comments] | ||
Posted: 08 Oct 2021 08:32 AM PDT Is anyone into game dev as just a hobby? I am pursuing a job in IT (not coding) and am wondering if it's worth learning to code so I can make my own video game in my free time. I have NO interest in coding as a career or a job, I have some coding experience and do enjoy it but I couldn't handle the pressure of being in a company. I guess my question comes down to: How hard is it to do as just a hobby if you're not already a coder by day? [link] [comments] | ||
Are local functions more expensive? Posted: 08 Oct 2021 06:57 AM PDT I'm using Unity3D & C#, but I suspect that other game engines work similarly: So, whenever I want to create a coroutine, I do it like this: I am essentially creating a coroutine inside of a void function. I do this in order to not have to type StartCoroutine() all the time. Sometimes I forget to do it, this leads to bugs. So yeah, this way of writing coroutines just makes my workflow easier. But at what cost? Am I losing on performance here? Am I missing something? [link] [comments] | ||
What is the best way to implement difficulty for the more experienced players ? Posted: 08 Oct 2021 07:48 AM PDT I am working on a card-based roguelike and have been thinking on what would be the best way to keep the more dedicated players playing after they complete all the characters and use all the items. I added challenges, achievements and an 'expert' mode. For me, the best way to challenge the player is to complexify the game but without sufficient testers how can I be confident that the difficult doesn't overwhelm even the best players ? [link] [comments] | ||
How to go about making weapon/map mods for Team Fortress 2? Posted: 08 Oct 2021 06:22 AM PDT Hello, I am an amateur game dev, writer, and coder. My knowledge of coding and the jargon of such is minimal but I'm eager to learn. I've been looking around the internet for sources on modding TF2 and the results of my search have left me almost entirely empty handed and disappointed that there is such an utter lack of shared knowledge on the topic. All I've really gathered is that the source engine runs off of C++, of which I have 0 knowledge. Now here's the thing, how on earth do I go about beginning the process? Should I just wing it and place all my bets on learning how to use C++ and hope that it will explain everything that I already don't understand? If not what should I do? [link] [comments] | ||
How to set Steam achievements/stats of others? Posted: 08 Oct 2021 01:54 AM PDT I want to set the achievements/stats of my clients via an game-server, but with SteamUserStats.Get/Set, I can only set/get the ones of the local client. When I do SteamGameServerStats.Get/Set, I get the following error: SetUserStat() failed, stats are not loaded for SteamID. I am using Steamworks NET. I am stuck on this problem, if anyone could help me or link me something, it would be greatly appreciated! [link] [comments] | ||
Top Down MMORTS for Unity Mobile Posted: 08 Oct 2021 06:51 AM PDT Hey all, I've been wanting to try programming just for fun for awhile. I love mobile MMORTS games like Game of War and been wanting to try to replicate a game like it. Not trying to sell it or maybe even publish it, mainly just to try it out. What are some good resources to get started, like documentation? I thought unity might work since I've seen some people use it before, but there's a lot of different types of games so I was wondering if there was documentation specific to civilization style games perhaps. Would appreciate any help [link] [comments] | ||
Handling sound effects in a isometric game Posted: 08 Oct 2021 09:26 AM PDT I'm trying to figure out where to put sound effects (chirping, barking, seagulls, people, etc). I'm making a isometric city building game in unity3D, my solution for the sound effects has been the following:
What do you think? Have you found other solutions? Thank you! [link] [comments] | ||
Posted: 08 Oct 2021 06:27 AM PDT I was just trying to figure out what they used to create that game (language, program, etc) I have ideas! [link] [comments] | ||
Spatial hashing - how to deal with neighbor cells? Posted: 08 Oct 2021 12:11 PM PDT Greetings all, I've built a spatial partitioning system using hashing that works quite well for the purpose of agents maintaining separation as well as detecting collisions. It is extremely simple - each agent during the movement phase calculates separation based on the previous tick's spatial hash map, and then after the movement is calculated, a new position is rehashed. It's all fine and in this early stage, I can easily sling around RTS-style units of more than 2k agents around the map, colliding and avoiding. Good so far. The problem is that all hashing, and thereby avoidance, is calculated using a single location. I'm not using AABB, so with a bounding radius, I can't place a unit in more than one cell at a time. It's not even that noticeable, but it's there if you look closely. Weird grid patterns can appear in the units, which isn't great. In trying to solve this, I've gone down all sorts of rabbit holes with hierarchical grids and other fancy solutions, and they all seem to deviate from my core idea of having a super fast hash map that doesn't actually require any grid memory overhead (in case it wasn't clear, the cells are notional) . My best idea so far is to simply calculate the theoretical hash of neighboring cells, and if they exist in the map, then include them in the collision calculation, but for dense areas of the formation, that winds up really increasing the number of checks, potentially to a factor of x4 or greater. My other alternative is using AABB, but then I'm going to be doing x4 the hashing on each individual agent. Not great either. Any ideas on how to handle this in a performance conscious manner? Doing this in Unreal C++, if it matters. Thanks in advance! [link] [comments] | ||
Should I use object-oriented programming for game programming? Posted: 08 Oct 2021 04:08 AM PDT Should I use object-oriented programming for game programming? And how can you write object-oriented programming? I have some understanding of what object orientation is [link] [comments] | ||
Posted: 08 Oct 2021 11:36 AM PDT 2 months ago I enrolled into a BSc in computer science course that has a heavily focus on game dev as I am really passionate about it. However, I see so many people who are already so skilled and I'm here making my dumb p5js platformer... So far I'm doing really well with most of my modules like linear algebra and programming but seeing them so talented in game dev I just feel so salty. I guess I'm pretty competitive and I really can't stand seeing someone better than me. I think I also went in with the wrong mindset. I admit that I thought I would be better than everyone because I took an online course in game dev (it's stupid I know xd). Sometimes I try not to let it affect me and just focus on the work at hand but seeing so many people who are so talented I feel like I need to prove myself. I want to be the best and I want to stand out with my game projects. In my free time I read up on game dev stuff I'm interested in, like procedural generation, evoking emotions and stuff like that. But I still feel like I'm so far behind the talented stars. I hope someone can share their experience because I know my thoughts are really toxic and I'm only torturing myself by having this competitive mentality. How do you deal with knowing you're not one of the best? Ps: sorry for the 3am ramblings [link] [comments] | ||
What game engine will you advice for casual game? Posted: 08 Oct 2021 11:29 AM PDT I want to create game with object destruction. What engine does it support? [link] [comments] | ||
The biggest Youtuber played my game, check out these amazing numbers ! Posted: 08 Oct 2021 11:19 AM PDT My game: https://store.steampowered.com/app/1384820/Psychocat_The_Door/
Alright it's actually the biggest Russian youtuber, not a Pewdiepie or a Markiplier, but still a big fish, apologies for the semi-clickbait. Pretty underwhelming right ? But there are some valuable lessons I learnt from this experience that I'm happy to share here. A bit more context, in 2016 I released my first game and even though it was rushed in 4 months and I had 0 experience, the concept worked surprisingly well with Youtubers, I sold 10k copies and then spent the next few years building a sequel in my spare time. Beside the obvious flop of the sequel, my biggest disappointment was to see that even though the game was specially targeting Youtubers, having a giant one playing the game barely had any impact, which taught me the first lesson:
All in all, even though it didn't have the impact I hoped for, it's still an amazing experience to see your favorite YouTuber enjoying your game and reading comments about it, so a big thanks to Kuplinov (and may other content creators) for giving visibility to indie devs. I learnt from my mistakes and moved on to a new project that mixes with social deduction and hide & seek mechanics, you're welcome to wishlist it ;d https://store.steampowered.com/app/1773180/The_Matriarch/ Thanks for reading ! [link] [comments] | ||
What is your workflow for first person games with animations? Posted: 07 Oct 2021 10:25 PM PDT Now, I'm not talking about shooters, just story driven games that show a lot of hand movement and is cutscene based. Should I animate the whole cutscene in Blender and take that to Unity? Or should I use IK in the engine itself? [link] [comments] | ||
What is the average number of Steam stats one could get for their paid game? Posted: 08 Oct 2021 10:52 AM PDT I've posted this as a reply to u/SRC_Corp's previous post, and also as a question to other Game Developers. We released our game, Coronation, on Steam on 2nd October 2021. It's been a week and these are stats/analytics of the game. I would like to know these stats are an average for a paid game like this or that we are onto something. Are the following stats something that someone can accept as average for a paid indie game? I would like to know everyone's stats too.
[link] [comments] | ||
Which fonts can I use in my game? Posted: 08 Oct 2021 10:48 AM PDT Hi, I'm working on my first videogame using Unity. I'm making some UI, and I'm currently using the following font assets (taken from my Fonts system folder): Lato (black, bold, regular), LatoWeb (light), Montserrat (regular), SegoeUI and maybe some other ones. If I plan to sell the game, do I have to worry about copyright reguarding these fonts? Do I need some kind of license? I don't want to spend any money, so what is the best solution if I need to purchase a license to use these fonts? [link] [comments] | ||
building a multiplayer physics sandbox. is deterministic physics really required? Posted: 08 Oct 2021 10:44 AM PDT I'm building a multiplayer physics sandbox in C++, and I'm researching physics libraries to integrate into the project. I want to support ~100 rigidbodies in a network-synchronized scene. It seems to me I need a deterministic physics solution to minimize the amount of synchronization (and network bandwidth) required, but I cannot find any C++ libraries that fit the requirements. The closest I've found is https://rapier.rs, but it is written in rust Is it completely impossible for me to achieve what I want without determinism? Is determinism just a buzzword I'm getting hung up on? I'm willing to put in the work to roll my own physics solution if required, but I'd like to save myself some trouble if possible. [link] [comments] | ||
About marketing as soon as possible Posted: 08 Oct 2021 06:24 AM PDT I heard this here but what about making a prototype that you know is fun ? We don't have a concept artist in our team so we only can take screenshot ingame for visual elements. Is showing very little better than wait two month to have minimum viable product ? [link] [comments] | ||
What pixels should my game be? Posted: 08 Oct 2021 10:09 AM PDT Hi, so I am aiming to play around with the graphics like Stardew Valley and Pokemon Ruby/Sapphire - Graphics wise. I would like to know which sprite size and which tile size is the best for this? I already made a sprite in Aseprite, but then I discovered that pixel ratio matter lol. [link] [comments] | ||
Posted: 08 Oct 2021 10:08 AM PDT Hi, no idea how to begin this, I don't even know if I'm at the right place for my question. Maybe it belongs to "marketing" of games. So, I'm desperately waiting for the release of a certain game that has been released for pc but not for consoles... and I'm waiting for the console release. Since I don't want to name that game because it is irrelevant here, I come to my question: The developer released a statement in which they state that the engineering team is veeeeeeery close to submit the game to the manufacturers (assuming Sony/Microsoft are meant here?) for certification. I'm not asking what this certification thing means, I assume it is Sony/Microsoft checking out if the game works as intended etc. My main concern is, how long does this certification process usually last? And if this certification is succesful what comes next? Immediate release? Goodness I feel like the noobiest noob on earth right now. I'll find my way out 😔 [link] [comments] |
You are subscribed to email updates from gamedev - game development, programming, design, writing, math, art, jams, postmortems, marketing. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment