/v/ - MERRY CHRISTMAS

Vidya Gaems

Index Catalog Archive Bottom Refresh
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

Supported file types: GIF, JPG, PNG, WebM, OGG, and more

E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

The backup domains are located at 8chan.se and 8chan.cc. TOR access can be found here, or you can access the TOR portal from the clearnet at Redchannit 3.0.

Uncommon Time Winter Stream

Interboard /christmas/ Event has Begun!
Come celebrate Christmas with us here


8chan.moe is a hobby project with no affiliation whatsoever to the administration of any other "8chan" site, past or present.

Reminder that 8chan.se exists, and feel free to check out our friends at: Animanga ES, Traditional Games, Comics, Anime, Weekly Shonen Jump, /b/ but with /v/ elements Official 8chan server: mumble.8ch.moe:64738

Amateur Game Development General: Prototype and Production Edition Anonymous 11/30/2024 (Sat) 06:58:05 Id: 1b5651 No. 1045009
Share progress, ask for feedback, argue about little things in game design. Resources: >#8/agdg/ via irc.rizon.net >https://app.element.io/#/room/#agdg:matrix.org via matrix programs >Dev resources: http://8agdg.wikidot.com/resources >Wiki: http://8agdg.wikidot.com/ >http://mu-sic-production.wikia.com >https://pastebin.com/qtDwktHP
>>1045009 Is archive.today getting ddos? Its not connecting, will archive previous thread when it does
I'm back to my RPG Maker solodeving, and I've changed my workflow and created design documents to help me along this time instead of just winging it and burning out. I started by designing the world map first, and understanding the player flow through the environment, and what story beats that would entail, then fully fleshed out the first area. Currently working on area 2 of 5 (6 if you count optional side/post-game content). All in all I'm happy with how things are going and I'm enjoying myself again. I'm over my little bout of fuck-it-all when I saw other Steam devs using the same asset pack I am, I'll use it too, I paid for it, what are they gonna do?
>>1045009 A friend of mine sent me that video about how you can make better progress when you don't headbutt right into developing the best systems for your program and get stuck under your own codebase, and instead divide working into two phases - Prototype and Production. Or as I would call Fuck Around and Find Out if it works for your needs. Or Basic Implementation and then Overall Integration. You can use this in developing a mechanic, and then see how this mechanic can be used in a level, and most importantly switch to the next phase to generate meaningful overall progress. You don't have to plan for days and say I'll put X amount of days in prototyping and then Y days in implementing. You can do switch as soon as you get a single thing working and see how it integrates into rest of your code. See how it works for you...
>>1045024 There's also preproduction where you lay out your ideas and how you plan to tackle them before touching an editor. With that as a design guide it's easier to avoid scope creep.
>>1045009 benis :DDDDDDDDDDDD
>>1045081 GAY HAND
>>1045116 don't make me pull out the feet chart for different ethnic groups
>>1045139 Do it, I'm interested. Race differences are fascinating
>>1045139 There's a feet chart for different ethnic groups?
>>1045177 What isn't there a chart for now? Race charts are interesting, digital education not taught in a classroom
I've grown disillusioned with Godot. I started making a desktop program to log some info and needed an image button with a separate "hovered when on" and "hovered when off" images. What a fucking pain the ass it's been. It's all because I wanted all my buttons and all their states to be in a single large image. If I can make it work at runtime, I can't get the button to look right in the editor, and vice versa. I don't think all this FOSS masturbation is worth having to struggle with the tool. I'll make my game in Unity.
>>1045272 It's a real fucking pain when you have to fight with your tools to get them to work. I feel your pain anon. Unfortunately I don't have the wisdom or experience to build shit from scratch.
(13.89 KB 434x191 scripts.png)


(130.29 KB 1137x702 charset_select.gif)

I managed to get a dynamic scripting language for Crop and Claw 2. It's pretty interesting because if I add functions in the runtime, I can use a command to dump the API (it's just a text file) which the editor can use for color coding stuff. I haven't gotten around to making the code editor yet though. I'd been rewriting the INI saver/loader to use custom de/serialization since I want to dump relatively easy to parse data if using a non-Godot runtime in the future. >>1045272 If I understand the problem, you can have your single collection of button image states, and separate texture atlas resources which the button actually uses. I use texture atlas, manual region setup, and code trickery in CnC for entity walk cycles on the field. Third pic related.
(32.70 KB 961x669 Capture.PNG)

remaking the UI to look more consistent, and also look cleaner - both visually and code-wise
>>1045272 If it's something simple, raylib might be the best choice.
>>1045081 The back of the hand is way too flat.
>>1045272 >I started making a desktop program Just use qt
>>1045464 Doesn't that have some fucked up licensing if your program isn't foss?
>>1045471 The core of it is licensed under LGPL, which lets you link it to proprietary code. The main restriction is that you have to share the source to qt itself and any changes you made to it, and let users link their own qt versions. There's a handful of modules that are GPL only, but those are pretty minor ones like charts, or qt quick 3D. https://www.qt.io/licensing/open-source-lgpl-obligations https://doc.qt.io/qt-6/licensing.html
>>1045464 I mean, I had started it with Godot in order to begin learning the engine.
>>1045499 Godot is very good for desktop programs and UI, which is why I'm writing my editor in it as a game. The issue is more that UI itself is hell. That's seldom going to change no matter what tool you use. You would have to work through the environment and figure out a workflow that fits your need.
(1.78 MB 4000x6000 Famidash_Box_Art.png)

(98.70 KB 2322x1848 Famidash_Screenshots.png)

(1008.00 B 220x220 Famidash_Title_Screen.png)

(5.45 KB 640x480 Gondola.png)

(424.00 B 217x217 Hahaha_Benis.png)

>>1045396 I followed your development progress in this AGDG and the last AGDG. Your game is similar to Famidash, a Geometry Dash port to NES. Last week I completed 13 levels of Famidash from the Play Menu on Normal Mode with all coins, and last week I posted this. >It's been out of beta since 10 Oct and on v1.1 since 10 Nov. and may be GOTY among NES homebrews. >It's by kandowontu. He's better known for 200+ SNES Fastrom conversions, Starfox EX, and being the romhackplaza.org manager who makes romhacking.net trannies mad. >It has 2 player, and character palette customization, so in my screenshots, I played as a Spurdo Sparde and Gondola fusion. The game starts simple but later tests your skill where levels get like Celeste C-Sides. As Famidash is similar to your game, trying it might inspire ideas in you. kandowontu himself is also easy to contact. https://github.com/tfdsoft/famidash/releases
https://eyeballtank.itch.io/project-nortubel If anyone doesn't mind some playtesting and giving feedback, passwords for levels are: galeria, tutor1, tutor2, tutor3, c4rr13, k4tr1n, m3lv1n, osc4r0, p33tt3, ang3l4, l3300n, oott00, b0rhrr, p4m3l4, sh3lly, b3rn4d, b00k3r, r1c0t0, phn34s, st3ll4, z4r1n4, sh1hr0, h0lm3s, mcshry, jol1t4, b4rn3y, k4rl44, l13fd1, x444ng, am4l14, y13g0r, clr1ty, kl3rrr, tf00r1, zrkv1l, d3c4rd, fl3nnn, brkstn, m0nic4, ill0uu, b0nkyy, b0nk44, cl4ud1, b0nk3t, dr1l0u, j3r0ld, chrl3s, lmshtn, e1rr4c, n1rt4k, n1vl3m, n4myl3, p3bble, iv4nnn, eul0r1, uulg44, r4cs00, eet33p, al3gn4, k4luub, al1sss, b34trc, h1rdr1, kr1mbs, msgc0v, gr3klv, br1nk4, l4h1rn, h3rrk0, unt0tr, n0rtbl Also still learning about LMMS and looking into samples and some plug-ins.
>>1045593 >similar to a geometry dash port the gameplay is quite different from geometry dash, really. the only real similarity i see is the rough art, but that's because i don't have talent, as opposed to system limitations and stylistic choices.
either way, another alpha version is up (version 2) feel free to try it notably i fixed some movment bugs, make the ground less slippery, and revamped the UI https://dgs-game-studio.com/games/conformer/playtest.html
>>1045733 >make the ground less slippery Good, game ice is only cool in temperature. Slippery physics are the Great Satan and must be purged from enginekind.
>>1045272 Sometimes proprietary function and fastness beats FOSS freedom.
>>1045751 Friction is kingly, heathen, especially when said momentum from friction can transfer to jumps
>>1045272 I don't know what exactly you're trying to achieve or why godot isn't doing so good in that, but you can try unity for very cool UI stuff. The biggest advantage of Unity is there's hundreds of tutorials and questions posted online, you're almost guaranteed to find someone who's had the same issue before (and have a solution)
>>1045606 Tried a few levels. The bold color choices make it hard to see what you're supposed to be doing.
(1.70 KB 220x220 Famidash_Fun_Settings.png)

>>1045593 >>1045617 Famidash has a "Fun Settings" menu, where "Platformer Mode" disables infinite running and "Retro Mode" enables controlled jump height. That gameplay's closer. The rough art was similar, and the level names, like "Can't Let Go" from Famidash and "Don't Look Down" from yours. The themes are "avoid spikes," and in a video you kept launching from springs. The other differences mean Famidash could inspire ideas in you for directions to take with the gameplay.
>>1046115 i mean, i've already got the idea of my game down pretty solidly - right now i'm just trying to refine what i got and add more levels until it's in an acceptable state
(12.32 MB 1280x720 shooty12_.mp4)

Added jumping spiders as a new enemy. They jump towards players and thus faster and more of a priority threat to player. With these 2 enemies I can program levels with spawning a wave of enemies, so you're once you're comfortably kiting enemies then suddenly, theres a wave of spiders on your way. Will make the gameflow a bit tense at times and then relax again. Next enemy will be the same spiders but with a web shooting state
Every time I open up unity I feel like those retards who look at a blank canvas and can't paint. I feel like I'm doomed to let all projects that have any sort of game object die in obscurity.
>>1046567 The first step is to not overthink shit. Just do
>>1046587 I created a square that can move and jump with a vestigial crouch if needed, now I just need to make platforms that don't fall in space.
>>1046591 >>1046567 That's the first step ;)
i made platform physics really good. before they were a bit jank and didn't really feel that good to play with. but not anymore! they also apply to enemies now, too.
How's that for a jump tutorial? I think it gives the player a good chance to understand the movement without going crazy. Tiny signposting with special tiles shaped like skulls to direct moves, I think I'm going to make something with a cavestory sort of vibe.
>>1047007 I really gotta update my bitrate settings, horry shitto.
>>1047007 Good job, anon. Does it stick to the walls if you press against them mid-air? Assuming you don't want that, that's the real test.
>>1047014 Had issues when I made the tilemap collision initially, had to swap the character's bottom to a circle instead of a square just in case, now he sorta roundly slides off most environment, but you can catch the edge of corners just right still and be unable to jump, though you can roll your way up onto a platform that way, allowing you to complete some maximum distance jumps.
>>1047016 One option is to switch the physicsmaterial of your character's rigidbody when he is in the air to one that is frictionless.
Got one map down, now I need to program doors to lead into other areas, water slowdown, and enemies.
im certain like one or two of you nigga's will get a kick out of the techers in this vid https://inv.nadeko.net/watch?v=aXfTgCCsRSg
>>1045009 What are everyone's thoughts on using emscripten to compile a C++/SDL program into a browser game? Stupid nonsense? A good distribution method? I'm thinking about doing some giggles with emscripten.... >>1045081 A man's index finger is shorter than his ring finger. A woman's index finger is the same length as her ring finger.
(86.20 KB 970x681 1.PNG)

(23.12 KB 973x676 2.PNG)

i got some feedback about not knowing the level before picking upgrades. solution: previewing.
Gonna post my code here since I got no clue what's going on here, the game refuses to read Inspect as a valid buttonget It can read crouch, jump, and movement, but it seems to be refusing to acknowledge Inspect as a valid item.
>>1047255 Let me know if you do and the fruits of your results
>>1047331 >if (Input.GetButtonDown("Inspect")) > { > Inspect = true; > }else if (Input.GetButtonUp("Inspect")) > { > Inspect=false; > } The simplest solution is that you don't have an "Inspect" control thing like you do with "Jump" and "Crouch". Maybe you've misspelled it? Add a Debug.Log in there to see if it's activating.
>>1047387 I have a different line of code that activates when I hold the button (down arrow) near applicable objects and the debug logger is telling me that it's activating, so it is reading the input for sure, just not registering the line that tells it to animate in the same way for some reason. I had a thought to put the animate line of code in the one that has a function for the interaction, or even merge the two into a single script, but I figured it'd be stepping over itself and it wouldn't solve anything.
I just realized the code that handles the animation is actually in a different script, I'm probably going to hang it up for tonight and go diving into the guts of it in a few days when my brain is out of this funk
(13.28 KB 702x136 gray field.PNG)

>>1047331 >>1047393 >>1047395 Are you using a CharacterController2D from unity itself or from somewhere else? Its good you're using that instead of writing from scratch, that way you can focus on making the game, unless you want something new added. The Inspect variable is not in use in this file. As you found out the animations are in another script. So you'll have to send this Inspect variable onto a function on that script. The grayed out field on whatever editor you're using quickly tells you that field is not being utilized; 2D platformer is easy to run but hard to fun, learn from this guy >>1047271 A few more suggestions- 1. You don't have to use fixedDeltaTime inside FixedUpdate(). FixedUpdate already runs at a fixed rate per second so you don't have to multiply with any deltaTime to make it smooth. Right now its always multiplying a constant value, something like 0.025 or something. You can safely make changes to your runSpeed instead. 2. You don't have to use setBool or setFloat to switch between animator states. You can directly tell the animator to play a animation state from code using animator.play("nameOfState"); It will either play the state once or loop it, depending on how you have set up your state. Use Set methods only when your animation needs a variable to its functionality eg. An animation that changes color depending on how fast the player is moving. (Or you can directly change the color from code lmao); 3. Just like you're setting the value of horizontalMove every update, you can set crouch = Input.GetButton("crouch"); so it'll set crouch to true or false as the button is kept pressed or released. Your method is already good, so its upto you. It has negligible performance impact. 3. On contrary you set jump=false on FixedUpdate, which is a bit redundant. It will set it false on every frame and only change once the player presses jump button. Put a condition if(jump){jump=false;} on it, so atleast it'll check if the jump bool is true first. Or a better way is to first check if the player is grounded, and automatically set it to false once its grounded. No need to set it every frame. I assume this is_grounded check i on another file. 4. This method of setting a bool crouch as true and then false in order to set up the "current state of player" and changing animation, controls, special behaviors according to the state is called a State Machine. You'll learn it soon, don't worry about it. Your Unity Animator already uses a state machine, you switch between them using SetBool and SetFloat;
>>1047074 Oh yeah, I love watching his videos

(120.11 KB 1600x1564 awyiss.jpg)

gather round oh ye nodevs https://archive.fo/8KISp https://archive.fo/xlaKl https://archive.fo/CytNO https://dagorenginedata.cdn.gaijin.net/rel-ceec7596681cd53080ae54d5c7f30f8e9a282a80/east_district-dagor.tar.gz https://dagorenginedata.cdn.gaijin.net/east_district_ue.zip https://github.com/GaijinEntertainment/DagorEngine/releases So apparently Gaijin Entertainment, the devs behind War Thunder, open sauced the Dagor Engine. Like FOSS and everything like how it used to be with idTech. And it's been out for an entire year and more. And that rendering looks real good, native resolution, no "buh with an upscaler" crap. Best of all there's huge backlash against Unreal 5 right now so this is a great time to sell your game as "optimized at launch unlike those AAA games you've stopped playing.'' However you may feel about Gaijin they're not Godot. Nodevs, we're going to make it, there's hope yet. >>1045272 The answer to your dilemma has arrived.
>>1047271 i took the liberty of condensing the tutorial levels down. from 10 to 6. they're a lot more coherent, too, and should hopfully teach better. >>1047461 my biggest opponent has actually been the physics engine rather than fine-tuning the fun. besides QoL, of course. and also UI, too.
>>1047604 Unity's biggest boon is their UI features apparently, so I hope you at least utilize it. Also >>1047271 I do my own art, and I'm taking a break from coding if you want me to pen up some assets for you to use. I'd just need a rough idea penciled out, then I can paint and color it, if you like it then use it, if you don't, no time of yours was wasted, and I get to practice some design.
>>1047613 >Unity's biggest boon is their UI features I'm not using unity >if you want me to pen up some assets for you to use i already have someone who's going to be doing some art for the game, so i think that ut'd be wasted effort
Today I learned that Godot is legitimately a strong contender against WPF, Electron and Avalonia UI for desktop applications. People in real industries are using it. Apparently it's great because it's cross-platform (unlike WPF). Also, alternatives today force you into writing XAML markup crap to describe your GUI, while Godot is WYSIWYG. There's also additional benefits for communicating with other programs, which webapps have a hard time doing, and being a game engine, it has capabilities for any functionality, including 2D/3D rendering and libraries for complex math.
>>1047530 I will still use Godot engine and GZDoom tbh
>>1047634 Yes. You can even disable the constant screen refresh to make non-animated UI less CPU intensive. It's why I'm using it to make our game editor. It just takes a while to get used to all the different tools for constructing UI correctly.
(1.14 MB 977x680 Capture.PNG)

>>1047613 an alpha version 3 is out. i think i might make this the last public alpha release as i start to refine the maps (and get sound+art) this build features a reworked tutorial, platform physics improvments, level previewing, and some bug fixes so please, report any bugs, errors, or gameply feedback. https://dgs-game-studio.com/games/conformer/playtest.html
I want to add soon home made guns basically just wooden furniture and some sort of pipes held together with bolts and duct tape as cheap weapons for my doom mod but I have difficulty telling what caliber and if its a semi or a auto of the said home made guns, once I have made those I will increase the prices of other weapons so that at the beginning the player needs to use weapons that are poorly made before being able to afford the better guns.
I'm morbidly curious if any anons have delved into functional programming. It feels like in the realm of gamedev, it's only just starting to get around a few months ago when I taught myself some basic Lisp, and resources are woefully lacking when coming back to other stuff. If you haven't messed with the paradigm much, it's worth a look, since it massively cuts down code and lets you get more flexibility for less effort, but since everyone's coasting on babby's first programming tutorials which never talk about the subject, it gets overlooked.
>>1048390 When you study Computer Science, babby's first Programming 101 tends to be functional programming. After that, you get into theory-perfect OOP so that you end up as a viable programmer. In a project of any complexity, pure functional programming will become a maze that no one will be able to understand.
>>1048390 i'm not exactly sure what classifies as functional programming, but i sure do like to break my games down into a state machine which rely on function calls to interact. though, i think that my style is best described as an entity component system more than anything else, which is perfect to pair with several functions to perform calculations with, since i hate the rigidity of traditional OOP implementations, and my language of choice gives me the flexibility i need to change whatever i want at runtime.
>>1048397 >i'm not exactly sure what classifies as functional programming Imagine your entire program consisted of code files that only had functions and nothing else, calling each other, and automatically executing a function called main() when run. That's functional programming without OOP. No classes.
>>1048390 In my unenlightened peasant opinion, functional programming is good especially for calculation heavy stuff or stable environments, but for games where most of what you handle are things with unique attributes, side effects and the object paradigm are more straightforward.
>>1048400 No even. If you wanted to run some algorithm on a giant list of stuff, I'd still make sense to encapsulate it all in a single "heavy calculator" class, even if it only had one instance. In functional programming, all functions are available to all others.
>>1048396 Usually it's iterative programming. The more advanced functional stuff barely even comes up. >>1048402 >you need a class because... >you need a class nah
>>1048406 Listen bro, hating on OOP is always trendy because idiots take boilerplate too far, but encapsulation is a vital necessity. You can't make a large program when everything's visible and accessible to everything. In the best case, it'll lead to extreme bugs all over the place and terrible spaghetti interconnections where every change breaks something. In the worst case, the complexity of the code will be so large that one will spend more time trying to relearn how something works than coding new functionality.
>>1048409 Does that mean that ECS is a meme and doesn't actually increase performance as everyone make it out be?
>>1048409 >You can't make a large program when everything's visible and accessible to everything. yes you can, it's called don't fuck it up and let things access what they shouldn't. leaving the door open for anything to happen allows you to do a lot more easier than if you artificially impose limits on the code.
>>1048402 > I'd still make sense to encapsulate it all in a single "heavy calculator" class, even if it only had one instance. You are everything that is wrong with enterprise-grade OOP. If all you have is one instance of a class with one method that's just a convoluted lambda. >>1048390 I love FP, but it's a lonely world. There is an abandoned GNU Guile framework called Sly that tries to make games in a function style by effectively modeling the state of the game world a massive stream of streams of streams... https://dthompson.us/projects/sly.html The problem is that most people write imperative code for games, so there are barely any resources and barely any people interested. If you want to give it a try then all the power to you. In my opinion FP works best when it comes to building pipelines of data. A long-running application where data comes in, gets processed and in some way comes out again. Things like data engineering, web servers or data science. A great resource is this blog: F# for fun and profit https://fsharpforfunandprofit.com/ All the examples are in F#, but the principle applies to all functional languages. Another option for game-dev is Love2D with Fennel. Love2D is a minimal game engine/framework which uses Lua for scripting. Fennel is a Lisp which compiles down to Lua. Fennel is not strictly functional, but it has a bias towards FP like Scheme does. This is probably the most practical stack if you want to write a game in the FP style because you have access to the entire Lua ecosystem and Love2D libraries. And if FP turns out not to work well for you, you can still keep the tech stack. https://love2d.org/ https://fennel-lang.org/
>>1048410 I've never seen an implementation of ECS that has no classes whatsoever. It's not like I'm an OOP fundamentalist, mind you. I'm just making the point that functional programming alone doesn't work for complex proyects. >>1048411 >it's called don't fuck it up Humans make mistakes, anon. >>1048412 >If all you have is one instance of a class with one method that's just a convoluted lambda. I have a singleton in my current Unity project. It's literally a class with a single instance.
>>1048412 >Love2D i once tried to use that, and i have to say that i do not recommend it. everything is so convoluted behind OOP, and the actual features are so barebones that you'll spend more time coding basic things like UI click detection than making the actual game. i'm sure for people who enjoy making every single system it's a nice thing, but for most people, i would say it's not even an engine, but more of a convenient wrapper for input, rendering, sound, and physics >>1048413 >ECS that has no classes i experimented with a bigger ECS system in a prototype project that never left the ground. the issue was my scope was too ambitious, not the framework. classless structures are feasible in the right language, the closest i did to assigning classes to anything was in the construction phase of an entity to define what properties it received. the rest was just assigning the right functions to entities, and adding guards to functions to ensure that nothing would break if the wrong entity type was provided. it really was quite nice to have all of these properties together and be able to do anything with them that i wanted. >Humans make mistakes, anon. yes, but strict OOP doesn't really prevent this - it just means that instead of a bug, you get an error thrown. the fundamentals haven't changed, and now you've just limited your code for the sake of convenience.
>>1048409 Dude, there are web servers running on lisp, even entire operating systems running on lisp. And in common lisp, you can use packages to separate your function names. >boilerplate And that's where functional programming really shines, instead of dozens of base and child classes which do the exact same thing, or the shitty templating system you literally just call a function where you pass the data and the corresponding function for that data.
Funny that this kind of caught some attention. I'm not strictly locked into FP, though I found mixing the right parts of OOP and FP (with some care and acceptance of imperfections) is pretty powerful. For example, I wrote a custom file manager for Godot because Crop and Claw 2 needs some arbitrary file reading/writing. I can pass functions or lambdas in to dynamically generate classes or share some parts of code, rather than strictly inherit. https://dev.dinoleaf.com/pyral/GD-VirtualFileAccess if anyone wants to check it out. I had open sourced it, but it's not complete and I had lazily hardcoded everything into the VFileAccess.CREATE space rather than chunk some common functionality out, so that is currently really large and verbose. It's GDScript but a programmer knowing what to look for can probably feel out the logic. If someone deep in OOP doesn't get FP, the first real grip I got on it was using first class functions as a substitute for the Command Pattern. I don't have to write nearly as much Command Pattern boilerplate since I don't need to carry all the command's context in a dedicated subclass. >>1048396 >When you study Computer Science, babby's first Programming 101 tends to be functional programming. Not really. You start learning imperative programming. The fundamentals of step-by-step processes. Unless someone deliberately starts in a functionally-prioritized language, it is unlikely that a beginner will be able to articulate concepts like first-class-functions, closures, immutability, etc. >>1048399 >Imagine your entire program consisted of code files that only had functions and nothing else, calling each other, and automatically executing a function called main() when run. That's functional programming without OOP. No classes. This, but when I say functional programming, I'm not being super strict. Since I'm in Godot, forcing pure functional programming into GDScript would be awful. >>1048402 You don't need classes to hide functionality. Namespaces, or treating static classes as namespaces, works just as well in most environments. >>1048409 I wouldn't want to do pure functional programming for games, but a class-based codebase can still benefit from it. I see a pattern where people seem to conflate FP with spaghetti. If your functions are immutable, this would be even less of an issue since part of what makes spaghetti code unmanageable is unpredictable mutations. >>1048412 I'm currently just writing in Godot with FP in mind, but I'd like to in the far future just build a specialized engine for our RPGs with Common Lisp in mind and live like Andy Gavin. >>1048413 If that singleton is a static class with static functions, I'd call it a bootleg namespace (but serviceable nonetheless and it's what I do with Godot and GDScript.)
>>1048434 why not just use the program's IO library mixed with an OS call to retrieve files?
>>1048413 >I have a singleton in my current Unity project. It's literally a class with a single instance. I was not talking about implementation, I was talking about the principle. Of course when you are using C# you will have to create a singleton instance of a class, but that's effectively re-inventing what a lambda assigned to a variable in in FP. >>1048414 > i once tried to use that, and i have to say that i do not recommend it. everything is so convoluted behind OOP Huh? The Love API is imperative if anything. Unless you are talking about 3rd party libraries, but that's entirely up to the community. > and the actual features are so barebones that you'll spend more time coding basic things like UI click detection than making the actual game. Fair enough. Love2D is right on the border between engine and framework. If you don't want to write everything yourself you can use the existing libraries for things like GUI, collision detection and so on. It's perhaps better described as a "Frankenstein together your own engine".
>>1048437 >The Love API is imperative if anything. call it what you will, it just feels obtuse to me in the same way that OOP does.
>>1048436 The default way to access files in Godot is FileAccess, which specifically does "give me a filename, here's a file pointer" stuff. That works for files and nothing more. CnC2 supports loading game files from zip files. The first being the base game, then an arbitrary amount of zip files after (player provided mods as zip files are easy to make and edit even without our custom editor) and then normal OS file access. I need to be able to read or write in as little code as possible for brevity's sake. And I should be able to tell it what file formats to support and how to load them into Godot. This package just does all of that for me. vfs_loaders.gd even shows me using a dictionary that takes file extensions as keys and functions as arguments to dynamically select what files a specific loader should be able to accept. I don't expect people to be able to make use of the stuff I open source, but they're available. I may release my function task scheduler I use for async command processing once I've confirmed it won't explode.
>>1048442 why use zip files at all? seems like that would make startup slower than it needs to be
>>1048434 >Not really. You start learning imperative programming. Ah, you're right. >when I say functional programming, I'm not being super strict. Neither am I when I talk about OOP
>>1048444 I'm using Godot for the editor and runtime today, but it'd be more accurate to say I'm building our games' protocol for future-proofing's sake. If we ever get out of Godot, I only need to write a new implementation of the game runtime in a different or custom engine to reach feature parity. Godot uses its own PCK file system, but I've had issues with it with CnC1's editor-sided dev. Also, it means we'd have to re-implement PCK loading in another engine. Another way to think about it is I want to enable people to make mods easily, and I want the possibility to do what OpenMW did to Morrowind. It reads the game package but with a more specialized runtime, and is more portable than the closed-source exe meant for Windows 2000. Godot is just my familiar tool for the moment, but I'm not as locked into it as if we entirely build our infrastructure around Godot itself as a dependency. This isn't a use case most people might understand, but I would rather our games be in timeless formats and easy to change for fun's sake. >>1048442 Adding to this. We rely on some non-Godot asset import plugins (we use Tiled as a better tile editor than Godot and we have MIDI support for music, with soundfont replacement as an option) The problem is a lot of plugin devs hardcode FileAccess with their load_whatever functions. I actually just made an entire video ranting about this to scream into the void, https://www.youtube.com/watch?v=sSurjCgebjw because no one really talks about decoupling file loading from file parsing.
how, or where the fuck do i learn programming from zero? Is it really oversaturated as people like to say? Or its just the basic bitch area of programming the one who is crowded?
>>1048451 Daily readings of your SICP.
>>1048451 Crack open a good book my nigger. But first, play some fucking spacechem, or some other programming/electrical logic adjacent puzzle game. If you can wrap your head around those, you have a good chunk of the fundamental thought patterns necessary to headdive into programming
(49.74 KB 940x878 Capture.PNG)

>>1048446 i don't think i get it. i have dynamic map file loading which doesn't use any sort of fancy system - and when i was experimenting with script loading in another game, i just stored the files in raw directories and loaded them like that pic related is my function to get files/directories
>>1048472 Packing into a zip makes sharing files easier, and I don't need to bother with requiring unpacking. I don't want all my game files in loose directories, necessarily. Compression doesn't hurt too but that's secondary to me. I can also archive game content builds easier. Another factor is if I want, I should be able to fetch files via networking. But that's a case I've not implemented yet. VFS allows for extending it pretty easily. Yeah, saving and loading files to disk isn't typically hard (though your domain doesn't seem cross platform given you have a bunch of OS dependant code) but it's limiting and if you can't IO (especially the O part in a readonly setup) then complications quickly arise. I also like that I can treat a zip practically like a ROM with its own internal file index, so as long as I can call a zip reader to open it, I can be sure the hierarchy is as it should be.
>>1047862 i lied, i made another version to address some big issues. game runs faster now, and the camera shouldn't jitter behind due to frame-tick delays. also spikes should cause less confusing deaths now, too.
>>1048451 Go into youtube and go through a couple of "Make X game from scratch" tutorial series for Unity or Godot from an account with many subscribers. that'll get you started.
>>1048434 >>1048437 >>1048418 >>1048400 So the working method to achieving good results is... use whatever is simple and appropriate for the results you want. Don't be limited or blindly follow a programming pattern because its the "correct way to do something", first check if its really needed or not, if there's a simpler way to achieve same. If its too much voodoo for your platformer game. Be fluid in your programming. Got it.
>>1048451 Youtube videos are a good start. Any beginner level, grade school level video will get you started on basics such as - >data types and variables >input and output on those variables >how line by line instructions flows >if-else stuff >loops and how logic flows through them >functions and passing parameters through them >output prime numbers from 1 to 100, output even-odd numbers, etc. >arrays and string manipulation (reverse a string or check if its palindrome) >classes and using them properly, putting data and functions inside them These are the basic things that beginners should know. After that you can move to making some basic projects like read/write to files on your computer, or pick up gamemaker and other simple engines and start making your pong clone. Meanwhile, https://www.onlinegdb.com/ here's your testbed, an online code environment where you can practice basic stuff for many languages >Is it really oversaturated as people like to say pajeet tier coders are a plenty. But actual programmers, one who can make and handle a medium-large project on specialized applications, work with old ass code that someone write 10 years ago, and tard wrangle managers and noobs into making their absurd requirements and deadlines work, and more importantly work within constraints of company and their retarded pre-existing software - those are rare and keep the world afloat. And sysadmins of course, they're always in demand.
>>1048577 Yes-ish. But I mostly tend to advocate FP not out of feverish hype, but because people tend to overlook it since it's a different paradigm. You can't really reap benefits from something you don't know about or don't know exists.
>>1048584 >But actual programmers This, too. The difference is that of a builder and an architect. Anyone can slap some slabs of wood together in their back yard and call it a shed. A skilled builder can craft a stable shed that won't collapse. An experienced builder and architect can design the shed with what they need and know what they don't, and get exactly what they need. I often get reminded of Blizzard. For the longest time, there was a single guy who really understood their physics system (C++ and a library called Domino or something) and he was so depended on, they had hardcoded his name into error messages related to it. No one understood how to use the thing and apparently Blizzard just couldn't find anyone else able to meet that skill. Granted I'm not saying you should learn physics and work for Blizzard (lol) but the fact is knowing your tools and practices is a skill unto itself that code monkeys never achieve, thus make you either irreplaceable or a mistake to replace.
>>1047369 thoughts on anything of this?, even just the segment i denoted?
>>1048868 I don't understand how to work with 4D space on a programming level, nor how to make a fun game that's not essentially 4D pitfalls like in golf or 4D holes to pass through puzzles.
AI can't code
>>1049172 Holy shit it's Fred Durst!
>>1049173 Let's listen to Limp Bizkit and make AGDG great again
>>1049172 It can teach, though. ChatGPT is way faster than googling stuff.
>>1049186 Coding-wise.
>>1049186 i used chatgpt to help me learn the basics of C faster. it was pretty helpful in that regard, actually. though, once i got the fundamentals down, i started using it less and less
(2.02 MB 700x849 sicp.jpg)

>>1048451 Unzip this image.
>>1050234 >image says 2MB >download it >280kb Huh
>sleep deprived, loopy from a non-drowsy antihistamine >lets work on our code, what could possible go wrong >troubleshoot the menu for assigning stats >finally get it working, need to check the db to confirm >see pic related I knew altering stats directly would be a risk but I did it anyway. Now my fucking playerbots have ascended and I'm not sure I can unfuck this without a purge.
>>1051034 It's okay, you can just use your version control to rollback your game to right before your cough syrup editing spree. :^)
Melancholy. How're your projects doing, anons?
(181.84 KB 1440x1291 14273852905.jpg)

>>1051868 It's dead. I am contemplating modding TF2 and see if it can be used as a base to make arena shooter out of it or something, UT2004 style. I didn't know it supported a lua like language for modding, but apparently I need TF2 Vintage for it?
(25.98 KB 900x166 lerp.png)

How do you like my lerp, guys? I can map whichever input to whichever output, no matter which is negative or larger, and can clamp at will. So I can map inputs 0 and 1 to -5 and 5, like a normal Lerp. Or map inputs -10 and 50 to 200 and -100, respectively. The input2Lerp uses the input range, to 0-1, which is convenient for me.
>>1051883 >The input2Lerp uses the input range, to 0-1, which is convenient for me. Meant to say that the input2Lerp uses the input range, instead of 0 to 1.
>>1051868 Holiday responsibilities and sickness have stalled progress to a halt. And also goofing off a significant amount, I wanna enjoy the holidays too Feeling better now that I'm getting more sleep, so I'm going to do my best to make progress when next year rolls around. Also going to start taking some steps next year buy back more time for myself to work on games. Being a solo dev for this long has given me skills I know I can market somehow so I gotta just figure it out.
(1.19 MB 1155x760 defense rating get.png)

>>1051868 Got most of what I wanted fixed tonight. The core of the mod that I'm basing off of an existing mod, gotta start somewhere is now essentially done, the rest is rounding off a few corners and making things more user friendly. There's nothing I can do to force the exp bar to display client side at level 80, so players will need to either use an addon or run a macro to track their exp, but they can now gain exp beyond the servers level cap and apply it towards bonus stats.
(33.81 KB 976x686 Capture.PNG)

>>1051868 good. i've remade the levels to not be dogshit, and refined the movent a bit more snappy. though i'm starting to feel the burnout a bit now.
>>1051868 I forgot about it so it's dead. But I've got another idea: I'll make an RPG game about what I'm currently studying which is eating all the time I'm not procrastinating and that way I'll get to both learn the subject and make a video game at the same time. That's foolproof!
(4.24 KB 233x82 die.png)

Circumstances have forced me to use access modifiers and inheritance. Considering how I feel, I thought the image looked ironic.
>>1051995 >>1051034 wow using azerothcore? You're making an mmo mod? That's certainly new. How do you add players into that?
>>1052032 >>1051883 Im not sure whats happening with lerp and clamp in this code, or what those inputs with a clamped and scaled output helps with between a bigger range output.
>>1052061 Well, the idea is that I can map any input range to any output range. So I have a float called player.lives. When lives falls below 2, I want a visual effect to begin fading in and get its maximum strength when lives is 1. Thing is, the effect consists of a saturation value, a vignette intensity, and a contrast value. Saturation will peak at -100. Vignette at 5. Contrast at 40. All with the same input. this function makes it easy: saturation = lerp (1,-100,2,0,lives); vIntensity = lerp (1,40,2,0,lives); contrast = lerp (1,40,2,0,lives); So an increasing range can be mapped to a decreasing output, and vice versa. That's the neat thing of it. I can also clamp the output to its range. The conditional in there is necessary in case the output range is decreasing, so that the camp math function works. I don't know what happens if you write Mathf.Clamp(3,-3);
>>1052152 That's kind of what I assumed but it's still a dumb way to go about it. You're calculating the scalar factor from one interpolation just so you can stuff it into another interpolation and doing that for every single lerp call. You can do the same by calculating the scalar factor separately and clamping it to [0,1] if needed.
>>1052162 It's versatile.
>>1052182 Less versatile than regular linear interpolation. You need to add two useless extra values every time you use it.
(12.64 KB 139x142 g.png)

>>1052186 I like it.
(52.57 KB 1657x172 fucking sql.png)

>>1052056 >are you using azerothcore? Yep, easier to set up than you'd think. >you're making an mmo mod? Yep, hoping I can have it published before Christmas. >how do you add players into that There's 2 competing modified core projects to add server side bots: playerbots run off actual characters and accounts, and can use the standard ui, while npcbots work like creatures that you can 'equip' with a janky gossip menu but are a lot cheaper on server/hardware resources. Both have some basic ai and will fight in dungeons and raids on autopilot and will obey player orders. Tested and confirmed I can add new entries to the spell_dbc table and not require client-side patches for invisible spell auras, so now I'm safe to create custom auras to apply stat bonuses in customized increments instead of whatever I can find in the base game. I really need to find a better tool for creating SQL statements though, sifting through a 200+ column insert statement sucks ass.
(1.12 MB 1131x933 dagoth for scale.PNG)

>>1052286 >adding players To be clear, you CAN host a regular server and let other players connect with azerothcore. I just don't really want to devote the time to daily maintenance or the cash for a vps. The /v/urm lads deserve better than wow anyway, God bless you wherever you are. Wurm2 someday. I hope you can all forgive me someday.
Meh I guess I won't be modding TF2, the fucking VScript language looks too complicated for me to handle, I don't understand nothing of it.
(3.12 MB 890x572 Shooty13_.mp4)

Sniper rifle that pierces through enemies. I'll be making progress on having a mission complete screen and offer new weapons as rewards inside the mission itself
(1.66 MB 500x281 pepe the animation.gif)

(2.71 MB sicp.pdf)

>>1050511 oh, the board ate the embeded data. it was a pdf of SICP (the book she is handing you in the image)
(124.74 KB 370x222 main menu.png)

(162.17 KB 375x280 core stats.png)

(215.74 KB 371x367 secondary stats.png)

(194.26 KB 367x339 defensive stats.png)

(189.12 KB 372x330 resistance menu.png)

>>1052286 Finally got all the custom spell auras in the db and redid the menu system. Did another cleaning pass, we're lookin good. Next up I need to figure out how I want to let admins customize how big a boost each point is worth.
>>1045081 bad >fingers have more than two joints >the band from the thumb to index is uneven in terms of topology / spread of the quads >due to how the finger bends, its better to just indent the joints on the 'front' of the hand
Is there any 3D Map Editor available that I can use with Godot? Blender sucks for making maps with and Trenchbroom is too limited.
>>1053057 There are. I had a list that I deleted and don't remember the names, because I realized Unity's ProBuilder was enough for my purposes, but look up .bsp editors and you'll get the same answers I got. I believe the editors that can make quake3 maps were the most advanced, but I'm not sure. Just make sure they can output obj or something that Godot can handle. the hard part of level making are the UV's. Unity's ProBuilder does a lot of UV's automatically, so you seldom have to handle UV islands manually.
>>1053106 I tried GMod Hammer and Hammer++ (HL2 version) and either they don't launch or it gets severely bugged out in Wine


Forms
Delete
Report
Quick Reply