this post was submitted on 13 Dec 2023
894 points (98.4% liked)
Technology
60080 readers
3370 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A steam deck is basically an arch linux laptop. I bet there are ways you could connect it to a bigger monitor and keyboard to simulate a proper pc though part of why it performs well might be the lower res for the smaller internal display.
There are some great free options to learn game design. Godot, blender. I am most certain its doable to build something but getting a livable wage as an indie game dev itself is a real challenge. Watch indie game the movie for reference on it. Chatgpt, even the free version can also quickly help you get up to speed to plan such kind of project. (Its also a huge autistic blessing to get an ai perspective on how your mails/messages can be interpreted and how you could interpret mails/messages from others.
Speaking as someone who has studied game development, i hope to make my own games aswell but purely as a hobby cause id be unrealistic to believe to get an income out of it. i could never accept a job in the industry where my talent is exploited for profit so even as a portfolio it wouldn’t do.
Ah yes excellent, you actually agree with me!
So yeah, big suprise that me, autistic data analyst is also pretty deep into FOSS stuff.
My plan would be to dual boot it with PopOS! I jave been using (and actually doing quite a lot of useful testing) for PopOS! untill my life shittified. I am very familiar with it at this point, and at least the way I was using it on an AMD GPU/CPU(x86/64) was /very/ stable, amd because its ultimately based off of debian, it has a /huge/ library of free software.
The Steam Deck actually has an official dock now, basically quite similar to a laptop dock... set it in, and the dock connects to keyboard mouse monitor external controller, etc.
And I have already been learning Godot for a while too! Especially after Unity has just kind of shit the bed in terms of the recent 'you owe us a cut of all the profits' bullshit, Godot seems like a great option.
I have already found a lot of good tutorials and used them to prototype basic map system, third and first person animations and camera movements, and Ive already spent time blocking out about the first year of getting core systems and mechanics in place. Godot Script or whatever is very similar to Python, which I have a lot of experience in.
I am also a decent writer for dialogue and such, and could honestly just use chatgpt to fill in the gaps haha, and I could use speech synthesis until I can afford to pay voice actors. Also, I know how to 3D model and do textures as well!
The most time consuming things for me personally would probably be adding in more custom animations, as that isnt something I have prior experience with.
Mixamo does have a lot though, and I may be able to sort of isolate parts of them and have other anims be partially or totally procedural.
As for player models themselves, Godot already has something like a plugin called like HumanCreator or something, which would serve as good foundation for a character creator, and could also be set to use various bounded variables as presets for different NPC races or factions or whatever.
Beasts and animals are a bit trickier, but I can always try to tackle that /after/ I have made decent progress on other parta of the game.
Further, as I have often been bored with not much elae to do, I've already spent a lot of time writing down worldbuilding ideas which also inform, impact and in some cases define much of the actual gameplay I am going for... backdrop lore for the world itself etc.
Finally: I do not need to immediately be making a living wage, as I have SSDI to keep me alive until I feel that what I have ia good enough to start up the kickstater, indiegogo, or steam early access.
While you could always try PopOS i would expect the hardware and customization to Arch to perform better. Valve needed the best gaming performance and making games tends to require a similar or slightly higher performance then what playing will require.
For world building i can recommend obsidian as a good note taking app to connect dots and links between different files, there are some great tutorials about it. If you can afford it chatgpt plus can be mighty powerful as you can program a specific gpt for specific world building needs, a culture specialist, a character specialist, a storywritter, a dialogue and book generator,... each can hold multiple text files which it can reference from.
I am expecting game development to change a lot the coming years thanks to AI, i have seen some early experiments of ai generated animations. Personally i would keep things basic for a start and focus purely on game play and coding. Games and ideas change as you build on them and looks are most easy to change later.
Best of luck, stay safe, i am rooting for you!
I again very much appreciate the advice, and its nice to know /someone/ is rooting for me lol.
Now... this may be an unfair criticism at this point but:
When I first got into Arch (and this was /before/ the Steam Deck was a thing) I found it to be a chaotic mess that required reading literally hundreds of pages of /unofficial community wiki documentation that was often wrong/ to even get a stable bare metal build of Arch working that could actually you know like function as a working computer, without having to bugfix for 3 hours before I could use basically any program... and then some major dependency would update, conflict with another major dependency and blam back to ok now I have to rethink my ENTIRE arch build AGAIN.
Oh, right. The community was basically just awful. Terrible.
PopOS! on the other hand was uh... dl iso, flash, boot, run installer, reboot, then install apps and configure the OS, and I rarely ever had a dependency update bork the whole OS.
Now, granted, that was 1) When I was less well versed in linux and 2) Before the Steam Deck, so its possible that the Steam Deck OS has more or less corralled the expanded Arch Universe into actually having some sane standards merely by being the biggest and most important fish in the Arch pond.
Though I still am fond of PopOS!, I will give a more desktop oriented configuration of Arch a try as a dual boot, and I would be very appreciative if you could point me toward an Arch config that is know to work with reasonable stability on a Steam Deck, if such a thing exists.
Please let it have at least by default a DE, or configurable DEs either in the installer or in different flavored downloadable isos.
Yeah, I was trying out Arch back when it did not by default have a DE and you had to manually figure out all the dependencies to install one, via CLI.
Please dear god do not put me through that again lol.
I will try out Obsidian... is that available on F Droid, Aurora, NeoStore or just plain old Google App Store? Just got the shitty $200 phone from a grocery store right now.
I will look into ChatGPT maybe later, after I am actually living somewhere hopefully permanently. Did not know you can customize different use case for it now, very neat!
I also have seen some procedural methods of generating animations in demonstrations for research papers...
... but there was one tutorial I found of someone implementing... not quite as good, but probably a framework that could be built into something close to GTA's style of 'when the world or objects clip into your character, it modifies their animations so they do not clip through the world or objects'... already, in Godot, with available code to just grab.
You would probably have to do a bit more work to get it up to Euphoria engine quality, but this guy already figured out the fundamentals /and implemented them in Godot/, so thats why I was considering it.
You are absolutely correct though that ultimately that is not really a core feature and probably shohld not be first priority.
I am thinking though that procedural level design is going to be a fairly important core feature of what I am going for.
This may sound absurd for a single dev, but I would like to make something that can eventually be turned multiplayer, but is initially single player for early dev and testing purposes. Stability testing with NPCs, really want to make more in depth AI routines for both combat and non combat tha most games have, present in all NPCs.
Hub zones would be defined cities or encampments that feature a higher number of NPCs, but are smaller than the overworld map, and are where a lot of NPCs would just be going about their daily business, a bit more in depth simulation than just MMO style quest givers just standing there waiting for you.
I am guessing that having a small town that actually feels alive, with actual people doing actual normal people things, and have a decent amount of them, the hub zones will either need to just be totally disconnected from the rest of the game as its own contained level... or perhaps i can come up with some lore and gameplay friendly way to make it so the rest of the world is graphically opaque on the outside or less expensive to render, and all the other AIs of the world and other hub zones go into some kind of simplified simulation state, or just pause or something?
Probably would also be a kind of safe zone for players to more safely socialize in, enforced either by a world/game mechanic, or just lots of npc guards. Still brainstorming that part. Procedural generation could possibly be used to simply lay the foundation of multiple differing hubs simply as a dev tool so i dont have to level design tens or settlements/cities.
Then you would have the overworld, larger but more sparsely populated by npcs, and with a hopeful balance between graphical goodness and draw distance. For actually making the overworld I am going to attempt to grab a decent quality heightmap of the real world (game is set in real world, a bit in the future), then manipulate it in either Krita or perhaps a decent open source 3d heightmap editor, then possibly use some procedural generation to paint trees, bushes, rocks, handle cliffsides and valleys where the heightmap resolution is insufficient to handle the terrain convincingly, abandoned cars, garbage, etc... instead of manually plopping them all in, as seemingly every modder of every game that has ever been modded does.
In the overworld would be more or less dungeon entrances of various kinds. Like the hub zones, the dungeons would be basically seperate levels from the rest of the game, with every AI not in your particular dungeon going into a simplified simulation state to allow for more complex and numerous AI baddies or what not to exist in the dungeon, without murdering your oc or framerate.
Due to the setting of the game, theres a lot of tectonic activity going on, sometimes a volcano might go off or something, maybe an asteroid or satellite impacts the ground and changes the terrain, so different psuedo random world events could cause some 'dungeon entrances' to pop into being, others to disappear. The dungeons themselves I would like to be able to have basically procedurally generated, with a number of different styles of dungeons.
Add this all up and you get something approximating say Fallout New Vegas... or maybe Kenshi..., but the overworld itself changes, and the actual high risk high reward dungeon areas actually organically change simply as time goes on in the game, so that no two playthroughs are the same.
I could also make it so that, when various conditions are met, various NPCs dispositions toward you changes such that, among other things, they could start you off on various quest paths that may have large impacts on the world , a specific faction, or a hub zone.
Then if the single player works... make at least part of the game multiplayer. Yeah I know God help me with that rofl.
Obsidian note taking app is available for pretty much every platform including from the google store. There are a few great video tutorial on how you can leverage some of the advanced features.
Personally i tend to do a thing with reference notes which act as a summary of a topic wich links to more detailed pages where stuff is explained on a deeper level.
It really helps to get an overview of your world and its balance, if your like me its easier to write 5 papers deepdive about the logic used for the fictive technology and science then it is to explain what the main stories are actually all about. The method I mentioned allows you to get into those long vast details in their own notes and there just Linked on the reference note with a short summary of what the file explains. You can also put ideas you have yet to detail on the reference note so it always provides an overview everything and what still needs work.
When world building gets bigger you will want reference files for your reference files and thats where obsidian pretty much seems made for.
https://obsidian.md/download
About Arch, I actually forgot how easy i had it. 15 minute install, had only little experience with Ubuntu before but i saw a video of a hyprland rice and just got sold in an instant. This very easy to install config entails all you need for a very functional, fun and pretty OS. I now cringe when i need to log in windows for my job.
https://github.com/prasanthrangan/hyprdots
This has been my main dekstop since spring and i wouldn’t want to go back for any gold in the world. Admittedly though my decision to jumpt the ship from windows was part trough the confidence enabled by how good gpt4 is in guiding me through linux issues.
I would still vouch to start small on the gaming. I absolutely understand the desire to work on “the one” you have been cooking up in your mind. I am not any different myself but you will risk getting burned out.
Split your ideas up in its biggest challenges.
Then make a small game for each of those challenges, it doesn’t need to be good, you don’t need to publish these.
An example for multiplayer: start with a simple 2d plain. Players, each represented by a black cube can connect and login using a host ip. They can Move along the 2d space and posses 3 inventory spots.
Periodically an item (blue circle, green triangle) gets dropped inside the room.
Players can pick these up and also drop them again.
Thats your game, it doesn’t need more for now no matter how boring it seems. By succeeding you will have overcome multiple challenges, you now know how to connect to people to a game and you may have some early experience in the many bugs that can occurs when items/players get desynced. You can test stuff out and experiment safely without worrying that a bug with your faction system for example is interfering, because the faction system is something you try in another 2d, offline game.
Eventually you’ll get a good grasp of all the challenges you face and how you can solve them. Only then would i make a proper plan for starting a game i know i will be a perfectionist about.
Though probably the best advice of all in game development. Have fun with it, it wont be some times but you must take active care of yourself and the manageability of your project. Go a few steps back, do something else for a while to change things up. Burn out is game designs worst enemy so you do you to stay motivated.