/r/gamedev
The subreddit covers various game development aspects, including programming, design, writing, art, game jams, postmortems, and marketing. It serves as a hub for game creators to discuss and share their insights, experiences, and expertise in the industry.
/r/gamedev
This is my first post in this community. I graduated from a web development bootcamp over a year ago (University of Washington & EdX). I've kind of given up applying for jobs (please don't judge me, it's hard to describe how disheartening the job hunt was). However I have built a pretty cool crossword game (using REACT) designed for mobile. Here it is for free. Let me know what you think. https://mern-ing-the-midnight-oil.github.io/CruxWeb/ And reach out if you'd like to collaborate on something or are looking for an intern or entry level developer.
GTA 6 Activities Idea(s) [Speculation]
Grand Theft Auto VI Activities/Hangouts/Mini-Games/Sports Concept(s)
Arcade (w/ Old RockStar Games)
Arm Wrestling
Bar
Basketball
Bicycle Racing
Bowling
Box Stacking for Trailers
Car Wash
Casino
Club (Dance, Drink, Hookah)
Dominoes
Donate Plasma
Drinking/Darts
Fight Club
Fishing
Foot Racing
Gator Wrestling
Gym
Jai Alai
Python Hunting
Shipwreck Diving
Smoke
Stocks
Street Racing
Strip Club
Surfing
Uber & Uber Eats
Ambulance/Police
Im a beginner java user and deadlines are approaching fast. I have to figure out how to create a game board where one can visibly see each and every field on the game board, which could have a max. of 32,000 fields total. How can a beginner implement such a board?
I've tried drawing a circular board on a canvas with java fx but it doesn't seem to be doing the trick. When I zoom into the fields, the spaces still appear too narrow. I've already tried adjusting the width of the lines seperating each field and the length with each line
}
import javafx.geometry.Bounds;
import javafx.scene.Group;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class GameBoard {
private Canvas canvas;
private Group root;
private double centerX;
private double centerY;
private double in_centerX;
private double in_centerY;
private double circleDiameter = 2000;
private double circleRadius;
private double in_circleDiameter = circleDiameter - 50;
private double in_circleRadius;
private double rad_angle;
private double fields = 200.0;
private double angle = 0;
private double angleIncrement = 360.0 / fields;
public GameBoard() {
canvas = new Canvas(circleDiameter + 2, circleDiameter + 2);
root = new Group();
GraphicsContext gc = canvas.getGraphicsContext2D();
drawShapes(gc);
root.getChildren().add(canvas);
}
public void drawShapes(GraphicsContext gc) {
circleRadius = circleDiameter / 2;
in_circleRadius = in_circleDiameter / 2;
centerX = canvas.getWidth() / 2 - circleRadius;
centerY = canvas.getHeight() / 2 - circleRadius;
in_centerX = canvas.getWidth() / 2 - in_circleRadius;
in_centerY = canvas.getHeight() / 2 - in_circleRadius;
gc.setFill(Color.BLACK);
gc.fillOval(centerX - 1, centerY - 1, circleDiameter + 2, circleDiameter + 2);
gc.setFill(Color.LIGHTGRAY);
gc.fillOval(centerX, centerY, circleDiameter, circleDiameter);
gc.setFill(Color.BLACK);
gc.fillOval(in_centerX - 1, in_centerY - 1, in_circleDiameter + 2, in_circleDiameter + 2);
gc.setFill(Color.GRAY);
gc.fillOval(in_centerX, in_centerY, in_circleDiameter, in_circleDiameter);
gc.setLineWidth(1.5);
double x_s;
double y_s;
double x_e;
double y_e;
for (int i = 0; i < fields; i++) {
rad_angle = Math.toRadians(angle);
x_s = calculateStartX();
y_s = calculateStartY();
x_e = calculateEndX();
y_e = calculateEndY();
angle += angleIncrement;
gc.strokeLine(x_s, y_s, x_e, y_e);
}
}
public Group getGroup(){
return root;
}
public double calculateStartX() {
return circleRadius * Math.cos(rad_angle) + canvas.getWidth()/2;
}
public double calculateStartY() {
return circleRadius * Math.sin(rad_angle) + canvas.getHeight()/2;
}
public double calculateEndX() {
return in_circleRadius * Math.cos(rad_angle) + canvas.getWidth()/2;
}
public double calculateEndY() {
return in_circleRadius * Math.sin(rad_angle) + canvas.getHeight()/2;
}
public double getTranslateX(){
return canvas.getTranslateX();
}
public double getTranslateY(){
return canvas.getTranslateY();
}
public void setTranslateX(double newX){
canvas.setTranslateX(newX);
}
public void setTranslateY(double newY){
canvas.setTranslateY(newY);
}
public void setScaleX(double newX){
canvas.setScaleX(newX);
}
public void setScaleY(double newY){
canvas.setScaleY(newY);
}
public double getScaleX(){
return canvas.getScaleX();
}
public double setScaleY(){
return canvas.getScaleY();
}
public Bounds getBoundsInParent(){
return canvas.getBoundsInParent();
}
}
import javafx.application.Application;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class mainApp extends Application {
private int defaultWidth_scene = 1000;
private int defaultHeight_scene = 800;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
GameBoard board = new GameBoard();
Scene scene = new Scene(board.getGroup(), defaultWidth_scene, defaultHeight_scene, Color.WHITE);
Stage stage = new Stage();
String title = "Prototype";
stage.setScene(scene);
stage.show();
stage.setTitle(title);
final ObjectProperty<Point2D> mouseAnchor = new SimpleObjectProperty<>();
final ObjectProperty<Point2D> previousTranslate = new SimpleObjectProperty<>(new Point2D(0, 0));
scene.setOnMousePressed(event -> {
if (event.isPrimaryButtonDown()) {
mouseAnchor.set(new Point2D(event.getSceneX(), event.getSceneY()));
previousTranslate.set(new Point2D(board.getTranslateX(), board.getTranslateY()));
}
});
scene.setOnMouseDragged(event -> {
if (event.isPrimaryButtonDown()) {
double deltaX = event.getSceneX() - mouseAnchor.get().getX();
double deltaY = event.getSceneY() - mouseAnchor.get().getY();
board.setTranslateX(previousTranslate.get().getX() + deltaX);
board.setTranslateY(previousTranslate.get().getY() + deltaY);
}
});
scene.setOnScroll(event -> {
double deltaY = event.getDeltaY();
double zoomFactor = (deltaY > 0) ? 1.05 : 0.95;
double oldScale = board.getScaleX();
double newScale = oldScale * zoomFactor;
newScale = clamp(newScale, 0.1, 10);
double f = (newScale / oldScale) - 1;
double dx = event.getSceneX() - (board.getBoundsInParent().getWidth() / 2 + board.getBoundsInParent().getMinX());
double dy = event.getSceneY() - (board.getBoundsInParent().getHeight() / 2 + board.getBoundsInParent().getMinY());
board.setScaleX(newScale);
board.setScaleY(newScale);
board.setTranslateX(board.getTranslateX() - f * dx);
board.setTranslateY(board.getTranslateY() - f * dy);
event.consume();
});
}
private double clamp(double value, double min, double max){
if (value < min)
return min;
if (value > max)
return max;
return value;
}
}
what free or paid courses can you recommend for game dev
Seems like everyone has their own preferred type of sound or genre. My go to is The Crystal Method Essentials. How bout yours?
Basically title
i don't know what i was expecting my game to look like, but i had high expectations. for the past 3 months i have been working on a project with some asset store particles and random stuff i found from different corners from the internet.
now i was getting really bored of the project and i wasn't getting that "high" from adding new features anymore. i needed to start working on visuals, which scared me so i ended up doing nothing for a week.
then today i hopped into blender and just freestyled some low poly stuff. surprisingly i am happy with what i saw. some of the fun of game dev came back, and so did the hope of actually finishing a game.
Hey everyone! I'm working on a game idea inspired by the feel of Sonic Frontiers, but with some unique twists. I’d love your input, ideas, or any advice on developing a project like this!
Here’s the basic rundown:
- Game Style: Think Sonic Frontiers—open world exploration hubs with high-speed gameplay and skill-based mechanics, but with our own original characters and story.
- Gameplay Features:
- Items: Collectibles that impact gameplay and help unlock new areas or abilities.
- Skill Trees: Players will have ways to level up characters and customize their abilities (speed boosts, combat skills, environmental interactions, etc.).
- Multiple Hub Worlds: Different open-world environments with unique visuals, themes, and challenges.
- Levels/Mission: Fast-paced levels within each world, combining platforming, puzzle-solving, and combat.
- Story: A big, immersive storyline that takes players on a journey through various realms, each with its own vibe and lore.
I’m open to all kinds of help, from game design tips to engine recommendations (currently considering Unity or Unreal). If anyone has experience with making an open-world or fast-paced platformer, I'd be super grateful for any advice, tools, or resources you can recommend!
If anyone wants the google doc link to see what i'm thinking, here it is: https://docs.google.com/document/d/1QE10hW8ahwjoSYgdJmnNqLMwK41HfdgbSDPt1bSyids/edit?usp=sharing
Thanks in advance to anyone who can point me in the right direction!
hello everyone, I'm an 18-year-old student with a passion for stargazing, and in my free time, I created a Star Constellation Quiz App. It’s a fun way to test your knowledge of the night sky, learn new facts, and maybe impress your friends during your next stargazing session. This app is a personal project, and I’d really appreciate your feedback to make it even better. It’s free on the Play Store without ads. I don’t make any Money from it. —feel free to check it out and let me know what you think! I just want feedback to improve my apps :)
https://play.google.com/store/apps/details?id=com.csk.sternbilder&pcampaignid=web_share
we need an arabian pixel art expert for the team for making a 2d game(in godot)
comment under the post if you want to join the team as a pixel art expert👇
Hi everyone, hope you're all going well...
I posted not to long ago with a video where I made footage about my games map.
I am looking for feedback on my style, tone, approach and even audio quality. Audio quality being the biggest one.
My latest video is about my wiki, its here: https://www.youtube.com/watch?v=KMggCTkgbes
It'd be great to know what people think about the audio, the content, the approach etc and any tips!!
-Thanks Adam.
Hello everyone!
I found some databases, but most of them are either really small or quite old... So maybe there's some databases which are harder to google?
I'm trying to find the right tools to make a heavily text-based game, but think more like MS-DOS or editing your BIOS in 2007. There's going to be a lot of screens and a fair few inputs. I am looking for a framework where I can easily code new screens, rather than having 2D scenes where I have to place everything in a GUI hierarchy.
I've been trying out Godot and really love a lot of what they've done, but I'm finding myself building really complex GUIs using their UI framework and not actually being able to build a lot of my game.
My full-time job is in software engineering, and I know various languages like C++, C#, JavaScript/TypeScript, Ruby, PHP, etc. I feel like if I could just find a framework that I could build my views from a markup language (almost like XML or something), and have the views tied to data, I'd speed along really nicely.
I saw that Warsim: The Realm of Aslona (Steam) uses Code::Blocks, which looks a little low-level and I'm worried about trying to re-invent the wheel a tad there. Maybe I'm looking for something in between that and Godot.
Any tips, advice, suggestions or questions that might help me figure out what I'm trying to do.
Hi everyone, hope all is well!
I'm making a game for Steam that has couch co-op as a feature. If you are playing only single player, you can use either Keyboard + Mouse, or Controller. Right now however for 2 Player option, both have to use Controllers and there will be no Keyboard + Mouse option.
For example, Player 1 cannot be Keyboard while Player 2 is Controller. Both must use separate Controllers.
Do you guys think this will be okay, having no keyboard and mouse option for 2 Player mode? This is due to how I have things set up, and will probably be a huge time sink to add that feature, but if this is a huge gamebreaker for a lot of people, then I would like to plan to add it in. Let me know your thoughts!
Hii! I am a sophomore in highschool in Texas who is taking 4 years of Computer Science and 4 years of A/V. I'm looking into degrees right now because I've already started recieving letters. I was wondering if anyone had opinions on the following college's degrees and/or opinions on colleges that I should look into. Also, my GPA last year was a 104, or 4.2, and my grades this year have been all A's and high B's.
The colleges are:
-Texas A&M for Visualization (An art and animation program which also teaches game art/design. Extra tidbit, my uncle sometimes teaches there as a guest professor. He is also an animator himself. I do plan on asking him about colleges when I next visit.)
-Columbia College Chicago (I got a letter from them today, and upon looking at their website they seem to be a rather good option whilst not being too expensive for being out of state.)
Money is not too much of an issue thanks to my grandma, but I would like to ask that if you have any other college recommendations to please try to keep it on a somewhat reasonable budget. Thank you!
Hello, I'm making a video game solo. Like so many before me, I figured pixel art would be the most accessible stylistic choice for my game so I went with that. Six months in now and I'm beginning to wonder if I've hit a wall because of my limited art skills. I've spent hundreds of hours now in photoshop and aseprite, ripping out my hair over color palettes and perfect pixel placements for a game that, in my opinion, is still looking pretty much like I made it in mspaint in 30 seconds.
I'm wondering can these things typically be improved outside just getting better at pixel art? I'm not using any special materials or lighting or anything (because generally I don't know how). I'm wondering if it's common to have "basic" sprites and supe them up in post somehow, or if my game is doomed to looking mediocre until I hire an artist?
Love to hear feedback from anyone who knows about this or has some tricks up their sleeves for taking art from a 6/10 to an 8 or 9 with some post processing magic
I found the old thread, but no info. It is a cookie clicker esque game, but pirate themed. I felt like some nostalgia.
We (my husband and I) just launched our 1st ever mobile game (afterwork project) and I am still on the fence on how to divide our budget for ads. Which countries should we prioritize? I did quite a bit of research, but I'd like to hear from you. Thank you.
Hi all, I'm currently trying to implement a turn-based combat system where I have different characters implemented using the state pattern. They all perform the same actions but in different ways (e.g., attack animations, delays, etc.). How do I incorporate this into a command pattern in a turn-based system? Or is there a better way for me to do it?
update:
My current approach is that I plan to create an interface for the character class that the will pass an enum as a command to the state machine. The state machine will transition to the whichever state based on the command enum. When the current state completes, it will trigger an event to notify the action queue to dequeue and go to the next enum command, repeating the process. When the action queue is empty, it will trigger an event back to the TurnManager, which will then move on to the next active character.
For a long time now (3 years?), I've been considering the development of a platform similar to ROBLOX.
There are lots of other platforms similar to ROBLOX, especially in recent years, but there are some flaws I noticed are common to just about all of them:
It's unlikely I'd be able to address all of these things on my own, but they're what inspired me to start this project.
However, before I can start the project, I need to choose a tech stack; this has been a major issue for me.
I know (in order of best to worst) C#, JavaScript, Java, Lua, Python, C, C++, and Rust. Since it would be impractical to use a dynamic language for this project, JavaScript, Lua, and Python are out of the question. My language choice is mostly split between C, C++, Java, C#, and Rust.
Before I can define the pros and cons of using any of those languages, I have to explain the design of my project. Like ROBLOX, it's heavily object-oriented: all of the objects in the game inherit from the Instance
class, and all of the singletons inherit from the ServiceProvider
class. To change the behaviour of an instance, additional instances such as scripts and meshes can be added as their children. Any instance can have any other instances as its children, any service can have any instance as its children, and any parent or child relationships can be changed at runtime. Everything that can be done with the Lua scripting API can also be done in the editor program, and vice-versa (the editor and the player are, at least fundamentally, the same program). All physical objects (Part
s) are to be physically simulated using the Bullet physics engine, with simulation of server-side parts done on the server, and simulation of client-side parts done on the client. The server will mostly be a separate program from the client, with some elements like the DataModel
and physics system being common to both.
I'm not a skilled enough programmer to write my own renderer with OpenGL, Vulkan, BGFX, or any of their bindings/abstraction layers; this shouldn't be an issue, as the people on the ROBLOX team from around 2003-2013 likely wouldn't have been able to write their own renderer either, which is why they used FOSS libraries like G3D and later OGRE. The 3D renderer I use will likely be dependent on the language I choose and its ecosystem.
Remember how I said my potential language choices were C, C++, C#, Java, and Rust? I'm going to take a look at the pros and cons of each.
C, from my experience, is a pretty good, clean, simple language. However, I'm not confident in its ability to support my object-oriented design, and its gamedev ecosystem is rather sparse compared to something like C++ (at least Lua is native to C, I guess).
Speaking of, C++ is something I have about as much experience with as I do with C, and I'm not exactly happy with it. I think in many ways it's over-complicated, with a bloated standard library that often provides only sub-optimal solutions, requiring a library like Boost in its place, further bloating the project. However, there's something to be said for it's massive gamedev ecosystem, with libraries and tools like Irrlicht, FMOD, and Bullet being native to it. Not to mention that ROBLOX is also written entirely in C++. Integrating Lua with C++ is about as simple as it is with C due to the similarity between the languages.
Java is a language I'm somewhat good with. I learned C# first, and most of that knowledge transferred over to Java rather seamlessly (though many of C#'s features, like simplified getters and setters for fields, are definitely missed). Some notable games, like Minecraft, Slay the Spire, and Runescape were originally written in Java, and as someone who's written a lot of Minecraft mods and server plugins, Java seems alright for gamedev. Unfortunately, however, there aren't many good gamedev libraries available for Java, and I don't even know if you can integrate Lua with it.
C# is much the same story as Java, except with a few caveats. While third parties don't support C# as well as Java, especially when it comes to bindings for C++ libraries used in gamedev, Microsoft does (or at least, used to) push rather hard for game development on the .NET platform, providing tools like XNA (now MonoGame) and C# bindings for DirectX. My main problem with the .NET ecosystem is how it's primary driven by Microsoft (and even they seem to be abandoning gamedev support on the platform), with not nearly as good cross-platform support as something like Java. When it comes to gamedev in C#, Unity and MonoGame are really the only practical solutions, and both are far too high-level to support my project (with the possible exception of MonoGame, but I'm not sure).
Another option would be Rust. I just started learning Rust a few months ago, and I already understand a good bit of it. I prefer it over C and C++ for the emphasis on safety and straightforwardness in its compiler, and for the amazing build/dependency management system provided by Cargo. It seems like much of what I would need to build my project is available for Rust: Miniquad for rendering, Bullet for physics, mlua for scripting, etc. However, the strictness of mutability and the borrow checker combined with lackluster support for object-oriented programming makes my project much harder to implement. Even just passing a struct into Lua as a UserData
so that user-created scripts can modify it is a nightmare. Rust is promising, but just isn't there yet, and has a few limitations that would require me to heavily rethink the design of my project.
Out of these languages and tech stacks, C++ with Irrlicht, Bullet, and Lua seems to be the most viable. What do you guys think? If I got anything wrong, feel free to let me know!
For our indie game Back to the Collis, Kickstarter was initially our backup plan for funding, but things have changed, and it's now our Plan A. We're in a position where we need funding ASAP to avoid pausing development, so we’re set to launch the campaign at the end of November.
With such a short window to build up awareness, we’re feeling the crunch in terms of marketing. Has anyone here ever launched a Kickstarter without a pre-existing community there? What’s your best advice for making the most out of a last-minute campaign like this?
Thanks for any tips or shared experiences—really appreciate it!
I made a comment defending Nintendo’s actions in defending their IP and it got some amount of pushback. I’m willing to rethink my position, but it made me wonder. How much does this subreddit value defending IP?
Lately, I’ve become interested in taking my game dev skills further. Most of my small projects so far follow a simple formula: you walk around a lot and interact with static game objects, usually in small environments. I’ll often throw a shader on top to add some visual flair, but that’s not exactly what I want to keep making, nor what I envision myself building down the road
I'd love to make my projects more ambittious, but I've no idea how to approach it. I don't want to dive headfirst into a massive project again, as it always ends in me hitting a wall too massive for me to scale and abandoning the project. I have obviously got some experience releasing smaller titles, but I feel like I need advice tackling more compelx mechanics and things without overwhelmed. For example:
What I am looking for, it seems, is some help on learning how to learn those more advanced topics, that will develop my skills and help me up the scope of my proejcts. If you all have any advice, resources or just search terms, I'd really appreciate it
Hey guys!
I have been willing to build my own 3D game, and i was wondering what was the most time consuming part of the 3D gamedevelopment?
My strategy of building the game was to first make and program all the mechanics, and then add the animations, models and artstyle to it, however ive been wondering if the programming part actually takes long... i assumed the models, animations and art part was more time consuming but i honestly have no clue
This is important for me, as id rather know whats waiting for me when starting the indie video game development.
Thanks in advance!
In a realistic life sim, what should be the status the playable character should have to be managed?
I’m sitting here in my home office unintentionally eavesdropping on what might be the most intense startup drama I’ve ever witnessed. About an hour ago, my 10 year old and his friends decided to start their own game dev company. They even assigned roles: CEO, CTO, Lead Designer—the works. They were all set to create the next fortnite/minecraft/roblox.
Within 30 minutes they split into two competing companies. I just overheard “Well, if they use the music I composed, I’ll sue!” Now they’re in a full-blown crisis meeting, and I’ve heard the words “intellectual property,” “breach of contract,” and “cease and desist.”
They get it.
Update: They quickly resolved their differences (my wife acting as arbitrator). I think both companies are dissolved and now they’re playing fortnite whilst trying to harmonise nsync’s byebyebye over facetime (thanks ryan reynolds). Just like real life.
Update 2: Thanks to all the commenters, you’ve humoured me as I’ve sat through 2 failed 2 hour 3d print attempts. FYI The original dispute was over money - one party wanted free to play the other wanted a (very reasonable) £5/year subscription model. There was also talk of 1 year bans for misbehaving in game. I really wasn’t trying to overhear. Shoutout to the few doubters, I wish I was that imaginative. Kids do say funny things.
i have been somewhat finished concepting a very optimistically large open world FPS PVP/PVE style game somewhat like tarkov/day z/stalker. and i know this would take definitely more than one person, how would getting a team work tho, would i need lots of money and post applications, get some freinds together to help? fiver? etc,
Besides "oh those MASSIVE MANEATING SPIDERS? they've just always been there". Curious what ideas have been covered.
I'm trying to make a fortnite stw clone. Is it okay to have the system exactly like fortnite
Hi folks,
I thought I’d share a little journey I’ve been on, especially for anyone here struggling with sound design. I’m not a game developer myself, but I do work with sound, and at some point, I got really curious about how AI could help create unique sound effects. So I started experimenting, just to see what was possible.
I ended up so deep in the process that I actually built a tool to make it easier! Now, with just a few prompts, I can generate custom sounds—like “ambient dungeon vibes” or “futuristic engine hum”—and tweak them to get exactly what I want. It’s been surprisingly fun seeing what AI can create and how close it can get to my ideas.
I thought I’d share here since I know how tricky and expensive sound design can be, especially for indie devs. Anyway, if you’re curious to check it out, the link’s in my bio. Just wanted to share a bit about how I got here!