/agdg/ - Amateur Game Development General

Just Like Make Game

SAVE THIS FILE: Anon.cafe Fallback File v1.1 (updated 2021-12-13)

Board Owners: Hourly thread limits and Early 404 help protect your boards against erasure under slide attacks. Enable them today.

Want your event posted here? Requests accepted in this /meta/ thread.

Max message length: 20000

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB

Captcha
no cookies?
Board Rules
More

(used to delete files and postings)


Open file (9.80 KB 600x407 comfy_cirno.png)
RULES AND F.A.Q. Deveropa 09/13/2019 (Fri) 18:35:00 ID: 9e9ecb No.15 [Reply]
1. Follow the Global Rules 2. The Board is SFW, so spoiler any mature content 3. That's pretty much it But wait, there's more! 4. This thread will work as a META THREAD for the rest of the board. Feel free to post your complaints and questions here. Please use the meta thread: >>1 3. Obey the spirit of the rules, not just the letter. Please be constructive in your comments and critiques. Try to be positive and supportive without pandering or cheerleading. Any obvious board disruption, shit-flinging, crab-bucketing, or nigger-pilling will be removed. 4. As of 03/27/2023, post IDs have been disabled. We're all adults here, we shouldn't need them in order to carry out discussions. Please be mature and don't samefag or accuse others of the same without basis. 5. Have fun. The board was set up merely a bunker and repository for developers, waiting for 8chan to come back online, but since it's in the process of committing sudoku, this could be your new home. List of other bunkers: http://8agdg.wikidot.com/general:bunkers
Edited last time by nviridescens on 03/27/2023 (Mon) 02:58:47.
11 posts and 3 images omitted.
Where's that link that explains what happened to the agdg community after the exodus? About splitting into groups and whatnot? I can't find it.

Progress General Deveropa 04/29/2020 (Wed) 20:07:32 ID: 26606f No.123 [Reply] [Last]
Post what you're working on.
199 posts and 174 images omitted.
Open file (33.89 KB 422x599 test.png)
Open file (2.14 KB 136x125 virtualboy.png)
Spent a couple hours trying to figure out why the projection matrix in my compute particle system wasn't working only to realize I'd forgotten to homogenize the transformed vectors. Also accidental virtual boy mode.
Open file (2.36 KB 115x86 logo (2) vb.png)
>>989 >Also accidental virtual boy mode. Neat. Have an edited anon.cafe icon I made a couple years ago but never did anything with it.
>>988 >make a forest >well, I need to make texture cropper/resizer/converter >default sdl api is a bit fucked, and I have no idea how to make transparency work, so either colorkey(good way anyway) or look into libpng >and some simple "enhancements" filters would be great >and I would need working interface to use them >sdl works for now so whatever >but to make proper converter I need json loader/data manager I should look into hierarchy of the stuff I need to make, before making other stuff.
>>994 Made simple automatic texture cropper with offsets. Just need to attach them to data files, and/maybe gui. And now I can process character tiles and implement proper systems for them. And make better grass tiles. They are flat, and I rendered all of them at the same time and just cut off the mask, now I can render each tile separately, and keep blades of grass which go outside of default rhombus, and even use any kinds of image processing on them. (hopefully it will look better). But that is an improvement for later, current grass works perfectly for a placeholder.
Open file (385.74 KB 790x439 ClipboardImage.png)
Open file (587.54 KB 1000x1000 0030.png)
Open file (77.01 KB 227x277 ClipboardImage.png)
Note to self. Dont use 1000*1000 resolution for renders instead of 1024*1024, especially when you batch rendering something on cpu. For "less precise" stuff like trees and other decorations, it might be fine, but walls and ground tiles must be precise. But on the bright side, I figured out why grass renders always had dark spots in the middle of each tile(Pic2). I simply forgot to give renderer more bounces for transparency (it was only 4 total), so everything transparent turned into black. >now I just need to pack everything >lets search for already made simple packing algorithms >here is link, everything is explained in it! >link is for 200 page scientific paper on packing anything into a box Welp, Could have been worse. So many topics are so well researched, but its practically impossible to read through all of them. Packing even has free tools for it, but adapting them for my exact needs is the same, as doing it from what I already have. Next up, is making my tileinfo.json format to be compatible with Tiled editor. And a format for character sprites. And technically, at that point, I would be able to start actual game developement.

Open file (1.41 MB 1536x1536 1468405570313-1.png)
QTDDTOT - The thread for all those burning Questions That Don't Deserve Their Own Thread Newt Board owner 03/27/2023 (Mon) 06:09:39 No.478 [Reply]
So up until now, we've had a lot (lol) of off-topic posting, a lot a one-and-done "how do I make game tho" posts in various threads, especially the meta and progress threads. This is now the new dumping ground for those posts. Do try to put some effort into your posts though, you'll get more responses and won't have to face the wrath of jacked Carmack and his dragon dildo sword+2 that way.
22 posts and 9 images omitted.
>>982 >everything is either faulty or increases complexity or both Wow, yeah, that all sounds pretty tough. It must be a much bigger problem than it appears to require such difficulties, but nevertheless good luck with it, Anon. >>981 >>983 Vague framing produces vague thinking produces vague work, manifest in meandering. Take it as exhortation to keep your fundamentals sharp, if nothing else.
Open file (285.84 KB 446x280 ClipboardImage.png)
>>983 But I explained everything in other posts/parts of the post.
>>982 >>985 I see now. for picking cosmetic tiles from a set I recommend just sampling a white noise texture. that repeats in every direction (very close to what you're already doing). Maybe for item generation break the world into chunks, hash the coordinates per chunk and seed your PRNG with the result. Don't overthink it. Something like a Linear Congruential Generator is super easy to implement and as long as you do the generation in the same order every time and keep the state separate between chunks it's totally deterministic.
Open file (4.11 MB 1902x932 ClipboardImage.png)
>>990 Ultimately, it doesnt matter, and the answer is "dont worry about it". I can wrap values around from an array which is just 1 screen wide, and it will be impossible to notice. Unless someone has extreme form of autism. In picrelated you can see obvious line of repeated tiles, but its only obvious on grass, its fine on rocks. But in future I will need proper generators, which will give me outputs I need. Lets say I have 10 types of armor and 10 types of weapons. So 1-10 will be a armor, 11-20 will be a weapon. For simplicity, lets assume I use 5bit wide values, so they can be anything from 1 to 32. If I simply use modulo 20, to "clip" the values, the first 16 items will have double chance to appear, while the leftover 4 will be twice as rare. Not to mention situation, which happened in some monster hunter game. Due to seeded random generators, characters had a pool of unavailable items, which could not be generated for them. On one hand, who gives a shit? Fuck em! But on the other, I have severe autism, and I care. I guess, the solution for even distribution is to have binary tree generator. Item ID would be its entire information, and I can use "leftover bits" either as "no item" or "do over, but upgrade" instead. Checking it might seem overcomplicated, but I can just pregenerate whole thing, each time I change number of items/types possible to generate. Or I can just make everything dividable by 2, which is way more annoying. Whatever you do, you want to do it properly, but its really counter productive in many cases.
>>984 >Vague framing produces vague thinking produces vague work, manifest in meandering. Take it as exhortation to keep your fundamentals sharp, if nothing else. Exellent advice, Anon. Thanks.

Open file (3.20 KB 920x512 raylib.png)
Open file (126.94 KB 800x600 losdiabolol2.jpg)
Open file (117.51 KB 1000x750 sd2.jpg)
Open file (97.06 KB 768x576 ff12.jpeg)
ARPG project with Raylib yesdev 03/30/2023 (Thu) 03:39:45 No.486 [Reply] [Last]
Greetings and salutations, faggots. I'm currently working on a 2D, isometric-perspective action RPG. The goal is a Diablo-like, minus the Skinner-box loot pinata bullshit and adding a party system with simple but configurable AI party members - think Seiken Densetsu 2, 3 and Final Fantasy XII. I'm using C++ with Raylib as my primary graphics/input/output library, no "game engine" to speak of as yet. As I'm going through a bit of a refactor, I thought I would re-organize the project from scratch and document it here in the form of a tutorial slash dev blog. I'd like to use it to dump progress updates and code snippets, as well as for it to be a place to discuss Raylib and general RPG development. If you follow along, you should be able to build a similar game without too much difficulty. Disclaimer though - I am not a pro (game developer, I do a different kind of engineering for my day job), and am new to C++, so don't expect perfect code, best design practices, or anything like that. Stay tuned for an intro to Raylib, my project/build system, and design document.
72 posts and 121 images omitted.
>>902 >lol don't kill my thread. Heh my mistake Anon. Clearly you have more to contribute, please proceed. :)
>>903 Was joke, comrade :^). And nah, I'll stop shitting up the thread. Maybe somewhere else, some other time.
>>902 >license drama (of which I am the most guilty) should be its own thread, something like "gamedev legal/ethics/financial" If we do end up with one, I am going to use it to yell about shitbirds who pretend to offer assets under Creative Commons licenses but then add restrictive "gotcha" supplemental terms that Creative Commons specifically disallow under their trademark policy. >you can have this under CC-BY (unless your game's sales exceed $X) hurr durr now we come up in CC license search results make sure you read the Free* license terms! :) IF YOU USE SUPPLEMENTAL TERMS TO IMPOSE ADDITIONAL RESTRICTIONS OF ANY KIND IT'S NOT CC-BY ANYMORE IS IT, CALL IT SOMETHING ELSE LIKE THE YOU CAN USE THIS BUT I WANT A CUT LICENSE FUCK I KEEP SEEING THIS SHIT EVERYWHERE I AM SO MAD
>>902 >GPL did not bring out the desired goal, that is, advancing 3D games and the FPS genre Well that's not so easy to measure, since the lessons developers have learned from Id's codebases aren't necessarily so explicitly stated, as a learning resource the Doom 1-3 & Quake 1-3 sources have been invaluable to many game devs. >"mod community" banging on 30 year old tech because that's all that's "free" Seems more like a problem with the culture of game development, getting the sources for 20+ year old games if the planets align shouldn't be the norm but it is. Also the things people accomplish with those very old engines are very often more experimental and innovative than what you generally get from the modern industry, you have to at least appreciate the dedication involved. >I'm pretty sure there was a Doom 2, Quake 2, Q3A... Well yeah, but Doom 1+2 and Quake 1 have the most popularity in large part due to what the community does with them, which gets spread around various places and gets people outside those communities interested in playing these new mods and total conversions. >Are you saying Id is making money off of Doom and Quake today? Yep, for Id it's a very low maintenance deal: By providing the games on Steam and other stores (generally just the original DOS versions wrapped with DOSBox) players buy the games, then take the data files and play them with source ports and mods developed completely by outside devs, Id doesn't need to get involved at all and can just let the money come in. >Presumes source port developers would keep their changes to themselves I base that on observations of other scenes where sharing your work isn't a requirement. >which is fine too, as it actually introduces diversity and competition Personally I don't think so, in those scenarios you often get certain projects having lots of control over the community, where what they say goes and people have much less power to mitigate the damage in the event of a lead dev with bad intentions. >you would have to play the original versions instead because the superior source ports didn't all release their code? That's fair, I didn't think that completely through. My concern was more about the issue of continuous maintenance when developers inevitably stop working on their port and that project is closed source, such that eventually you end up needing a jenga tower of fixes for fixes of ports as operating systems and hardware move on. >Gotta be kidding me... My point was about Id software since 2016, not during their '90s successes. The original Doom 4 was a 50 shades of brown modern shooter, which they scrapped and instead took great inspiration from Brutal Doom and the Doom community in general.

Message too long. Click here to view full text.

>>896 I did not mess with it a whole lot, mostly played through the default game, tried mods, modded a little. Demo game: worked nicely. Simple ruleset and simple resource modding (adding a new ability, etc): was indeed trivial. Variety between styles of the existing resource sets: good. From Diablo-like (Flare-game) to jRPG style (Polymorphable). https://flarerpg.org/mods/ The possible downside: Rummaging through assets of Flare-game shows that for all this fancy equipment in hands to look so nice the sprites require not only a set of standard angles, but fuckery with split layers, which does not look trivial. Not unexpected (FreedroidRPG data/graphics/tux_motion_parts/ is not for the faint of heart either, that’s just how sprite based engines do it). Probably… maybe… hopefully there’s something in documentation on how to do this efficiently.

6/6 GAME JAM Planning / 2D Platformer Research Thread Newt Board owner 05/11/2023 (Thu) 10:31:58 No.603 [Reply] [Last]
Alright faggots, as I mentioned in the meta thread recently, I would like to start doing board game jams on a regular basis. Unlike other jams that just give you a theme and a ridiculously short deadline and then you're on your own, the game jams here will come with a ready-to-go, runs out-of-the-box codebase so that any participant will have a working, playable game from day one (however bare-bones and exactly like everyone else's it is). You may choose to use the provided code base if you want, but you're free to bring your own as well. Think the code is ass? Does something you don't want or need? Rewrite it then, I don't care. The provided code is simply to bring as many people up to speed as quickly as possible, as well as to provide a common ground for collaborating with and assisting one another. The first /agdg/ Game Jam game will be making 2D platformers - no theme or gimmick restriction, it can be whatever. The provided game skeleton will use Raylib for graphics, sound, and input, and be written in an easy-to-grasp subset of C++ (nothing fancy or hyper-efficient). The Jam will officially start on June 6th, 2023 (6/6) and run until July 7th, 2023 (7/7), one month. By start, I mean a thread will be created and the code base, along with building instructions will be provided on that day. You are free to do whatever prep you like in the meantime, of course. 7/7 will be a "demo day" of sorts, where everyone uploads their games for others to play, and an informal competition will take place to decide the best game. I say "competition" but it's just for fun, maybe we'll come up with something stupid for the winner though. >why? For fun and practice. Do I expect any masterpieces in a month? No. Will anyone make a "real" game to put up for sale or something? I highly doubt it. What I would like to see though, is everyone at least trying - hence lowering the barrier to entry as much as possible. Can't program? Learn, you've got a whole month. All code provided will be straight-forward and well-documented as to which lines are doing what, start by tweaking that. Can't draw? See itch.io and similar for free assets. Can't do sound or music? Again, itch and the like. Do I want to see a whole bunch of Super Mario-clone asset-flips? No. Take the time to try to do something new or do something well. Can program but can't do art? Spend the month developing your art skills and pipeline, even if it means a barebones game program-wise. Are you an artist but can't code? Take the month to learn to code or collaborate with someone who can. Can do everything? Awesome, show us something new then, a novel gameplay mechanic, setting, original character, whatever. I want to see everyone push the boundaries of their skills, using the provided code as a springboard if they like. In this thread I will be gathering ideas for what constitutes the "barebones platformer", and posting my research on that, experiments, and other progress on this project. I would also like to see the thread used for general 2D plaformer discussion. What's out there? What have you played? What's state-of-the-art? What are some cool mechanics you know of? Styles - low-res/pixel, high-resolution, limited-palette, tile-based, pseudo-3D, you name it.
63 posts and 51 images omitted.
>>832 Its a good genre to learn the ropes from, but not when every faggot under the sun is flooding every marketplace with the same copy paste 2D pixelshit with a dash of actual faggotry in there.
>>831 Mario games were way better when they were 2D.
>>831 >>852 It's a fucking jam, quit overanalyzing and being a faggot.
>>852 >>Its a good genre to learn the ropes from Now you're starting to understand. >>856 Guy's salty about something, I just wish he'd make a point sooner or later. I'll let him air his greivances or whatever for now and bust out the dustpan and broom and clean up after him if I have to later. Maybe he's got something to contribute, who knows. We are going to have a post-mortem discussion after the jam - what went well, what didn't, what people would like to see for next time, etc.. Maybe in the meantime our guy can get some chill and think about what to post for that.
Any plans for a second jam yet?

Open file (466.59 KB 1920x1081 ClipboardImage.png)
Open file (607.59 KB 1000x1000 well.png)
Open file (6.08 MB 2000x2000 spess111.png)
Open file (3.04 MB 1000x2000 11building.png)
Blender and CGI tools Thread yesdev 05/18/2023 (Thu) 15:59:01 No.642 [Reply]
There are few layers to learning Blender, but before learning, the Main Principle is to do as little as possible to get best possible result, by using tools which blender provides. You dont draw textures on everything by hand, you use procedural textures. You dont make rigs for generic humanoids(and some animals), you use rigging addon. Also, I would say that 12+16 gb ram is required for comfortable usage of blender. You can live with 4 gb, sure, but it will not be comfortable at all, and you might never be able to use sculpting(or using displacement in textures) or make proper renders. Also, nvidia cards work better, and if you have older radeon card, its not supported by newer blender, and 2.93 is the last blender version you can use. First one, is learning how to do anything, learning interface, hotkeys, etc. Most of it is very simple, and the more you use it, the faster you will do everything. At this point you should just watch a bunch of videos on youtube, I can recommend a few channels, which mention every single button press they do. And its pretty much the only way to learn it. I would say, you need to know how to do simple modelling, adding random primitives, installing generic must-have addons, such as node wrangler, basic understanding how to render something, and basic understanding of shading, aka materials in blender, how to use hdri and basic unwrapping. Additionally, for simple modelling you need to understand why you should use quad topology. At this point after watching videos, you should be able to make a simple house, or a chair, or anything similar, and make materials for it, place a camera. You dont need to understand what you are doing, just copying what you seed others do. You probably should watch a video or two on how to optimize rendering, to save your time, you dont need 256+ samples for test render, 32 will do just fine. I cant help you at this stage, because everything is just learning which buttons to press. Next is understanding how to do more advanced stuff, like using modifiers for objects, using advanced materials, or even geometry nodes. At this point you should start to understand what you are doing. You should probably start working on a stuff you want to make, however consider it practice, not something you will end up using. I think, you should understand how to make something what you want, instead of just copying some video. You should know what modelling terms mean, like subdivide, rotate, extrude, scale, cut, add object, install the "must have" addons (they ship with blender anyway). And for materials you should understand(just play around with it) what different coordinate systems do (object, generated(aka global), uv) what textures do voronoy, perlin/noise, waves, and what bump, roughness, and displacement means. I am probably forgetting something, but all of it will be adjacent anyway. At this point you should be able to make something like a snake, with proper scales, out of curves or modelled in a couple of minutes. Or maybe use an addon to add a cat rig, model cat around it, and cover it with hair, with procedural shading. (Or naked cat, if your pc cant handle fur). And maybe even animate it. You should use core principle of "do less" and use addon to get armature with premade animation, use automatic weights and make whole animation in just a minute or two. At this point you should notice parts which your pc cant handle. Mine for example cant render volumes anymore, due to "fuck radeon cards, their drivers suck", and some other stuff. There are often ways to sidestep it, but sometimes, if you dont have enough ram, for example, there is pretty much nothing you can do to sidestep it. I would say you should be able to at least render a model with 300k vertexes, a couple of materials with varied roughness, metallic parts, bump map, hdri + a couple of lamps. I would say it is the bare minimum of using blender for gamedev. You might consider translucent/transparent/glass materials, but honestly they are not important. Requirements are lower for eevee rendering engine, and it is faster, but you likely will need cycles. I would say you should be able to make "test" renders in a minute, with low sample rate, otherwise everything will take too much time. Anyway, at this point you should probably think about making something cool via tools you are provided. Probably something based on procedural textures. For example picrelated is a model for a well, and procedural texture for it, it might look complex at first glance, but in reality its quite simple, and only uses a couple of procedural textures and some math. And model is just a cylinder. And lamp uses same model as a bucket, just with a couple of modifiers. Same with orange galaxy-like splash. Its just some camera tricks, and a couple of procedural textures mixed. Doing something like this is really not necessary for gamedev, but it is fun and educational. At this point you should start thinking about making game-ready models and exporting them to your engine. Be it 2d sprites (with that I can help a lot) or 3d models with their textures (with that I can help a little). And you should look through cc0 websites with textures, models, etc, like https://polyhaven.com/ ). For example you can spend a day trying to model a tree, or you can use an addon to generate a tree in a minute. Cont...
5 posts and 5 images omitted.
Open file (440.52 KB 1920x1047 dust1.png)
Open file (1.11 MB 1920x1049 dust2.png)
Open file (271.20 KB 1920x1046 dust3.png)
Anyone ever try modeling with Dust3D? I just got it and started playing around with it today. It looks like a nice little tool to knock out low-poly models in a hurry. You model by placing and resizing circles in the front and side views, which control the underlying model. You can apply different modifiers to smooth or change the profile of the otherwise cubic model, mirror modifier, paint vertex colors, etc. Just have to get some reference images whipped up in GIMP or whatever. Nice if you need some low-poly props for a background or a pre-render or something, or want to export the model to blender for further refinement, animation, sculpting, whatever. Has native windows and linux builds. Some caveats, however. For some reason, it seems like versions 1.0.0-rc.7 and 1.0.0-rc.8 (the latest fucking ones) are weirdly broken; they don't seem to have any of the advanced features you see in tutorials and such, and frankly, are unusable. Luckily, though, I was able to get the next older version on sourceforge: ht tps://sourceforge.net/projects/dust3d.mirror/files/1.0.0-rc.6/ that is feature-complete and usable. Has example projects you can open up and look at if you want to see how shit's done. Also, tutorials and documentation is slim. I was able to find these two: ht tps://yewtu.be/watch?v=MytN8t4guuM ht tps://styly.cc/tips/dust3d-modeling/ Give em a look. I'll try to see if I can't model something in it this week if I get the time.
>>786 You can do the same with blender + curves or skin modifier. That picture with bike looks atrocious, its like a hundred of points, way more than you need for a fucking curcle. Check this video, it shows way better way of doing it specifically for a bike. https://youtu.be/G9BlyiMVefU Here is fast modelling from reference. https://youtu.be/lpIonmH90-k However, there is often a fester way, of using built in into blender addons. Cat, panther, horse, human are all built in into blender rigify addon. And I think new blender has addons with direct access to free libraries, including library of cc0 models. If you want to get model for something fast and easy, you can just find free model, if you want to make something yourself, there are fast ways to do it in blender.
>>788 Yeah, it's ass. Nothing you can't do with hap-hazard loop cuts and face extrusions on boxes in Blender. Can also get proper cylinders/torii and shit if you were trying to do something like that bike or another vehicle.
Open file (851.32 KB 1355x1015 ClipboardImage.png)
Simple setup for pixelized image, if anyone needs it. The lower "value" on the left is, the heavier pixelization becomes. Its just multiplication+ rounding+ dividing each directional vector.
Open file (932.58 KB 128x128 ezgif-2-269630b1da.gif)
PS.

Open file (343.00 KB 512x512 animation planning.gif)
/meta/ thread Anonymous 09/09/2019 (Mon) 00:25:50 No.1 [Reply] [Last]
Is the original 8/agdg/ owner in charge of this board, or was it started by someone else?

Also all-purpose meta thread I guess.
106 posts and 26 images omitted.
>>728 Thanks anon, I hate it.
Open file (45.61 KB 400x401 kong.png)
Like video games? Don't like /v/iggers? Come to /kong/, the best alternative. https://alogs.space/kong/catalog.html
>>906 Clean up the >current year games outrage porn that takes up half your catalog and I'll think about it.
>>639 Please be aware that /retro/ was completely destroyed overnight during a slide attack similar to the one that was attempted on /k/ recently. >>>/retro/3176 Please adjust your board's thread rate limit accordingly BO!
>>964 Thanks for the head's up. I've had threads per hour set to 1 since to beginning, and I check in every day so I think we'll be alright. Sucks to hear that happened to you guys though.

Open file (1.25 MB 1920x1080 jam.png)
FIRST EVAR GAME JAM 6/6 to 7/7 Newt Board owner 06/06/2023 (Tue) 04:39:27 No.688 [Reply] [Last]
Hi everyone and welcome to the first /AGDG/ game jam (please clap). >what is this? This game jam is an opportunity for anons to learn and practice their programming/game dev skills in a more structured environment than just "read this programming book and then make pong or something." We (and by that I mean individually) will be making games in the "2D platformer/side-scroller" style of which I am sure you are all familiar - Mario, Sonic, Metroid, Kirby, Castlevania, Ninja Gaiden, Metal Slug, Contra, the list goes on and on. I pulled that out of my ass thought long and hard about what would be a good first jam game, the sweet spot between trivial "hello world"-like and overly complicated, and came up with platformer. In general, at the least, it's got a player character, a 2-dimensional map, obstacles/hazards, and enemies. Controlling the player character requires being able to take in and process input from either a keyboard/mouse setup or a USB gamepad and apply that to the current character state. A map, of any significant size and complexity, will require an external editor, as well as code to convert the exported map data to something your game can understand. Obstacles/hazards will need to checked for collision with the character, and the character to react appropriately upon contact (take damage, power-down/de-level, get knocked back, die, etc.). Enemies require graphics, sound, and a way to update and manage their behavior/internal state, as well as to be "cleaned up" on death or otherwise expiration (off screen, etc.). Now, this game jam is aimed at all skill and experience levels and, to try to keep people on the same page and to make things easier in general, I'm highly encouraging the use of Raylib, C++, and your choice of text editor for development. C++ is the current de-facto language for games development and in my experience, isn't as horrible as people say once you get used to it. Have to say it's grown on me this past month. Raylib is a popular games framework - not an engine - that also hits that sweet spot between extreme low-level, "to the metal" programming and "tries to be everything to everyone and fails" game engines. It respects your development freedom by staying out of the way and not hijacking your workflow, while providing all the typical low-level functionality games require - window management, input, rendering, sound, etc. >cont.
141 posts and 68 images omitted.
>>942 Great post, weird it's not getting a lot more response. Answer the man, ya faggots. >What were you trying to accomplish? My situation was a little different. I wanted to create more engagement with the board and tried to draw lurkers out and get them dev'ing. I made the little platformer with luigi and the frog enemy and shit to show people that a beginner could, in fact, make a little game in a month if they just put their mind to it, with the help of a cool library (raylib) that handles the lowest level window-creation/rendering/input handling/etc. code, while still leaving it up to you to implement all of the "game" code - state machines, collisions, character controller, level format, enemy "AI", game state handling, etc. etc. Some fag in the planning thread called me lazy like I had it done already and just rehashed it or something for the jam but the truth is my experience with both raylib and C++ were extremely limited, and work on the platformer demo started after announcing the jam - I had never done platformer development before. Another goal was, of course, to learn just like everyone else - what I ended up making was actually my most "complete" game I've made up until now. I am by no means a professional dev or anything but I do believe in leading by example. So if I'm gonna be the BO of this board, I don't want to be the faggot that says "come on you guys, just like make game..." I want to be the guy who says "Check out the cool shit I'm making. You can make cool shit too, if you just like make game." >Where did you hit or miss your objectives? We had a good turn out. For an up until recently abandoned board on the webring, we had 3 people participate (4 if you include myself) and everyone released something. That's pretty good. Where I missed though, was in thinking that total newbies would get involved. I spent a good deal of effort on making my demo code easy to grasp and modify, and was fully prepared to absolutely spoon-feed and hand-hold anyone who needed it, to change it in whatever ways they wanted to and to make it their own, or even to do their own thing using whatever engine. That no one like that showed up was a factor in me taking a more hands-off approach midway through and focusing on other projects instead. I would like for more absolute beginners to participate in the next one. It's not a competition, it's about learning, practicing, and pushing our limits. Even if you've never written a line of code or drawn a jank-ass sprite or texture in GIMP before, GTFI here. I had also wanted to improve my demo code, to replace a lot of the hacks with proper solutions. I ended up not doing that, nor did I expand the project like I had planned to: additional levels, new mechanics, new enemies, etc. I was a bit burned out with it, since I had to crunch a bit at the end to make it in time for the jam. At the same time, I made some advances with 3D in raylib that made my RPG project feasible, so I pivoted to that. If anyone was hoping for a bigger and better "Luigi's completely not endorsed by Nintendo adventures" at the end of the jam, I'm sorry for not delivering. As far as hitting objectives go, I am proud of the way that I got the release out the door on time. Defining the features I wanted and the scope, how many levels, how many enemies, etc. then managing the time to meet those goals was pretty satisfying to be honest. Not that I've never done it though, at my last job I wore many hats and basically worked alone from concept to product delivery (hardware stuff), but it's probably the first time I've committed to doing it for a "hobby" project. The scale of my current RPG project is 1000x the size though, and while I progress a little every day, having nebulous scope and time to delivery can be demoralizing at times. to be continued.
Edited last time by nviridescens on 07/12/2023 (Wed) 08:07:34.
Open file (16.91 KB 791x441 ClipboardImage.png)
>>951 >Seems strange to me. What sets the Y velocity? Is it fixed? Yep, there's a JUMP_SPEED constant that the player shape's Y velocity is set to on jump. Each frame gravity is added to give the jump its arc. By modifying the Y velocity on release (x0.5 in this case but you could go lower for snappier control or higher for less control) you give the impression of "hold to jump higher" without the fiddly logic or extra velocities. Here's a snip for the entire bit. >How did you come up with that solution? I'm sure I saw it somewhere before but I don't recall now. There was some frog platformer I took a lot of inspiration from years ago that had wall jumping that felt good, I might've gotten it from that. >>942 >What were you trying to accomplish? A teeth gnashing platformer. I didn't have a strong idea in my head after I shelved the tower survival idea so I ended up just throwing some different mechanics together and tried to make them work. >Where did you hit or miss your objectives? I probably over succeeded in the teeth gnashing aspect. While some anons were kind and commented they liked the level design, that was the most rushed aspect (about one day) and I committed on it too soon. I did have a few friends play test and saw there were some early difficulty spikes but at that point I felt like I wouldn't hit the polish I wanted burning a day or two more. When it came down to concessions made in the remaining time I opted for effects and things instead of level design which in hindsight is a bit of a failure. As one café patron put it 'it's a well put together game but really frustrating'. In general I need to do a better job of either setting expectations or being more serious about interpreting how friends trying it feel. Not to sound like I'm after a pity party or anything! Overall I'm happy with what I got done in the time and it gave me things to think about for next projects. >What caused your results? Easy: I wasted the first week meandering with ideas which I'm very inefficient with. I seem to do best just starting and going from there. Unfortunately life things didn't sync well with the start of the jam so I felt I had to do something to stay invested.

Message too long. Click here to view full text.

Open file (42.42 KB 800x600 drmagma2.png)
>>942 >What were you trying to accomplish? My aim by joining the jam was to both try something I hadn't before and to get my feet wet with C(++). I decided to keep the scope simple to make sure things were achievable with my lack of experience. >Where did you hit or miss your objectives? The game is fundamentally as I imagined it, all my specific targets were met. Of course there are things that I want to resolve and improve in the future. Certain implementation details and bugs weren't fixed, the falling platforms and boss battles are the most janky in that respect. I also didn't get the difficulty curve completely right, with some big spikes in there that can easily turn into slaughter houses. Providing more configuration options, preferably in-game is something worth doing also. Finally it would've been better if the sprites were integer scaled, uneven scaling definitely hurts the game's appearance. >What caused your results? Leading up to the jam I went through some surface level C & C++ tutorials, this allowed me to get straight to work without being obstructed by unfamiliar syntax. Using Newt's template provided the jumping off point I needed as a beginner and allowed me to make fast progress, though in the future I want to try working from scratch. My simple scope meant that I didn't have to refocus my efforts, which cut down on project time not spent getting towards the end. I tried to have particular objectives for each week and stayed focused on the area being working on, this meant that I didn't get sidetracked in different aspects of the game until it was specifically time to work on them. The mistakes I made can be attributed both to my general inexperience and my hesitance in delving too deep into the underlying codebase, if I had been more willing to break and fix things I could've resolved at least some of the issues. >What should you start, stop, or continue doing? In the future I need to be more willing to work on the important structural parts of a game, I also need to integrate the feedback I've received into future projects. Going forward there's always more to know and I must keep trying to learn new things and put them to practice.
>>942 >What were you trying to accomplish? Just, like... make game. Seriously though, what we wanted was to make and release a game. You discover things, both good and bad, by going through a complete release cycle that you wouldn't be able to discover any other way. More specifically, what we aimed for as outlined in >>712 was: >a fast-traversal platformer >where you have to escape a pursuer >with some original character sprites and >at least one piece of original music So this now brings up the question of what a "game" is. I'll sidestep all the tangly stuff that can come with answering that question by simply saying what we wanted was to have a game that >worked on a "toy" level by being satisfying to control >had a win and loss condition >had characters >had a story of some kind, however thin

Message too long. Click here to view full text.

Open file (2.03 MB 2048x2048 ClipboardImage.png)
>>962 >Strange to think Strange to think that character animation would seem easier than background tiles, but that was just how we thought of it. >weird Godot shit One place where we were unfair to Godot: The segfaulting in the Linux export was the result of using an older machine where Vulkan was way behind. Narrowed the problem down to a particular GPU particle spawning and somehow crashing lavapipe/llvmpipe, which the program fell back to in absence of a Vulkan-compatible 3D card. Testing the Linux build on Ubuntu 22.04 with Godot 4.1 instead worked fine, likewise a macOS build taken from that version. Godot is great in many ways, provided you don't stumble into one of its skull-splittingly horrible long-standing-yet-utterly-neglected bugs or under-/mis-documentation... which, given enough time, you absolutely will. Again, no other game engine experience to compare it to, but it didn't live up to its own hype in many ways. Still, discovering that the Linux problem was the VM's fault and that the macOS build worked went a long way towards our not ditching it for future projects.

Open file (530.02 KB 1284x804 laserpointer.png)
Open file (11.86 MB 1282x802 stairs_again.webm)
Open file (6.70 MB 1282x798 clamp.webm)
Open file (14.18 MB 1282x798 swim.webm)
Open file (1.73 MB 1920x1013 metrics.png)
Anon makes an MMORPG (LOL) yesdev 07/07/2023 (Fri) 06:21:01 No.914 [Reply]
Alright, I said I'd stop shitting up the progress thread so here it is. I'm beginning to plan to prepare to lay the preliminary groundwork for an old-school 3D MMORPG in the vein of Everquest, Meridian 59, Ultima Online, and others. I'm pretty much rolling it from scratch, using Raylib for a lot of the input/rendering/sound/etc. functionality plus a few more libraries for XML handling, UDP networking, serialization, and that's about it. You can see some project background and the progress up to this point in the progress thread starting from here: >>755 Spent some time yesterday working on the character controller. Getting capsule -> mesh collisions working wasn't too bad, but getting proper FPS style movement out of it was a fucking nightmare. I ended up raising up and shortening the capsule so it wasn't colliding with everything and anything, using a raycast from the center down to handle different surfaces and steps and the like, while using the capsule to collide with walls/ceilings/very steep slopes. Played with the swimming a bit too, still some funkiness with getting in and out of water. Some shots showing part of the setup for developing the movement metrics - slopes to test walking up and down steps without skipping and bumping, as well as test walking into slopes too steep to traverse. Also got some steps to test what heights the player should be able to automatically step up onto without jumping. TODO: handle sliding down steep slopes, determine jump height/distance, and support crouching and movement on ladders. I would like to use crouch to enter low/tight spaces, hide from enemies (LOS is currently handled with a ray from eye to eye), as well as disabling walking off edges when crouched, so you could carefully approach a cliff edge and look over if you wanted to, or move carefully on a narrow/icy ledge or something. Will be dumping progress here from now so keep an eye out.
6 posts and 12 images omitted.
>>946 Tested with a 22 x 22 x 22 grid of evenly spaced AABBs (total of 10648). I was a little worried at first when I saw 4.5-5 ms time to cull, but then I remembered I was building with debug flags and no optimization. Rebuilt with -O2 and got ~1000us. Culls 10648 down to about 1400-1500 visible by the way. Seems to work well enough for now. Time to actually get some complex terrain and entities in here.
>>943 From the looks of it, you gotta generate collision mesh either way. Or you can have "minimal" height, which probably look better. If player character Z position stays within minimal range, it doesnt visibly change. Ideally you will have torso stay within range, and legs will bend when needed. Not sure how it would look with small ramps tho, but you can figure it out. Also, benefit of collision mesh is loading what player will be able to see from it. Also, easier solution, is to not give small objects collision.
Open file (308.91 KB 1285x805 oct1.png)
Open file (89.43 KB 1284x805 oct2.png)
Open file (1.95 MB 1284x804 octree.webm)
Octree implemented. Got to thinking and came to the conclusion that you can't really get around using one. Got the idea of how to implement properly from thinking about how I would bin each mesh triangle into its respective "chunk" without duplicates or gaps, when I split the zone terrain mesh(es) for rendering/loading. I start by loading all of the models/meshes/whatever. Then, I get an AABB that encompasses them all exactly, which is easy enough, you just find the smallest and largest mesh x point, smallest and largest mesh y point, etc. Then, if I'm encompassing more than 8 meshes in that AABB, I split that AABB into 8 dividing by the length, width, and height. That gives me 8 new AABBs, which I bin the meshes into according to their AABB center point (again, simple to calculate). Then, I recurse, which of course, means for each child AABB, I resize to properly enclose the mesh AABBs, then see how many their are, if more than 8... and so on. I use some flags to indicate empty/leaf node/etc. too. Memory management handled with shared_ptr, as in each Octree has "std::shared_ptr<Octree> nodes[8];" which are instantiated as needed. No malloc/realloc bullshit. The idea for mesh chunking is basically the same except splitting in on a regular 3-dimensional grid, then sorting and re-meshing the tris in each according to originating mesh/mesh material. Those smaller meshes, of which there may be thousands, can then be view culled with an octree. Next thing I have to think about is how to calculate chunk <-> chunk visibility without it taking hours to weeks to "bake". I said before that I'd like to stream the world geometry to each player as they need it. I just have to determine exactly when they need it, based on their position/heading. Have to re-do the collision mesh chunking to work with this octree too. Screenshots - first one is what the whole "zone" looks like. Red boxes are the octree's encompassing AABBs, green are actual mesh AABBs. Second shot and video are what the world looks like through the eyes of placeholder guy.
Open file (104.66 KB 1200x900 capsule_explained.png)
>>948 There is a collision mesh. Or do you mean a simplified, collision-only mesh? I have no plans for any kind of inverse kinematics and I don't really want the feet clipping into the ground any more than they do now (which I spent a long time getting right). I made this pic to show exactly what I'm dealing with. The top half shows some of the problems encountered with a "naive" capsule collider implementation. On flat ground it behaves ok. However, on stairs it's all sorts of fucked. You can get stuck in a floaty halfway-between-stairs state, plus you can't ever really approach the side of the step. On slopes too, you will always be floating a bit off of the ground and it gets worse as the angle increases. Not to mention the way you fly and bounce going down a slope. My approach is the bottom half. I use a capsule for normal wall/ceiling collision, and a ray for ground collision/detection. Raising the capsule lets you get right up to the edge of steps, then "pops" you up to the next one immediately with no "in-between" state - you're either on one step or the other. On slopes, too, it places your origin position exactly on the z-axis value of the slope at that point. I also use a longer ray when moving horizontally or downwards, to detect and "clamp" the player to the slope so you don't bounce down it. The only "bug" I've encountered so far has been falling down into small gaps that the player shouldn't normally be able to. I'm confident I can figure something out though, without radically changing the approach. If I'm missing something obvious though, let me know.
Open file (4.77 MB 1282x800 octree2.webm)
>>949 Thought it would be cool to show the frustum so I gave it a try.

Open file (94.66 KB 642x482 bb4.jpg)
Open file (30.86 KB 640x480 bl1.png)
Open file (106.72 KB 640x480 bl2.png)
Billy's Quest for Love. june 2023 yesdev 06/09/2023 (Fri) 18:40:14 No.738 [Reply]
https://ily888.itch.io/billys-quest-for-love instruction manual → https://shithole.neocities.org/gggg.html UPDATED JUNE 2023!! r18+ nudity , drugs and course language. Guide Billy in his life searching for love. go to school, interact with the residents of the village, and find love! maybe.. Your choices will affect later events. Working time clock 1 sec is 1 min. game ends on the 5th day. the usual game flow goes like this: go to school in the morning, wait for it to get dark outside, then go to sleep in the bed, repeat until day 5. Controls: Arroy keys to move. z is accept/interact. x is menu/cancel. Bugs:-flying the airship over doors will get u stuck. -dont press any directions during scripted events like the intro, u will get stuck. update 2023: -fixed skipping school bug. -removed save from menu. -removed garbage from pocket watch.

Message too long. Click here to view full text.

Moved to progress thread >>749 Will lock this one and let it slide down the board for now. Let's keep these sorts of update posts to the progress thread. If someone wants to make a "showcase" thread for people to shill their completed projects, that would help. If not, I'll make one.

Report/Delete/Moderation Forms
Delete
Report

no cookies?