/agdg/ + /vm/ - Amateur Game Development and Modding

You're too fucking slow make new thread quicker edition

Related Places:
>>>/agdg/
>>>/vm/
New to gamedev? Check >>>/agdg/29080
Old Thread:

Other urls found in this thread:

en.wikipedia.org/wiki/Marching_cubes
8agdg.wikidot.com/
en.wikibooks.org/wiki/C_Sharp_Programming/Keywords
en.wikibooks.org/wiki/C_Sharp_Programming/Operators
bitbucket.org/alfonse/glloadgen/wiki/Home
8agdg.wikidot.com/godot
en.wikipedia.org/wiki/Sunk_cost#Loss_aversion_and_the_sunk_cost_fallacy
8agdg.wikidot.com/game-maker
gamedevelopment.tutsplus.com/tutorials/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space--gamedev-374
the-orange-box.com/portfolio/free-seamless-textures-generator-v-2/
texturelib.com/
rampantgames.com/blog/?p=7745
8agdg.wikidot.com/wiki:programming-in-c
docs.yoyogames.com/source/dadiospice/002_reference/001_gml language overview/401_06_arrays.html
khronos.org/opengl/wiki/OpenGL_Loading_Library
a.uguu.se/5HnWbfkHmpET_sample.zip
obsproject.com/
8agdg.wikidot.com/recording
volumesoffun.com/polyvox-about/
nehe.gamedev.net/tutorial/vertex_buffer_objects/22002/)typedef
pastebin.com/dFu2EYdZ
pcpartpicker.com/b/HMLD4D
godot.readthedocs.io/en/stable/learning/scripting/gdscript/gdscript_advanced.html#dictionaries
8agdg.wikidot.com/not-chrono-trigger
play.google.com/store/apps/details?id=com.TeamJape.TheBalanceChallenge
files.catbox.moe/nxc7uu.apk
8agdg.wikidot.com/demo-days
docs.godotengine.org/en/stable/learning/scripting/gdscript/gdscript_basics.html#example-of-gdscript
godot.readthedocs.io/en/stable/classes/class_timer.html
amuletsandarmor.com/
gameprogrammingpatterns.com/game-loop.html
gafferongames.com/post/fix_your_timestep/
reddit.com/r/SSBM/comments/4is06s/input_polling_dead_frame_lag_and_what_it_means/
kadano.net/SSBM/inputlag/
fastermelee.net/following-up-on-melee-120fps/
twitter.com/SFWRedditVideos

Delet this

I wanna make a sandbox game with voxel-based deformable everything. I want to make an actual fucking sandbox game with a tangible, believable world that won't feel like a dead fucking prop a-la Rust and DayZ and shit.

I know only C# and I have a little bit of experience in Unreal Engine 4. I only have a high school diploma so I'm not too well versed in esoteric Computer Science topics.

I'm sure it's not a secret but there ain't a fucking book on this shit anywhere, so where do I start? I have time, dedication and acceptable knowledge of C.

I'm a goofball. What I meant was "where do I read up on how voxel-based deformable terrain works?"

I just need to know the how so I can do it myself. Searches only gave me snippets of threads of people talking about it in context of general computer science knowledge that was very difficult to understand.

Some "how to do this if you're a retard" topic somewhere on the net would be a good starting point if you know a place.

I haven't worked with it myself, but my understanding is that you can have a marching cubes algorithm to smooth terrain if needed. This works by having a byte—with each of the 8 bits corresponding to a different corner—act as a bunch of flags which indicate which direction to "flow" or smooth in. There's something like 48 unique combinations I think.

Another technique for storage and manipulation is quadtrees or octaltrees. They are a tree shaped data structure with 4 or 8 subnodes per node, respectively. In 2D, this results in a subdivided square, or in 3D, a subdivided cube. They are used to greatly reduce memory consumption and ease of manipulating large amounts of similar data (instead of just using a huge array)

Now you just need to make it DF like so I can scratch this fucking DnD itch I have had for years.

Thank you, this explains a few things as far as representation goes.

Where would it be a good idea to look for a comprehensive article on this?


Sorry my dude I'm more into sandbox games that let you build complex, involved structures like Minecraft's Redstone machines.

Honestly, my personal holy grail is to have on-demand LOD for objects in the world, and independent, physics objects that can be deformed in real time. Collapsing caves, fell-able trees, mining and other stuff that actually calls the player to come up with an efficient method to do it and ways to automate it.

This niche is currently wide open and I really want to fill it. My fucking girlfriend, even, when I told her about the general principle I had in mind she started asking me whether or not this means I can add complex agriculture. She doesn't even like vidya that much but fucking lit up at the prospect of having her own garden in a game.

The fucking possibilties, man.

en.wikipedia.org/wiki/Marching_cubes

Just so I can gauge if I'm retarded or not. About how much time did you guys invest into learning to code before you'd say you had "basic proficiency"? How many hours did you guys put into your language of choice before reaching a basic skill level? I've put less than 5 hours into C# and Unity and I feel like I, by myself, could put together a janky and inefficient, but functional player controller. Maybe some intractable too. Just wondering if I should consider my progress slow or not.

Just keep doing it until you feel like you can intuitively think out just about any task you'd like to accomplish. Programming is a way of thinking above everything else. Once you know one language it's not hard to branch out into others specifically because of that.

You can't learn game dev

Anyone can do anything. Get the fuck outta here.

Posting a link to the wiki for posterity.

8agdg.wikidot.com/

Thats a bad way to look at it. Just figure out what you want to do, google how to do it, and repeat until you start needing google less and less.

In highschool (over a decade ago), we used Turing and I was the most talented person in the class (I had 98%). We didn't fucking cover OOP at all.

Anyways, as you program you learn better ways to solve problems. Don't fall into a trap of worrying about efficiency. You don't need to micromanage your code since consumer PCs have been more than sufficient for over two decades. What you do need to watch out for is avoiding shit like iterating over every tile every update tick, if you can avoid it. When you have a huge nested loop, you also want to make sure you're doing as little as possible within the loop body itself, to keep it compact. That alone will make sure you code runs smoothly.

Good, because here's a couple language docs I like to drop every now and then:
en.wikibooks.org/wiki/C_Sharp_Programming/Keywords
en.wikibooks.org/wiki/C_Sharp_Programming/Operators

This site in particular is pretty nice.

What is the only good thing about C++ and why is it RAII?

C++ also looks slick and organized.

all i care about right now are creating logos and scalable vector images. what is the single best software to do so with? can krita hold a candle to pirated illustrator? are there any non-obvious softwares for this purpose that i've never heard of?

Inkscape

Well that turned out a lot better than I expected


Reposting from last thread since it is kill

Thanks, forgot about this one. I even already had it installed. wew

I'm unable to find the answer online, but I guess I'm not able to describe what I want correctly.

I'm trying to learn raycasting and have found the online guides really useful. However I was not able to find anything on diagonal walls.
How does one detect them with the casted rays and check whether the viewer has 'hit' the wall?

pic related as to what I mean by diagonal wall

www.adammil.net/blog/v125_Roguelike_Vision_Algorithms.html

Read this.

He uses a modified version of Bresenham's line algorithm / midpoint circle algorithm to divide a region into octants. He explains the pros and cons of various RL LOS implementations, and his method uses a specialized kind of "diamond wall" approach that contains beveled walls and only lights a tile if a cast ray intersects a smaller square inside the tile. I implemented it once, very fast and robust.

well, I think what we might need is a thread template on the wiki.

It's looking too much like a personal project still. Thanks Anycomb and programming/engine user for your contributions. I hope the wiki won't die once I actually have more to do at work and stop kinning time with editing it.

Perhaps all caps will get to other anons:
DUDES POST YOUR AND OTHER PEOPLE'S PROJECTS AND BROWSE THE THREAD ARCHIVES
8agdg.wikidot.com/

you can now even download full thread archives, with .webms, .mp4s and shit

I'd also like to repost these

feel free to comment and discuss.


looks great, user!

scale the armor a bit, it's indistinguishable from the body

So something like Factorio and Minetest? It sounds great since I don't really like Minetest at all, everything is made out of blocks and in my opinion it looks ugly.

Minetest is meant to be a free and shitty version of Minecraft, not it's own game.

Any good resources/tutorial for making 3D models? Specifically for making 3D models out of 2D image references and especially for low poly models.

A long time ago I mentioned something about cooldowns not suiting that kind of gameplay on spells/abilities and instead having casting animations. Did you change that? The spells look great too, hope you add more and refine it further.

There is no black and white moment where you just say "I am Shiva, god of C". It's all gradual. The answer is in years.

This.

Newbies always think gamedev and programming is easy when they first get into it, they complete their Unity ball rolling tutorial and think "that's it?" and believe they can now make games and join group projects.

It took me a weekend to start writing javascript programs with no prior experience of any kind. That was many years ago and I still keep rewriting parts of my code because I've learned to do things better.

oh sure, let me just duplicate the entire project, that totally sounds reasonable

use rust + vulkano

good suggestion. I'll try to both make the character's texture/material less metallic and do something about the armour scale. We'll see how that turns out.


yep. Currently the skills have no cooldowns but there will be a few that use them. That will be a balancing act but hurling meteorites and fireballs all around sure is fun.

and because I love you guys so, I guess I'll share the currently planned skills (as in: ones that I want to work in early versions). As always I'm open to stealing your ideas.

Bones are a natural element, Duh.

More BSP tree progress, works with both clockwise (inside open space) and anti-clockwise (inside solid space) vertices. Haven't run into any bugs I've noticed yet but I haven't tested something more representative of level geometry yet.

alrght, either unity is retarded or i am
i have a network identity on an gameObject
that gameObject has children
the chilren have scripts that move them
i want the server to know where they're moving
unity has a NetworkTransform component, but that's only supposed to be on the one with a network identity (in this case the root gameObject)
it also has a NetworkTransformChild, but that also puts a network identity on the object. and when i spawn the player, i get a message that there should only be one identity per player
then i try and make a command function on the units
[Command]public void Move(){...}
but that requires the object to be a network behaviour
if i do that, it once again gives it an identity
so the way i understand it, the only way to control the movement of the children, is to handle them from the script on the root object
which is retarded if i have tons of units

what are some good meme books in knowing math better?

...

Sounds like you need skills that eat your health and are appropriately powerful for the cost.

...

...

hey ur good

What about giving skills significant, vulnerable cast or recovery times to balance their power, then?

I don't know why I bother.

It looks like shit, doesn't do very much, but it has fucking dynamic user-modifiable texture loading and I AM SO UNREASONABLY PROUD OF MY LITTLE PILE OF SHIT

There's your problem, buddy.

...

it totally does though
just look at how hard it is to handle sending an object reference in multiplayer

...

Got basic frustum culling started. Need to add clipping partially visible walls down for use when rendering and backface culling next.

...

Ika works with cubes, this guy uses lines to define his volumes/walls. Who's pixelman, though?

Manlet Simulator dude, he's using gzdoom, although I think doom already has frustum culling working, and I'm fucking retarded to consider that

It's the raycasting dude.

Didn't C# had its use as being a easier language to learn instead of going straight to C++?

Depends what you mean. "Basic proficiency" doesn't mean much. Working with C++, which is my language of choice, from a basis of absolutely no programming experience, it took me

* A month to be able to pump out working and bug-free toy programs for my own use (no class "miles per hour calculator" shit)
* A few months to be good enough to pump out toy games
* Roughly a year to fully learn all the basics of the language, including the functioning of the heap and stack, memory management, how to use templates, pointer semantics, proper encapsulation and API design, etc. Also about that long to be able to make more advanced games and have source code that was actually manageable and didn't look like shit.
* Probably 3 years or so to be skilled enough to be using the language professionally and to be guiding other people and giving advice. This amount of time as well to fully understand algorithms at play and make informed decisions on what paradigm is appropriate for what situation, and to be able to efficiently refactor existing programs and optimize bottlenecks.

You shouldn't consider your progress slow; you should consider your progress progress. If you are learning and improving, that's already the ideal situation, and you shouldn't worry about how fast you're going.

>>>/prog/3034

I'm neither, last project I posted was a sushi puzzle game. I'm working on either a dungeon crawler/FPS with Diablo 2 like item/skill system. I'm not 100% sure how it will play yet but I've been wanting to do my own BSP based renderer for a long while.

either that or make mana a relatively scarce resource. It worked in Diablo1.

or once it's relatively complete begin extensive playtesting among friends, /agdg/ and the irregular aRPG thread

as mentioned, some skills will need a cooldown. Anything related to movement, melee skills, things that work as long as you hold RMB and so on.

I'm a bad guesser. Cool icons. Did you put your project on the wiki?

Not yet since I hadn't posted much about it yet, probably will soon.

I'm officially done with this shit

What? You shouldn't need any massive library to load OpenGL extensions. GLEW is about 800 KiB on my machine. glLoadGen generates a minimal loader for you: bitbucket.org/alfonse/glloadgen/wiki/Home

What massive library are you talking about? If you're using "glut", you're doing it wrong. glut is massive, proprietary, and unnecessary. It's only really useful for learning.

I've worked with this quite a bit, and have implemented a few of the algorithms (they're formally called, "isosurface contouring algorithms", I.e. Same surface building algorithms), and can give u some advice plus pointers (though don't have resources/links, as no pc due to power outage where I'm at.. Hurricane).

Marching cubes is a good starting point, and for code look at the original implementation (look up "Paul bourke marching cubes"). It's in C so it's easy to convert to any language, and there's plenty of public code on github for marching cubes for C++/C#/etc.

For finding different implementations look up the official term I mentioned earlier (isosurface contouring algorithm).
I prefer either dual marching cubes, or dual contouring (as there's "dual" and "primal" types of contouring algorithms, marching cubes is primal, look at the original dual contouring paper for the main differences in dual/primal).
I had to implement dual contouring on the GPU to get it to the speed, responsiveness, and scale I wanted it at.

Also note that each algorithm has various downsides, and generally you sacrifice accuracy/fewer triangles for more speed in the contouring of the isosurface.
Such as marching cubes lacking support for sharp corners, and it creates more triangles than say dual contouring or dual marching cubes; although it's very fast especially if you optimize it.

C# is by no means a shit language. Hate Microsoft all you like, C# is one of the very few things they have going for them.

Nothing wrong with C#. Its not comparable with JavaScript because they are two different paradigms. One is a compiled language with strong typing and the other is a shitty scripting language. C# was designed to be Java but done right. Its syntax was identical so they could poach Java programmers more easily. As far as it goes, it manages a lot of GC and memory stuff for you so you just mostly focus on the logic instead of the boilerplate.

There are ways to work low level, but at this point your language probably won't be your projects bottleneck. If you really need the performance for some reason you can definitely use C++. Just use whatever works for you.


Marching Cubes is best used for organic shapes. Dirt, flesh, etc. Metal and rocks and wood should probably still be blocky and rigid to some extent

I tried drawing my protagonist and ended up with an abomination.

I believe my hands are trying to invoke crime, send help.

He looks like he should see a doctor and/or a therapist.

...

kek

This is my newest favorite thing. Thank you so much.

Nice post, good get.

...

(checked)
Well I need to learn the whole python stuff first before I do anything at all with C# or C++, today I just made a few courses on code academy just to get my feet "wet" already so to say, and so far the difficult part for me was doing the boolean operator stuff, I just wrote down the available values and then filled the blanks what was needed on this tutorial so things like bool_one = 50 < 20 and so on. So for now I will try to do a lot of Python beginners tutorial before I move on to the more advanced stuff. I don't plan at all to write a engine or do any networking since those are quite a different "beast" to work on, Godot as a engine looks good enough. At least it also helps that I am on Linux already which makes programing and compiling stuff much easier. But first I need to take care of my 2 other projects before I decide more time on learning Python

I recall a WiP game whose name I forget which had some sort of Marching Cube going on along with a block type which is solid so that it appears cubical instead of smoothed, but so far the solid cube couldn't be sloped at all, its kind of a shame there is no FOSS game like that, since games like Minetest and so on only have those cubes.

At the /prog/ board I found this thread but it looks like its quite difficult to work with since those books covers several higher mathematics stuff which I have absolutely no knowledge on it, I only know basic maths.
>>>/prog/3034 (higher mathematics books)
though this one also looks like a good starting point for learning python.
>>>/prog/4766

Learn operators and logic well. EVERY language behaves the same way regardless of how its bitwise ops are implemented

Got clipping walls to frustum planes and backside culling done. Probably good enough to start trying to render walls with the information now.


Checked and kek'd.

What would be the best way to try and get a junior position as a 3D modeler in the industry? Should I just shotgun out template emails until someone bites, or is there a better way?

make a half decent portfolio and spam job applications

Well I have an artstation which I think is up to standards. I just don't know exactly where to go to find openings.

Goddamnit, teamwork is hell.

Put your shit out there, unreal store, unity store, maybe a few free asset store, whatever they're called. Maybe try to do some 3d modelling timelapse on youtube, that's bound to get a few views.


Story time m8.

I filled out a page for Godot on the wiki, with info relevant to actual gamedev/choosing an engine. Anyone using other engines could do the same as I've never used UE4 and Unity only to a very small degree.

8agdg.wikidot.com/godot

pic unrelated

I don't think so, the main dev is an Argentinian and his last name is Lienistky or something like that lmao.

Good one.

I remember some dude posted pics about an Advance Wars clone here. Is he still alive?

It's really fucking dumb

The worst of it is if I don't approve he basically wasted time doing something meaningless, and will probably be butthurt saying I didn't understand.

Says the goy that still gives his shekels and/or data-mined information to (((microsoft))).

It's MIT Licensed, how the hell are they going to jew you smartass?

You're a leader, be a leader. Say the advantages of his design decision do not justify the technical debt added to the code. Doing something the right way is almost always better than the easy way.

Don't worry about time wasted. Flush that time down the toilet rather than deal with the time you'll waste later dealing with it.

This is economics 101
en.wikipedia.org/wiki/Sunk_cost#Loss_aversion_and_the_sunk_cost_fallacy

Made one for Game Maker as well, though it's going off what I experienced in the original "Studio" revision, so I don't know if anything has changed since. knowing Yoyogames, probably nothing of note

8agdg.wikidot.com/game-maker

2 prides itself in redoing everything, but I don't have any experience with it, since no torrents of it last I checked. I just know that it can now natively export to Ps4 and Xbox (for an extra fee, of course), and that's why Undertale got a PS4 port announced a few months back.

Good job, user.

how do i into character controller?

i mean i wanna just be able to move in any direction and look with the mouse is that to fucking hard? should i be saving a vector3 as movement and setting the x,z cords every update and then… but that doesn't even matter because unity's character controller doesn't seem to think that the plane is a "ground" i mean shit, google only gives me endless (not) yahoo answer pages that only seem to be visited by other people with the same fucking problem.

any tips for a strafing 3rd person character controller in unity? my guy cant seem to not fall thew the ground.

Good job, user. Can't wait for the unity one.

how do i into character controller?

i mean i wanna just be able to move in any direction and look with the mouse is that to fucking hard? should i be saving a vector3 as movement and setting the x,z cords every update and then… but that doesn't even matter because unity's character controller doesn't seem to think that the plane is a "ground" i mean shit, google only gives me endless (not) yahoo answer pages that only seem to be visited by other people with the same fucking problem.

cant seem to get my character controller working. using the "character controller" collider… think that may have been a mistake.

[code]public class PlayerController : MonoBehaviour {

public float speed = 6.0f;
public float JumpSpeed = 9.5f;
public float MouseSpeed = 10.0f;
public float gravity = -12f;
Animator animator;
CharacterController controller;
new Vector3 movement;
public float x;
public float y;
public float z;
// Use this for initialization
void Start () {
animator = GetComponent ();
animator.Play("Walk");
controller = GetComponent ();
movement = new Vector3(0, 0, 0);
}
// Update is called once per frame
void Update () {
float xinput = Input.GetAxisRaw("Horizontal");
float yinput = Input.GetAxisRaw("Vertical");
float jump = Input.GetAxis("Jump");

animator.SetFloat("VelX", xinput);
animator.SetFloat("VelY", yinput);

if (controller.isGrounded)
{
animator.Play("Walk");
x = xinput;
z = yinput;
y = 0;
if (jump != 0)
{
y = JumpSpeed;
}
else
{
if (jump != 0)
{
y = y - (gravity/2);
}
else
{
y = y - gravity;
}
}
}
transform.Translate(x, y, z);
}
}
[\code]

Hey everyone.
I have spent several years studying 3D programming and design.
However, there's a bit of a hole in my knowledge/skill set that I need to address.

I spent most of my time studying 3D design working on character modeling.
As such, while I have a solid understanding of what constitutes good mesh topology, how to design a model such that will deform well during animation, etc…
I lack experience in modeling and texturing 3D environments.

Modeling 3D environments shouldn't be too hard since I can already create good character models, although there are some details such as ivy and trees that might prove tricky (Blender has ivy and tree procgen add-ons, but I don't have experience using them atm).

Texturing the environment is what seems like the really big challenge for me.
I've looked into this subject quite a bit, but I'm still very uncertain about the best approach to the problem.

Keep in mind, I'm working as a lone wolf dev, so there's a limit to the time I can invest on certain tasks.
It seems like the best approach as a loner might be something like what you see in Zelda 64 and its 3DS remakes, where the environment is mostly made up of simple tileable textures, with some special textures for ledges and props.
Finding some free photo-based tileable textures doesn't seem that hard, but creating special prop textures, special textures for ledges, and getting a set of free textures to mesh well together in the envirperparing onment…I don't know/have a good process for making special textures, and I get the feeling I'm going to run into an issue where the textures don't really match up very well.
Then of course there's stuff like normal mapping, but for starters I'm just concerned with just getting the actual diffuse textures in the environment made and made such that they fit well together.
3DS games literally cannot utilize normal maps due to its outdated GPU, and yet the 3DS sold 59 million units or so, so I figure if I ultimately end up a generation behind in terms of graphics tech, that's not the worst thing in the world as an indie dev.
(That's not to say I can't make normal maps work from a technical perspective, just that preparing normal maps for everything might not be feasible for me alone. This also depends on what approach I use to make/obtain textures.)

...

Hey everyone.
I have spent several years studying 3D programming and design.
However, there's a bit of a hole in my knowledge/skill set that I need to address.

I spent most of my time studying 3D design working on character modeling.
As such, while I have a solid understanding of what constitutes good mesh topology, how to design a model such that will deform well during animation, etc…
I lack experience in modeling and texturing 3D environments.

Modeling 3D environments shouldn't be too hard since I can already create good character models, although there are some details such as ivy and trees that might prove tricky (Blender has ivy and tree procgen add-ons, but I don't have experience using them atm).

Texturing the environment is what seems like the really big challenge for me.
I've looked into this subject quite a bit, but I'm still very uncertain about the best approach to the problem.

Keep in mind, I'm working as a lone wolf dev, so there's a limit to the time I can invest on certain tasks.
It seems like the best approach as a loner might be something like what you see in Zelda 64 and its 3DS remakes, where the environment is mostly made up of simple tileable textures, with some special textures for ledges and props.
Finding some free photo-based tileable textures doesn't seem that hard, but creating special prop textures, special textures for ledges, and getting a set of free textures to mesh well together in the environment…I don't know/have a good process for making special textures, and I get the feeling I'm going to run into an issue where the textures don't really match up very well.
Then of course there's stuff like normal mapping, but for starters I'm just concerned with just getting the actual diffuse textures in the environment made and made such that they fit well together.
3DS games literally cannot utilize normal maps due to its outdated GPU, and yet the 3DS sold 59 million units or so, so I figure if I ultimately end up a generation behind in terms of graphics tech, that's not the worst thing in the world as an indie dev.
(That's not to say I can't make normal maps work from a technical perspective, just that preparing normal maps for everything might not be feasible for me alone. This also depends on what approach I use to make/obtain textures.)

Welp, I just did the same thing, Holla Forums's posting seems kinda fucked up right now.

We were going over this in our dev group a while back, and we're doing pretty much what you describe with tiling textures. There are numerous ways to model a base environment, but the way it's traditionally done is by having tiling textures first, modeling the environment, then unwrapping sections of the environment piece by piece to apply the texture to them. Similar to how you might make a 2D tileset, but in 3D. It is very unlike how you would texture a character model in this respect. Obviously the "detailed parts" of the environment are modelled and textured the normal way.

Kekky Seven

Okay this article helped a bit
gamedevelopment.tutsplus.com/tutorials/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space--gamedev-374

This seems expensive and redundant. Can't you just update objects' positions within the tree, or else avoid remaking a new tree all the time? I guess making a new one and adding it cheaper than updating, removing, and re-adding.

This helps for object collision, but what about like, painting regions? If I wanted to define a region in my game where scripts trigger, and wanted to define it as a quad tree, would I have to have a different structure? It's just a series of bools at this point, but it wouldn't really have a "region" associated with a node, would it?

I use rigidbodies and colliders for movement. Instead of moving it manually, I just lock the rotation in everything but the up axis and then just give it a velocity based on input. For the 3rd person camera I used a variable that tracks overall mouse movement left+right and up+down and then used trig functions to plot the input to a sphere around the object I'm trying to follow.
I havent found anything wrong with using the physics system for player movement.
If all else fails, just go to youtube, theres tons of shitty examples waiting to be analyzed.
Also nice trips.

it's pretty clear that they're merely pretending

Yes, that's exactly what I'm going to do. As soon as I figure this shit out. I might be sorely mistaken but there doesn't seem to be too much difficulty there as far as I've read. It's just a point cloud and an algorithm to visualize it with a procedural mesh. I'm pretty scared though - my dream is to add voxel physics bodies and while I can definitely imagine how it would work in principle, I'm intimidated by the sheer amount of learning I've got to do.

I'm overall pretty intimidated. I wish there was some rudimentary tutorial for a simple implementation of this stuff so I could derive the more complex things from there. I was always more of a tinkerer than a methodical learner.

Oh well, I suppose the solution to all this is to just put myself on the spot and make myself produce results weekly. I just hope I don't run into anything overly esoteric - I never even went to college let alone an advanced Computer Science course.

Thanks a lot for your work, user.


Argentinians made AM2R and Deflemask. Even if they're niggers, they're cool nigs

"Head" of the project to make an 80's VHS slasher horror game here.

Game's not dead, if anyone was interested. Just on a sort of indefinite hiatus since everyone is working on other stuff or is busy IRL. Nothing is out of the picture. (Webm is outdated.)

I am also a single dev user. I've been programming forever but this was my first 3D project. Really what drives the development of your game is how resourceful you are and your artistic merit.

For tiling textures, use this: the-orange-box.com/portfolio/free-seamless-textures-generator-v-2/ with texturelib.com/

For intricate world building: re-use everything and write scripts to duplicate and randomize assets. Pic related my take that saved me hours. It's engine specific of course but do-able in any scenario.

For modeling: practice. My waifu sim was my first 3D project and I had to take modeling from scratch. I got better as time went on. Also use mirror and any sort of duplicate functions as much as you can to save time.

...

they still earn money off you by monitoring your computer usage and selling the data to third parties

I am on Linux Mint m8, I ditched Wangblows 7 like around 2 years ago and since then I don't even bother pirating Window$ at all.

That's, questionable mate.

Talking about Linux, is there any acceptable 3D engine for Linux?

Any idtech engine is more than acceptable.

>(((GPL)))

>>>/cuckshed/

Then why use Linux at all? Is this bait?

...

damn

I've ragequit at least 4 times in the process of getting this far, but I can't help coming back the next day. I'm looking forward to the next roadblock.


The header alone is 1.1 megabytes, and the whole folder is 10 mb. The actual dll library is only 413 kb though which isn't that bad.

Anyway, I went through more tutorials and googling and finally sort of kind of understand what all this shit is, and I also understand why I got so confused and frustrated. There's all kinds of libraries like GLU, GLUT, GLFW, GLEW, GLEE, which all have very similar name and some but not all seem to serve different purposes and some tutorials said that SFML does the same thing they do and I just had no idea what was happening. As far as I understand, you need to:

1. load "opengl extensions", which gives you the functions that your installed opengl version can do, or something like that, and you need a special library for it I think because there's many opengl versions and figuring out what it supports is a pain in the dick
2. handle window management, which is done by SFML, but also some of the GL- libraries above such as GLFW (notice how the name is almost identical to GLEW, an extension loading library)
3. link to the actual opengl library file that exists somewhere in the ethers of your computer and/or the compiler

It did not help my confusion that GLEW has all kinds of folders and libraries and .exe files and versions inside of it, and it took like 3 seconds to print out all the error messages on my first compile attempt.

That sounds radical man, best of luck to you m8.
(checked)
wew lad.

For all you hackermans out there, how feasible is it to reverse engineer a GUID? Suppose I know the input value and output value and I'm trying to find a salt (so I can learn other input values)


Your pic is basically what the FF7 devteam managed to produce after months of work on the PSx. I remember reading an article that they had all their graphics and modelers working together to accomplish it (the basic pipeline) and basically "Debbie from Accounting" style people just rolled their eyes like "that's it?"

Also, I see timestamps like "4,382,624,451" but current unix timestamps are around the 1,505,000,000 mark

Added a page for Löve on the wiki with pros and cons and shit.


Good on you for keeping at it.


In case others haven't read it: rampantgames.com/blog/?p=7745

Yeah, that was the article I was thinking of.
Why the fuck did I say FF7

it is kinda cute imo\
not high quality but cute nonetheless


I updated your wiki entry. feel free to add to it, quoting your posts from the archive etc.


It's all true too, just like 8agdg.wikidot.com/wiki:programming-in-c


I don't think she'll ever be without clothes in the final product


Setting up the IK animator controller with states representing all the possible directions might be helpful. Haven't done much of this myself, unfortunately, so I can't come up with specifics.

This is what I have so far for the overall smart drill production in order to get free ore gibs. Precision drilling at the end is a bit less of a hassle when it comes to dumping apart from having to deal with burnable dirt* and broken drills. So far there is no other uses for the Hardware based items, though it might change when I am going to add soon a few module items and other machinery/structure related items. Also I added silicon ore and silicon plates, the silicon ore can be extract from stones and water for now, which is needed for the CPU production and later on wafer items. I need to make later a much better Hardware production layout so that it is more aligned in horizontal direction too and a central copper/iron-plate requester chest so that drones aren't flying all over the place.

I might change the regular drilling so that it extracts dirty ore instead of clean ones which needs to be washed first with bleach or so. Dirty ore can be smelted too but it will take forever. I need to look into the scrap metal recipes too so that it will be possible to extract some copper shards for smelting. I wonder if I should also get rid of the Resource Generator building since that one is quite unbalanced and I have now a more balanced Ore Mine, so it is impossible to place a Ore Mine into other smelting places such as those that smelts only iron plate for example.

*burnable dirt: I have right now not many ideas how to deal with it so I just leave it as it is, maybe as a place able dirt tile for parking slot so that vehicles slows down faster, apart from that I don't know.

In GameMaker how do I access a 2d array inside an array?

So I have something like this.

array[0] = 1;
array[1] = 2;
array2[0] = 1;

other_array[0] = array;
other_array[1] = array2;

How do I get say [1] in array through other_array?

Something like other_array[0][1]
Or if it was a 2d array, other_array[0][1, 3]

I tried that and it doesn't work though.

Also uploaded the logo without the blurry text to the wiki but I think only the admin can change it.


docs.yoyogames.com/source/dadiospice/002_reference/001_gml language overview/401_06_arrays.html
It says 2D arrays use array[0, 0] format.

I know. I know how to make them and access them, but when they are in another array, I can't.

Oh sorry I misread. What about this? To access arrayOfArrays[0][1]:

var thing = arrayOfArrays[0]
thing[1]

2d arrays in gamemaker are like this array[i,j]. I dont think an array inside an array works. Try lists.

This was a good idea.

Not bad.

Are those stock sounds or did you make them yourself? The laughter and all, they fit perfectly.


Did the penguin of doom write this?

No, it was Ika. I love the aesthetic of everything he does/writes

This had better be the wiki entry for Sigma II

It is.

The easiest way is to think about what the acronyms mean. GLFW is "GL Framework", GLEW is "GL Extension Wrangler", GLEE is "GL Easy Extension" (and is dead), GLUT is "GL Utility Toolkit" (and is nearly dead), GLU is "GL Utilities" (which is firmly deprecated and depends on heavily deprecated OpenGL). SFML is "Small Fast Multimedia Library". So it's really just GLFW, GLEW, and SFML that you need to worry about, the rest are heavily deprecated. GLEW and GLEE do the same thing, but slightly differently, and the latter is dead.

GLEW's headers are huge because it has tons of preprocessor things to handle every different OS and extension set you could imagine. It compiles down much smaller, because most of it is conditionally compiled and gets even smaller when you strip your executable. It's also not the best solution. Like I said, I use glLoadGen to generate a loader. You feed it the OpenGL version you want to target and it gives you an optionally-namespaced loader for it in order to get only exactly the extensions you need (it will also avoid loading deprecated extensions for you). The loader sits in your source tree and doesn't depend on any external libraries or anything. GLEW, on the other hand, takes the approach of loading literally everything it can find.

SFML and GLFW are entirely different paradigms, but they will both handle windowing and input. The main difference is that SFML is a multimedia library, handling not only windowing and input, but also audio, networking, graphics, drawing, etc. You can use it with raw OpenGL, but it's not the main intention.
GLFW, on the other hand, covers windowing and input, and otherwise just gets the fuck out of your way. It gives you a working platform-independent window and gets you the input you want and just gives you an OpenGL context to work with. If you don't need anything that SFML is giving you other than window and input, then GLFW is for you (but keep in mind that GLFW gives you nothing as far as image loading, sprite drawing, or font loading/drawing go; you'd have to do it all yourself, because it's only a minimal library built to abstract away platform-specific things and let you use OpenGL. Manual OpenGL font work with freetype or whatever is a huge pain in the ass).

Either way, with a loader, you're not going to get really tiny. The header has to export function signatures for everything that you might need to use, and OpenGL has a shitload of functions, even if you are firmly trimming deprecated things. glLoadGen gives me a 184KB source file and a 228KB header for the full OpenGL 4.5 set (with all deprecated functionality left out), and literally 223KB of that header is just function definitions and enum members. OpenGL is a huge standard.

>It's all true too, just like 8agdg.wikidot.com/wiki:programming-in-c

Look into libepoxy.

I've heard good stuff about glad too. I don't really have any reason to move from glLoadGen's generated headers though.

Forgot to post the wiki: khronos.org/opengl/wiki/OpenGL_Loading_Library

I prefer loader generators to loader libraries, because then I can force trim deprecated functionality and get very minimal headers without any necessary external library.

The only reason that it's so complicated is because you're dealing with all these abstraction layers. I'll show you a basic example of what an OpenGL program should look like on windows, using the absolute bare minimum:

a.uguu.se/5HnWbfkHmpET_sample.zip

Look, 5KB for a spinning triangle locked at 60fps. No giant libraries or bullshit. Less than 100 lines. The linking process is literally:

tcc main.c -luser32 -lgdi32 -lopengl32 -o ht.exe -Wl,-subsystem=gui

That's how simple it is. You don't need anything more than those three libraries to do things, and they all have a purpose. user32 is the system library for creating a window. gdi32 is the system library for drawing to that window. opengl is opengl…
Also, you don't need libraries for loading OpenGL extensions, it can all be done in OpenGL just fine.

Tickling his funny bone.

Seriously nigger? The voices are from Shao Kahn

It's not me, although I will be posting stuff like this in about a month. I'm only using cubes because they're simple, but my editor will support more shapes later.

I've got a test to study for so im not making much progress this week.

Is it easier to make something super basic in Unity or super basic in Game Maker?

you start with pong

well game maker but then you learn game maker that is only good at making game maker games. and unity is not that much harder

so i would recommend unity if you where ever going to go 3d or you know more complicated than a plat former. that being said there are some neet little gm games that are making the developers cash. so…. depends on what you want to make. 2d or 3d?

What do you guys use to record your gameplay?

Guess I'll try Unity since I never did anything in 3D

Loonix here, Vokoscreen.

Shadowplay, Relive or OBS + Webm for retards
This screams for a wiki entry, gets asked pretty often, i'll write one

I splurged on a crummy HDMI recorder that can record [email protected] or [email protected] without putting any extra stress on my PC (Avermedia Game Capture HD II C285)
OBS is a good cross-platform solution.
obsproject.com/

720p at 60fps or 1080p at 30fps.
Tried to use the @ symbol and Holla Forums had a hissy fit.

Took a break to draw godot as an anime


That's really interesting, thanks for sharing.

Honestly if I was able to, I'd prefer to make something like SFML myself, but when I watched Handmade Hero it seemed like a gigantic clusterfuck just for the Windows specific part. Assuming I don't give up some day, I'll probably slowly replace all third party libraries with my own. I like to know exactly what's happening under the hood because it makes me much more confident about what I'm doing and gives me more control and because I'm terrible at using other people's systems.

Reload the page and it'll be fine
They're using some really really shitty regex for that which doesn't even know that email addresses need a dot something at the end

That won't work for modern OpenGL (anything above version 1.1, which was released 20 years ago). You're using immediate mode there. If you want to use modern OpenGL, you need to load extensions, and doing that by hand is a fucking mess. You're absolutely best off using a loader of some sort.

And a loader is not an "abstraction layer" in any way at all. It loads function pointers and attaches them to their signatures, it doesn't abstract anything other than platform-specific calls, and it's not a "layer" because that abstraction is finished when the loader call is done.

Yeah, if you really want to fuck with wglGetProcAddress and glXGetProcAddress and write out all your prototypes by hand for every single function you want to access. Fuck that. Use a loader. There is no runtime overhead for any loader past startup. If you use glad or glLoadGen, there is very minimal size addition to the final executable (especially if you strip your executables like you should). There is literally no reason to avoid a loader unless you love pain or you don't need OpenGL above 1.1.

8agdg.wikidot.com/recording

Started on projecting walls to screen space. Had to fix my draw order as I forgot that you needed to check at each node to know whether to branch down front or back children. I thought I'd fucked up the tree generation or something at first. I'm not sure how elegant the projection math is but at least it supports variable FOV and junk.


That's a qt.

I just made that program to point out that you don't need to use that many libraries just to use OpenGL. It's pointing out that linking OpenGL is actually pretty simple, so that you don't need to confuse yourself about the huge amount of helper libraries that it has just to use it. If you want to use a loader go ahead. I personally don't use a loader, and I make sure that my program doesn't require any extensions.

This is a perfectly valid OpenGL program. If you want to expose the features in the newest version of OpenGL, just load the extensions. The point of the program wasn't to actually use the features of OpenGL beyond the simplest possible example to prove that it works.


Well which one is it?

The sharex and obs links are both dead.

nevermind

That is a valid OpenGL 1.1 program. It's a bad example, because it only proves that without a loader you can access OpenGL immediate mode without any access to buffer objects or shaders or anything else modern. The person you are responding to is complaining that they couldn't get their shit done without GLEW because they can't access any of the functions they want without loading them in. Your answer is to not use any OpenGL functionality created within the past 20 years. That's fine for some situations, but it's clearly not helpful to the person you are talking to, otherwise they never would have run into issues not using a loader in the first place. As soon as they want to use a VBO or a shader, it stops being reasonable.

It's an abstraction. It is not an abstraction layer. It abstracts away the pointer lookup functions (which already abstract away dlsym and the like), but does not act as a layer between your program and the functions, because all they do is set up function pointers. Once the loader is finished running, your program never touches the loader again; not as an abstraction layer or as anything else. All your calls go directly into the OpenGL library.
Again, you could use pure OpenGL to just load in all the extension functions by hand, but why do that when almost every simple loader generator (like glad and glLoaderGen) give you a loader that does literally that and nothing more? You can do it by hand or you can generate something that does the exact same thing.

Do you have a large devteam or are you willing to spend 30 years on it?

Pretty noice

But can he beat Coldsteel? checked

doesn't unity own the games you'll make so you don't really have a right to it.
or that's what I've heard

volumesoffun.com/polyvox-about/

You'll have to write your own renderer. There are plenty marching cube examples out there.

FOCUS ON AGDG FFS OR YOU'LL BE STUCK HERE FOREVER
Someone send some productivity vibes my way, pls.

yes, and?

The guy i'm responding too seems to be trying to set up SFML or something, and then seems to be confused about what you have to do to link OpenGL to it. There aren't issues about not having a loader, there are issues about "I know nothing about OpenGL, what is all of this shit"


What's your point here, aside from "Muh modern OpenGL" shitposting? I have already pointed out that you can use all the features of OpenGL without having to link to anything else.


They don't have a program yet and they're just reading about what you need to do to make a program from what i've read.


glr->gl_vbo_support = glr_extension_support("GL_ARB_vertex_buffer_object"); glr->gl_anistropic_filter_support = glr_extension_support("GL_EXT_texture_filter_anisotropic"); if(cvar_geti("gl_use_vbo_ext")){ if(glr->gl_vbo_support){#ifdef __SIGMA2_WINDOWS glGenBuffersARB = (PFNGLGENBUFFERSARBPROC) wglGetProcAddress("glGenBuffersARB"); glBindBufferARB = (PFNGLBINDBUFFERARBPROC) wglGetProcAddress("glBindBufferARB"); glBufferDataARB = (PFNGLBUFFERDATAARBPROC) wglGetProcAddress("glBufferDataARB"); glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC) wglGetProcAddress("glDeleteBuffersARB"); #endif #ifdef __SIGMA2_UNIX glGenBuffersARB = (PFNGLGENBUFFERSARBPROC) glXGetProcAddress((const uint8_t*)"glGenBuffersARB"); glBindBufferARB = (PFNGLBINDBUFFERARBPROC) glXGetProcAddress((const uint8_t*)"glBindBufferARB"); glBufferDataARB = (PFNGLBUFFERDATAARBPROC) glXGetProcAddress((const uint8_t*)"glBufferDataARB"); glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC) glXGetProcAddress((const uint8_t*)"glDeleteBuffersARB"); #endif glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); } else{ con_printf("WARNING: GL_ARB_vertex_buffer_object is not supported! All rendering will be done using openGL immediate mode."); } } else{ glr->gl_vbo_support = false; }

WOOOOOW ITS SOOOO HAAAAAARRRDDD mom are you watching? mom!


It's a library that's only features are to use another library. It's an abstraction layer because it doesn't have features that the library it's written on top of (OpenGL) doesn't have. I don't see any value in arguing about this because its just semantics.

Wrong
That's one of the first things mentioned in the EULA.
Unity does not own the games you make, and here in the US any code, assets, and the like are protected by intellectual property + copyright laws.

No but if your game makes a certain amount of money you have to buy their premium version.

What do you guys think of the jumping here? Does it look alright? You can do a small jump and a big jump.

What you're looking to do is essentially create a 3D array. GMS doesn't have 3D arrays yet, but it will in GMS2 at some point in the vague future.

One thing you can do is, every time you want to access this array of arrays, is to copy the entry you are accessing to a new variable, and then access whatever entry you need from there.

It's very annoying but would work.

Something like

new_name = array[1](which is a 2D array entry in a 1D array)

now new_name[1,0] should give you what's in array[1,1,0], hypothetically.

The only problem is that if you change anything in this 2D array and want to save it in the 1D array, you have to rewrite it. It's sort of clunky.

If this doesn't work then I don't really know. I considered trying to do something similar for an inventory system but ended up just moving to a 2D array and consolidating information a bit.

So your only arguments are

* It's wrong to use new features in order to have cleaner code and more efficient operation for some unspecified reason.
* It's stupid to use a loader generator when you can write exactly all of the same code that the loader generator will give you by hand for literally no gain, even when the generated loader is a small in-tree stub and not an external library (I noticed you conveniently leaving out the fact that your code only works after all of the global function pointers are properly set up with their signatures above, or the fact that your code literally sets up 4 functions out of the 653 extension functions that OpenGL 4.5 defines. Have fun setting them up. I do appreciate your nonsense shitposting though)
* A library with a single function call that sets up function pointers is an "abstraction layer" despite being nothing more than a single convenience function and some global pointers.

You don't see value arguing this because you suffer from NIH syndrome and refuse to take advantage of useful tools for literally no reason. You argue that making your code more complex at literally no cost is somehow an advantage. You come off as a horrible amateur, because the shit you preach quickly spins off into an unmaintainable mess in any professional environment (and I've seen plenty of these unmaintainable messes professionally where somebody decided to "just do it themselves" when a better free solution was available).

Head of the VHS horror thing again. Hadn't seen the stuff on the wiki. I guess the project is dead (for now).

The team were cool guys and I definitely hope they find success with other dev projects. Expect to hear about the as-of-yet-untitled horror game some time in the future when I'm a better developer.

You may want to tweak the deceleration a little bit, there is a real sweet spot between too floaty and hard physics.
I suggest searching google/youtube for mario jump physics. The early titles made their fortune on good jump mechanics.

thanks

I never said that. OpenGL 1.1 has much cleaner code than the newer versions, so it seems that it works in the opposite way: that's why abstractions are easier to use, but less efficient

I said you could use it if you want, my point was that you don't need it.


I already said, that this is just semantics. When I first said "abstraction layers" the post was referring to all of the helper libraries for OpenGL. I think that you're so stuck on this point because you're attaching a stigma to abstraction (layers)? and it's bothering you that I keep calling it that… really the label isn't that important.

Do you expect to use all 653 extensions? I didn't think so… if you want to see the full code, here is the rest:

//NOTICE: sometimes glext.h defines these types up here. If you get that, just comment all this shit out and compile it again.#ifdef __SIGMA2_WINDOWS//VBO extension function pointers (credit: nehe.gamedev.net/tutorial/vertex_buffer_objects/22002/)typedef void (APIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);typedef void (APIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);typedef void (APIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);typedef void (APIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, int size, const GLvoid *data, GLenum usage);#endif#ifdef __SIGMA2_UNIX//sorry that you are stuck with the WINDOWS style headers typedef void (* PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);typedef void (* PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);typedef void (* PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);typedef void (* PFNGLBUFFERDATAARBPROC) (GLenum target, int size, const GLvoid *data, GLenum usage);#endifPFNGLGENBUFFERSARBPROC glGenBuffersARB = NULL; // VBO Name Generation ProcedurePFNGLBINDBUFFERARBPROC glBindBufferARB = NULL; // VBO Bind ProcedurePFNGLBUFFERDATAARBPROC glBufferDataARB = NULL; // VBO Data Loading ProcedurePFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB = NULL; // VBO Deletion Procedure

bool glr_extension_support(const char *ext){ char *gl_ext = (char *)glGetString(GL_EXTENSIONS); if(strstr(gl_ext,ext)){ return true; } return false;}

Really, i'm just trying to say: If you aren't using a feature, then don't use it. Do you really need to link to 7 libraries and use the latest OpenGL standard to draw a triangle? The answer is no. Do you need shaders or VBO's for some basic games? No. I wrote the program to prove that it doesn't need to be that complicated. You should only be using the latest version of OpenGL if you actually have a use for the features it provides. Otherwise, you're just locking out legacy hardware for no real reason.

Not a bad way to handle it I think. As your game expands you might find yourself using quite a bit more of the gl function calls. GLEW will make sense at some point. It also has a system to allow multithreaded calls into opengl functions, which can be very handy if you are doing multi-gl-contexts in a multithreaded application.

GLFW is really nice to handle all the window and input handling on all the major OSes with very little pain or overhead. It's a pretty small library too. It can also handle multiple windows and multiple GL contexts.

I was really hoping to figure this out myself, but this shit is like playing with fire, so I need some help from people that probably know what they're doing. I'm trying to recreate FFX's turn system in Godot (though I'm just trying to test the calculation right now). From what I understand, every character has a "tick" value based on their speed. Everyone's ticks are counted down at the same rate and reset when they're at 0. When a character's ticks hit 0, that character gets a turn, which shows up on the right side of the screen. Tick values change depending on a character's actions, so I assume they're constantly being recalculated every time you do anything. There's more to the variables of it all, but I think that's basically it. There's a more detailed explanation in this Pastebin.
pastebin.com/dFu2EYdZ

The al dente spaghetti code I've made is supposed to run calculations from three different nodes, all of which are identical, then add a corresponding name to an array whenever their numbers hit 0, and this repeats until the array has 5 values in it. Thing is, only the code of the first node under the root is run. For instance, with the way the it is in the fifth pic, the array would only fill with "Auron," but if I put Rikku on top, it would all just be "Rikku." Is there any way I can get all three to run at the same time without setting my computer on fire?

pls no bully

I already am implementing the code for window and input handling myself, this is because there is some behavior which requires lower level access to the controls that I wanted to get.

My code will always look more complex because I duplicate functionality, so that extensions for stuff like VBO's, for example, are optional, with separate code for rendering the game completely in immediate mode.

In a future refactor I will have to stop linking to Vulkan and just search for the .dll, and then read in all of the function pointers by hand. (on Linux people can just compile it out so whatever) "API without secrets" does this as well. In fact, I will have to do this with all of my libraries… I also will need to make another file exclusively for reading in function pointers by hand because I don't want to mix it with logic.

Look at the condition for your while loop. Im not 100 percent sure on how things are processed in godot yet but im pretty sure that unless you specify to use threads or something code will run one line at a time. So while you think all the processes for each node are running at the same time the engine will do one nodes process, then the next, one at a time and so on until all the processing for a frame is done. So with that i mind remember auron will have his process started first and the way you have it set up he will fill the turns first.

I didnt read your pastebin but i think you might want to use delta to count time and adjust on the fly how long in seconds a tick is.
So it would be something like
X += delta
If x > ticktime
X = 0
#one tick has passed. Do stuff
Hope this helps

Also i should add, one of the last things you want in a process function is a while loop. Its not bad on its own but be mindful of how much code you have in there. Its being run many times a second so a lot of code in a loop can slow down your game.

in Godot, fixed_process runs exactly 60 times a second, which is probably faster than he wants but there's it's not necessary to multiply by delta. It would make it simpler to reach a specific tickrate though. You are correct about the while loop, replacing it with an if statement with the same condition should fix his problem.

Welp, swapping the while for an if worked perfectly. Thanks. Anyone ever feel like slapping yourself in the face?

multiply by delta?

*add delta, my mistake

ah alright. Also fixed_process is the slowest process godot has I'm pretty sure. _process will run as fast as your computer can run it.

Testing it now, _process is definitely faster. For future reference though, is there a better way of housing the turn order than in an array? If you look the embed, the turn order updates the second you move your cursor over certain moves. Updating the entire list every time this happens seems inefficient and way too slow.

That list isnt very long. There are other ways but its faster that you think. Also assuming its possible to tell when a person will make their turn by how many ticks they have and how many theyll get when they are out, it really would not take long to spit out the turn list.

Also i get the feeling like the game doesnt actually insert the character into the turnlist when you hover over a move.
It most likely figures out where the turn would be depending on the move and shows it to you. It probably only inserts it after you select the attack.

That makes a lot more sense. I figured there's gotta be an actual turn list and a projected one.

And even then, "TrueCraft"(don't remember the actual title) does a much better job of remaking Minecraft, right down to the 1.7.3 Beta.

I'm late to the party but what i learned from the time i tried to make an rpg is that pretty much all the stats have a base version, current version and duration; also to use dictionaries to store data and update it to nodes instead of storing it in the nodes first.

Gaming laptop for /agdg/? I want to give up my desktop and get something I can take with me. Alienware size stuff does not bother me, I am looking for more of a portable workstation I can plug in. Mostly do modeling.

pcpartpicker.com/b/HMLD4D
ebin

How do dictionaries work? I'm reading some stuff about them right now, but I'm not entirely sure what I'm looking at.

Short explanation: it's a set of key-value pairs.
Instead of getting a value stored at a list index, like someList[0], you're getting a value that's referenced by a string: someList["keystring"]

Excuse me, associated with a string.

I'm no programmer, but do you need 3 nodes to calculate out turn order? One should be enough I think.

Designate this one node the Turn Counting Node. At the start of combat, have the Turn Counting Node read the Agility values of everyone on the field (Char 1, Char 2, Char 3, etc.) and convert to a list. Run this list of Agility values through a conversion table (such as the one in the pastebin you posted) to get a list of Tick Speeds (Tick Speed is defined as how much "time" it take before each character gets their turn). Add a bit of RNG to the Tick Speed List and subtract from every element in the list the lowest element found in the list to get the Initial Turn Counter List. Each element in the Initial Turn Counter List corresponds to a specific character on the field and how long they need to wait before their turn (eg. a 17 in element 2 would mean character 2 has 17 ticks to wait before their turn. A 0 in element 3 would mean it's currently character 3's turn).

Each Element in the Turn Order List will consist of a number and a character. To populate the Turn Order List, take the first element in the Initial Turn Counter List, add it to the Turn Order List (paired with it's corresponding character), and compare with the highest value found in the Initial Turn Counter List. If lower, increment by the Tick Speed of the corresponding character, add the result to the Turn Order List (again paired with the corresponding character), and again compare with the highest valued element in the Initial Turn Counter List. Once equal or above, move on to the second element of the Initial Turn Order List and repeat the process until you've gone through all the elements in the Initial Turn Counter List. Finally, sort the Turn Order List from lowest to highest.

You now have a fully functioning Turn Order List. Each element in the list consists of a number (indicative of how far away the turn is) and a character (indicating whose turn the element represents). This turn order list can be acted upon or modified by any other Node by simply telling the Turn Counting Node what to do with the list. Eg. if a character received Haste, the Node representing that character tells the Turn Counting Node to take every turn representing that character and cut the time value by half. A recalculation may need to be done afterwards to ensure no turns are missing.

basically a bunch of variables stuck together, more here:
godot.readthedocs.io/en/stable/learning/scripting/gdscript/gdscript_advanced.html#dictionaries
when you have time, you should read the whole thing, some of the stuff there isn't mentioned elsewhere.

it doesn't tells there but you can loop through the whole dictionary using a for loop, pretty useful when converting the base stats into battle ready stats

forgot to ask what are you working on? depending on your answer i might want to work as a team.

8agdg.wikidot.com/not-chrono-trigger
I'd rather work by myself until I've got a working prototype, though. Nothing personnel, I just wanna work by my own pace.

I had an Alienware for a few years. They're overpriced shit, find a company that will put together laptops with custom hardware for you if you don't want to do it yourself, you'll get a better laptop for the same price or the same for cheaper. In Alienware shit you mainly pay for the appearance and brandname, not the quality of the hardware.

I knew I'd be doing pixelshit going in, but it's always still a pain in the ass spending a couple days drawing stuff and then you put it in and fuuuuuuuuuck it's so bad.
The animation is awful, especially the reloading, and the gun is way too small in the kid's hands.
I'm going to need to redraw it all.

At least the casings and smoke came out all right. And I rather like the sound effects, so it's not a complete loss.

...

looks fine to me except maybe the reload should be sped up a little

Hi user. The system you're trying to implement is called CTB, or Conditional Turn-Based battle system. Some buddies and I are developing a Mother-esque RPG and we chose to implement the same system you're using. We, too, ran into a lot of trouble.
I've never used Godot; our game is being developed in Gamemaker, but maybe by taking a look at our code and understanding why we did what we did you can get a good grasp of what you could do. It was a pain in the ass trying to figure this out (especially since we were all really amateur programmers) and I wouldn't wish it on anybody. Wall of text will ensue. If it doesn't make sense, try referring to my code and attempting to make sense of it directly, or just look up examples of CTB engines until you find something that you need (that's how we solved it). Regardless, I hope this helps..

Our system automatically generates an array of nine values (called the order[n] array, essentially the master turn queue used to control player turn rates) consisting of battler object ids. These values correlate with the turn order of the current battle, indicating which battler moves in what order according to their given Agility scores.

To do this, it runs the order[n] array through a for loop and checks to make sure all of its indexes are filled. If an index has no value, the script creates an array of timers, one for each battler currently in combat. The timer's value is equal to its respective battler's wait time variable, which is essentially our speed value. The lower the wait time, the "faster" the battler (and the more they will appear in the queue). So, for example, an actor with 150 wait time will have a higher turn rate than an actor with 350 wait time.
The script is set to check through the array of battler timers. If none of them equal 0, it decreases all of their timers by 50. As long as the order array index has no value ("noone" in gamemaker language, usually called "null"), it will continue to process this script.
Once a battler's timer finally reaches 0, they are queued into the current order array index. Their timer is also reset back to the battler's base wait time. The script now sees that the current order array index has a value and moves on to the next spot in the list–the next iteration of the for-loop–where this process continues until all nine array nodes have been filled.

The reason why this works is because the timer values of each of the battlers are retained in between for-loop iterations. So say a character's timer hits 0, and their opponent's value is at 100, the character's value will be reset back to full while the opponent stays at 100. The next iteration of the for-loop remembers both of these values, giving the opponent sort of a "headstart" in the countdown. This advantage allows the opponent to achieve a placement on the order array that is naturally concurrent with their given agility.
If two or more battler timers reach 0 at the same time, the battler to be queued will be the battler that is higher in the game's intrinsic battler_id array. It's a sort of weird built-in priority system.

By the way–in our system, "speed" as a value basically doesn't exist, the whole turn calculation is done entirely with "wait time" (meaning low numbers are always faster). If you prefer a system where high numbers are faster, you just have to inverse the algorithm by setting it to count timers up rather than down and then applying some arbitrary value for the timers to reach (like 2000 or something). We prefer counting down to 0 because it allows us to balance the whole system around the fastest speed possible, if that makes sense.

If you have any questions, let me know. It's difficult drafting this when I don't know exactly which aspects are self-explanatory and which aren't. Tell me if there's anything specific here that you'd like me to address directly.

So what other weapons are you planning on adding?

Just look up one of the in depth battle mechanics guides on GameFAQS

The spooky atmosphere + doom style handgun reminded me a lot of this.

Not much, just enough to defend yourself.
So far, I'm leaning towards a melee weapon (leaning towards a fire poker), an unspecified pistol (a friend is insisting it should be a Glock 19), maybe something else depending on if there's a niche that isn't filled. And a silly easter egg weapon for fun.


Amazing. Well, that's one option for the easter egg weapon, it'd be hilarious to just be carrying a mortar launcher around.


Yeah, Realms of the Haunting was something. A lot of interesting ideas that weren't really executed very well.
I did really like the aesthetic style, though. Maybe that's shining through here, a bit.

...

Long-time lurker. Just made my first small game and put it on the Android app store.

play.google.com/store/apps/details?id=com.TeamJape.TheBalanceChallenge

Would like some feedback, if you've guys got. Mainly on the difficulty, but any shit-talk will do. There should be 30 starting lives, which should be enough to play-test.

That's my high score so far

why are these threads so shit

Are you sure about that.

I'm at a loss for words.


yeah, he posted at least once before.


it's too fast for a kid imo

Fam, whoever wrote those comments is a retard.
Come on.

Yeah, I've posted once before. I've been lurking a lot, though. I mean, I'm not close to what you guys are doing, in terms of quality. But you gotta start somewhere, I guess.

using the same post for both here and halfchan seems pretty lazy, don't you think?

Can you post a link to an .apk of your game? I don't have an android phone but it should work on Bluestacks.

You should have posted here. As you probably can tell, we bite a bit less than 4chan but we're suspicious of shilling. Especially that Team Jape did have a chance to share progress on multiple projects.

What the fuck is that image supposed to show?
And why do you hide the IDs?

I'm just going to build the "full version" apk. Is there a good spot where one could upload it? Is there a size limit here?

12 megabytes, mate. lurk more.
You can use catbox.moe or something, that's up to 200 mb and is what I use.

files.catbox.moe/nxc7uu.apk
Does this work? I had troubles accessing it on my phone, but it worked on my desktop.

Didn't you post a platformer here before?


It's a screenshot from 4chan's /agdg/ thread on /vg/, which has no IDs?

Yeah, I did. That was collaboration amongst friends, though. This one I made myself, after making some prototype on a LAN-party, and the kids seemed to enjoy playing it quite a lot.

So I developed it a bit further, until this point. I've been updating the application during the week with feedback I've gotten from friends, but thought it'd be good to get some feedback outside of my friends' circle.

Oh, yeah, continuing: if everything seems hamfisted or that I'm shilling, it's because I just don't know what to do. I'm a bit timid, so I haven't posted much during my development, because I thought no one would think it's interesting. But then again, eh, maybe I shouldn't think about it too much. People like watching things develop. I will definitely do it more when I'm finished with this, and start with the next project.

You've already been more responsive and less defensive than shills tend to be, don't worry about it too much. It's just suspicious when someone not easily recognizeable suddenly posts a link to their finished game.

I haven't seen anyone complain about progress no matter how small it was, it's always nice to see what people are working on even if it isn't very special.

It's the game set in Texas? How does that children knows how to shoot?

I figured that if I kept my eyes on the goal, to get feedback, I wouldn't get too defensive. Because I am asking people for a favor, after all, to take time out of their lives to test it. If they've got complaints of how I did things, then I should try to learn from that.

That's my (new) thought process, at least.

Well, since nobody cares about demo day anymore, I'm legitimately wondering if investing time in a demo is worth it or if I should focus all my energies in finishing the product. Opinions are welcome.

I'd participate but I'm just not good enough yet, what are the dates exactly of the demo days anyway ?

I'd probably participate if someone just started a demo day.

I've been learning new stuff instead of working on my game though, so I don't have much to show that I haven't already in the past.

There were three proposed. (dd/mm) 11/09, xx/11 and 11/11. xx because I don't remember and it wasn't doubles . But nobody care to even discuss the thing, I guess nobody is interested.

I'm interested, but I severely doubt that I'll get my game to a demo-worthy state in 2 months or less.

What about just going with dub day/month like 9/9, 10/10, 11/11, 12/12. Less one big thing and more just a day to aim towards each month to have playable progress.

One time every month seems good.

I think every month would be too frequent, there's not that much progress you can make in such short time, especially for those who don't have a lot of free time after school/work. Plus it might make people focus too much of their effort into making demos all the time.

One time every two months ?

Making once a demo day once a year is better. Also, 11/11 is quads.

If we want some sort of focused release of demos of all or most games, once per month is probably too much. Then once every two months might be fine. One demo day per year is definitely too little, I feel like 3~4 times per year is the minimum if we want to be serious about this.

One time per trimester, on dubs day ?

11/11, 8/8, 5/5, 2/2 then?

Every 2 months at soonest. Personally I think it would be nice to have one demo day per season, i.e. 4 times a year. It's hard to say since it hasn't been tested, we can always change the interval later.

This guy has the dates
I'm making a mock logo.

My game's not one that can easily be demoed, really, being fairly story and atmosphere heavy. Basically makes most progress intangible. I have an idea that I think will be good, and by God, I'll make it happen, even if it turns out to be shit in the end.
Maybe in a few years, for whatever my next project will be.

Sounds good to me.

Also 11/11 would give plenty of time to get ready for the first one.

Sounds good. A bit of a shame we can't hit 8/8, 11/11 and Cirno Day at the same time, but eh

Demo day?

No I prefer once per month. More feedback is better and it might motivate people is a date is coming up sooner.

That seems good.


Yeah you're probably right.

If you like it put it in every new thread so people can remember.

Somebody has to put this on the wiki.

Just post and explain in game what the progress is.

Make the gun a revolver, lad. They are easier to use, so it's more fitting for a child using it. Revolvers also have an older charm to them, and that could fit in quite well with the "spooky old stuff" theme. Make it a single action one so it has more of that old timey feel to it.
Just my 2 cents.

Do it anyways. Distributing free demos is a good way to also get free bug testing and reporting.

Thought it might be handy to have something with all the dates on.

Some generated names for maces (the end goal is to have higher level gear have longer names)

send help

8agdg.wikidot.com/demo-days

...

...

plz never make a webm that is shorter than the video players toolbar

Since length of the name means more power, are the names completely random or are they correlated with the attributes of the item?
Instead of being just a gimmick it'd be tied directly to the gameplay.

I use authentic papal names but they get mixed to create mostly fictitious names. There is a chance that John Paul II gets generated but they are very very very low and will get lower as I add more.


sorry I fugged up. This should be pausable.

Got rough wall heights in. Might cheat and use a pixel shader to draw surface textures.

What do you plan on doing with that ?

Well how about his all-time favorite dessert? :^)


Fugg :—-DDD

Fuck, it was meant for

I wish I had an external HDD so I could get my important files, do a factory reset and install Windows 7 on my computer.

A terabyte one is like 20-25 bucks nowadays, mate.

Something vaguely like Hexen meets Diablo.

this is how most modern ARPGs do this, a system of prefixes, suffixes,a ffixes and rarity.

currently all the generated names are actually the same length (well, popes don't have the city of origin yet).
So a high level item would be

and a low level would be

When you see the item name, you should know which one is more powerful just from the name

But currently these names don't do anything more than that. The idea is mainly to make practically every item 100% unique so that players feel connected to them. I'm not sure if that will work but I hate the rush to get "That one named item" everyone will use in today's RPGs

The magic properties will still be applied, of course. They will just be hella random


It's a delicate balance between admiration and blasphemy. But imagine actually GETTING an item like that. Whew, lad.
Also, I am likely alienating protestants by adding saints at all, wonder if anyone gets offended

Where do you find them for $25? I only ever see $50 at the cheapest outside of the rare sale.

WHO CARES

don't worry they are just heretics

...

Try to offend people on the left, it's free publicity. Make it so holy maces kill homo demons faster.

I was pretty autistic about documentation back when my buddies and I were just getting into GML. I figured I'd need to write entire translations of code blocks just in case someone needed to go back and figure out what that exact process did. It was just a shorthand way of making sense of the programming. Kind of like writing in the names of the notes on a piece of sheet music: useful when you're a beginner, but completely worthless once you learn the language by heart.

I though I had some revolutionary idea, oh well.


The marketeer, of course. Controversy around something that minor could be a good advert.

now you need a Muslim level

Modern day christians do not give a shit about the differences between Catholicism / Protestantism except in Ireland

I do though.
For example, Protestant graves are bland and suck big cock.

Is there supposed to be anything in the arrays before the code is run? Trying to check Order[j].empty() throws an error in Godot. I managed to get around Timer crashing the program by filling it with 0s, but your code leads me to believe that Order should be empty. It's probably just Godot being a bitch, but the closest thing to a workaround I've seen so far doesn't work like it should.

I just wanted to learn about loops and arrays before work

I bought pic related for 50 USD each. Look around on auction websites.

It's solely my curiosity.


they called us the saviours of vidya and we believed it.


I find the history behind schisms, sects and heresies very interesting. But I'm glad we mostly learned to live in peace


I don't know any modern ones but the abandoned Augsburg Confession graves I find in local forests are very beautiful in their simplicity

no, not graves. these.

Yes, all of the arrays should have values before the code process runs. I neglected to explain this part.

"order[j]" should start out filled with assigned empty values ("null" values). It needs to be a value that the system can read but still know that the position is empty, so you could even create a literal placeholder object and fill the order[n] array with that for your calculations. In GML, there's a value called "noone" that is read by the game as "containing no object." Other engines have different nomenclature for this particular concept I believe.

"battler_id[n]" should be filled with a list of the literal object instances of your battlers (or at least a way to refer to your actor instance). A list of IDs, essentially. These values are the ones that are input into order[j] during the for-loop calculation.
So for me, it looks like:
battler_id[0] = obj_player
battler_id[1] = obj_ally
battler_id[2] = obj_enemy
etc.

timer[n] should be filled with the "wait time" values of your battlers. The index "n" of the timer[n] array should match the index of the battler_id[n] array, so that you can pair the indexes of these arrays and cross-reference them during the for-loop.
So, for example, if the "player" battler has a wait time of "300", then "ally" battler has a wait time of "450", and the "enemy" battler has a wait time of "650", the array would look like:
timer[0] = 300
timer[1] = 450
timer[2] = 650
Note that the index of the timer array always pairs with the index of the battler_id array, so you can refer to an integer, n, and refer to the same placement on both arrays.
So in our examples, index "0" can reference the values of both "obj_player" and "300", which is useful for our for loop which cycles through integers.

Both the battler_id[n] and timer[n] arrays need to automatically generated somehow before the battle. For battler_id[n], I recommend some automatic code process which logs every actor entering battle, and for timer[n] use another for loop to automatically find the "wait time" values (the speed) of every actor object.
Obviously the "wait time" value will need to be an intrinsic variable that you can call upon from all of your actor objects.

In the end, once the calculations are done, the order[j] array will end up looking something like:
order[0] = obj_player
order[1] = obj_ally
order[2] = obj_player
order[3] = obj_enemy
order[4] = obj_ally
order[5] = obj_player
etc.

Now actually updating this list in real time and resetting the list once combat ends, is, of course, a completely different story. I hope this answers your question regardless.

Thanks, user. I've gotta go do shit, but I'll test this when I get back.

Good luck lad. I'll hang around for a couple more hours if you need anything else.

Got to play your game.
the concept is fun but will need to be tweaked in order to make it work.

As said before, I don't have a smartphone but I imagine touch controls would make this even more unwieldy. Playing with mouse was annoying, playing with keyboard was a bit better but still the "ball" gains momentum way too fast. I get it, tapping is the best strategy to be precise but it feels inconsistent. The difficulty increase should be more gradual in my opinion

My wife saw me play the game and asked me "why is this santa black?"
So i switched his skin colour and cycled to see the Ka'aba. what the fuck. I'm being trolled, aren't I?

And I hope that Robin Grey either gets paid for being featured or that you'll be switching his music to something similar cos it's okay

Why the fuck do you need some C# app making IDE to learn basic programming?

...

I don't know where the setting of the game is, yet.
I'm taking huuuuuge inspiration from Japanese puzzle-horror games, so I'm extremely tempted to set it in sushiland. But at the same time, a lot of the existing games in that vein were set in America.


Revolvers are more difficult to animate and I'd need to whip up some different sounds, but I do love revolvers. They'd be very interesting to have.
I'll give it a shit.

openclassrooms.com/courses/learn-the-basics-of-javascript/introduction-to-programming

javascript is a shitty language to actually use, but it's great as a learning tool, as you can literally press F12 in your browser and get going on the console

I'm ready for a new project, I've made tons of prototypes, I've sold a few asset packs, now I'm ready to work on a full game with some of the money I made.

What should I make;

A pirate game
A space pirate game
A skeleton game

Whichever you want to make. Which should totally be the skeleton game.

Gee, I dunno.

What kind of skeleton game are you thinking about?

heve you ever played Amulets & Armor by any chance? That shit inspires the hell out of me.

Daggerfall a shit


yea do that.


I have a vague recollection of a thread building up lore on a skeleton civilization that is killing humans to harvest their bones and muscle golem stealing their flesh. The skelles drank milk to grow in strength and the wisest of them sacrificed their bones for other skelles but their skulls became part of an overlord hivemind.
There's a lot one could do with a world like that.

Make a skeleton game, bro.

If you're killed for your bones, do you wake up in your skull or is a new consciousness created?

nah the skeleton is trapped inside you, it wants to be freed.

you can and should partition your hard drive so it acts as two during install, I have been recycling the same system for about a decade now

Those can easily be combined into one idea.
Of course those are more "story" than "gameplay", but you get the idea.

there is so much wrong with your code that i don't know where to start.
that is because Order is empty. before trying to check an element in an array you should check that the array has element is it, adding "if !Order.empty():" at the start should do
also lowercase your shit, "Order" and "order" are different for godot
"var Order = []" should be "var order = [0,0,0,0,0,0,0,0]" if you want to access it with indexes otherwise you can use var "order = []" before the loop and "order.append(BattlerID[i])" during the loop, pretty useful if you expect differently sized parties.
"if Timer[i] == 0:" should be "if timer

use godot, it has no dependencies and requires no install
since you can execute everything from a memory stick, is pretty useful for those who work and can gamedev at work and at home, that is actually the major feature why i keep using it

...

If you actually read the original comment, you'd see they wanted to learn about loops and arrays, i.e. structures that are the same in literally every language.

skeleton pirate game

SPACE PIRATE SKELETONS

No the space part is pushing it. Thematically pirates and skeletons go well together.

Space Pirate Skeletons haven't been done yet though. It could be done..

Finished my suit.

Theres a skeleton pirate game?

I haven't. Hopefully it's clearer when I'm further along. I don't want to idea-guy paragraphs out at people.


Has skeleton pirates that sail their ship on the surface of the sea from the underside been done before?

Don't think so. There are hardly any good pirate games.

I love pirates so I've spent a lot of time thinking about how i'd do it but honestly, it's really hard

Ship combat isn't easy. Movement on a moving platform with pathing. Then the combat is weird, it's a mix of melee with one shot range weapons..

It's just hard to make it work well as a game. I love the theme, I have nice assets for it, but I struggle to come up with a design.

This better, user?

Start by ripping off Sid Meye's Pirates! and then go from there. It's a solid foundation.
fuck me I'm in the AGDG thread again instead of Blender

Have the ship remain stationary and have the ocean move around it.

If you'd actually read his comment before that "original" comment you'd see he wanted to learn about those things before work now yeah, but wants to learn C# specifically.


It's actually a match made in heaven, isn't it?

have the pirates move relative to the ship and parent the other ship to it via pic related

now i want to make a game where you pilot a robot that pilots a robot that pilots a robot that is also a pirate spaceship


I also misunderstood the "before work" part


almost
docs.godotengine.org/en/stable/learning/scripting/gdscript/gdscript_basics.html#example-of-gdscript
also try to separate the data from the nodes unless you want to have them loaded all the time

...

redo all of it with the timer class.
godot.readthedocs.io/en/stable/classes/class_timer.html

Except the turn order is supposed to be generated near-instantaneously, having an actual timer would make no sense.

my hard drive failed and i'm not sure what to do

Start over, but make backups this time.

i have no motivation whatsoever

Take a break. Go for a walk. Clean your room. Work on another, smaller project to maintain your momentum until you feel better about starting over.

I GOT UV MAPPING TO WORK ON MY SHIT WOOP WOOP

now to figure out how to slap together materials to get different terrain types working

I wonder if I'll actually be able to use the material/shader/whatever I made in blender that changes color and texture based on the face normal, shit was great for a grass/cliff distinction

good book or a meme?

Shit, son, never heard of this.

the guy who wrote this book is jason gergory who worked on the newer naughty dog games, although reading it now, it's kinda of a slog to get through "what is a game" and all that gay shit.

Can't you just skip that and go directly to the nuts and bolts? I'm startled by the number of pages though.

Watch Hebrew Dogs 2? Isn't it that one game that features a fat bulldyke as a ((hacker))?

maybe, but it's intended to read by page, as it may be useful as a refresher if you're retarded

I'll assume you are retarded since baits aren't common here. Watch Dogs is by Ubisoft, (neo) Naughty Dog is the company who makes Uncharted.

Haven't done much coding or anything as of late, wrists were fucked for a while (the jokes write themselves) so I took a month hiatus. Back to the grind, working on animation and I have a finally half decent looking walking animation. Digitigrade/Plantigrade hybrid legs are a BITCH to draw but I think it is coming along great.

Also got some plot elements working in my head and combat mechanics planned out.

I think I'm reaching the absolute peak of nadir towards the thing I've been writing up for about a year now off and on.

Does anyone else hit points where you look back at what you've done and start picking shit apart and feeling like you have to start from scratch?

Well, I reset the development of my earlier project twice. It was a good decision in retrospect because I learned a lot during that time.

But now, starting from scratch would be disastrously unproductive.

If you invested so much into your thing, try to bring it to fruition. There will be a lot of low points but it will pay off.

amuletsandarmor.com/ try it.

unity's shitty multiplayer is pissing on me again
i've got a general who has units
the general has an ID (assigned to be equal to his netID when he gets spawned)
units have player ID assigned to them when they're spawned, equal to the general's ID

i'm looking in the inspector of the host, his id is 1
all of his unit ids are 1
debug to check host id and his unit id? 2 1
HOW

alright, i finally sort of got multiplayer working via lots of workarounds. frankly it's a mess, but it just werks

Been awhile since I've done anything for my ue4 Hell Divers project, due to a combination of longer work hours, 3ds max license expiration, and getting stuck with trying to figure out how to implement core gameplay elements and losing interest in the process.

Well, I have plenty of free time now, and I think I may have just idea-guy'ed my way to theoretic victory on two of the gameplay mechanic problems I was having; namely, how I was going to handle open-world data and make it behave dynamically, and a decent aircraft damage model. The former's gunna require me to understand c++ on a deeper (hopefully data-oriented) level to implement properly, and the latter is gunna require me to model and texture a bunch more, but progress is progress.

The biggest problem bugging me now is getting a basic flight model up and running. I really want to model my gameplay off of War Thunder's arcade-y flight model, albeit perhaps with less complexity. I had previously been looking up flight physics and how aircraft realistically work, but does anyone know of any good resources for flight simulation in games? I don't intend to go overboard, just something realistic enough to pull off maneuvers, stalls, etc. but simple enough to be easily controlled with mouse+keyboard. This being the main gameplay mechanic, I know it's gunna require the most work, but any suggestion would be greatly appreciated.

shouldn't have cucked yourself with proprietary software. FOSS licenses never expire.

Whats the best sound format (best filesize/quality ratio)?
I currently have some .wav files that are fucking gigantic but the quality is good, which formats should i use to make them a bit smaller keeping the same quality?

My game can support: WAV, MP3, WMA, AAC
I heard AAC is good, but im not sure Audacity can convert WAV to it

I got the 3 year free student version. Anyway, I'm looking at Blender tutorials now, so no biggy.


What about OGG?

opus

For music or sound effects or both? I think most people recommend you have low compression on sound effects and whatever you're comfortable file size/quality wise for music.

While I fell for the meme and save most of my music files in flac, I don't think a 320 kbps 48000 Hz mp3 file will sound any different for the average listener, regardless of its use. Hell, you an always set your encoder to VBR and that should work too.

I don't think most plebs ever heard music in bitrate above 192 kbps in their lives as most listen to music from Youtube, neither that they could distinguishing between lossy and losless sound.

Im using the .NET MediaPlayer class, i tried an OGG earlier and didn't work, i only know for sure it works for the 4 i mentioned


Im using for both, the music tracks have 30MB each, but the MP3 version i converted into (3MB) doesn't loop properly


The only difference i felt was a *bop* sound by the end of the files (which makes the loop less smooth) , might be that Audacity didn't convert it well

Someone send this to Tetrachromedev and tell him to stop being such a god damn paranoid sperg and come back to Holla Forums already

That sounds more like a conversion or editing issue, rather than a format one.

you should really use something else for media playback
like openal

i promised a release in two weeks, can't afford remaking the sound system now (it will be remade anyways when i switch to Unity)

rip

Opus is the codec to end all audio codecs.
It's good whether you're trying to quickly load and play back a sound effect or trying to efficiently store a long game soundtrack.

Before opus was a thing, Vorbis (most people know it as "OGG", but OGG is just a container format) was a nice open standard.
And you'd use WAV for short sound effects since they're uncompressed and thus you could load them quickly.

But now you can just use opus for everything.

sage for double-post.
If you insist on using that shitty .NET library and thus limiting your game engine to only run on Windows, AAC ought to work as a decent replacement for OGG Vorbis.
WMA and MP3 are both pretty dated at this point and have some issues with the way they do encoding that more modern codecs don't.

...

the entire demo is in WPF, i will remove all .NET dependencies when i transfer to Unity

beefy skeleton pirates pls

...

...

This could work

...

OK everyone, I want to talk about a really nasty technical problem that pretty much anyone writing a game engine has to deal with.
I want to talk about input polling rates, game logic simulation rates, and rendering rates.

There's an advantage that software developers get if they target a game console.
Because the hardware is known, they can program their games with a fixed target framerate in mind and set the game logic simulation to run at that same rate, making the whole mess I'm about describe a non-issue.

Most of us are targeting PCs.
For all we know, our games could be run on a toaster, or it could be run on a custom-built monster machine.
The user could be using a standard 60Hz monitor, a 90Hz VR headset, a 120Hz monitor, 144Hz monitor, or 240Hz monitor.
…OK, let's just throw the fucking VR headset out the window for a minute, don't want this conversation to get derailed by stereo 3D talk.

Ideally, you want your game to be able to run at any framerate to match whatever monitor and/or GPU the user has, while still providing a consistent gameplay experience.
If your game features netplay, that consistency has to be 100% with no errors, and this problem becomes even nastier.

So perhaps one of the most important rates to consider is the input polling rate.
Slower input polling rates can help make execution of tricks easier, but higher input polling rates help ensure that small nuances in controller input aren't missed in the time between polls, improves input lag, etc…
Then there's the game logic simulation rate.
One of the big problems is here- if you want the game to run at 120FPS, your game logic has to also run at 120Hz. 240FPS? Better notch that game logic simulation rate up to 240Hz.
But if you change the game logic simulation rate, that may result in different outcomes in certain circumstances.
If you have strict requirements such as needing consistency for netplay, varying the game logic simulation rate is a no-go.

Then there's the rendering rate.
It's easy enough to adjust rendering rates based on user settings or monitor refresh rate, but rendering more frames per second won't do a damn thing if your game logic runs at a slower rate than your rendering rate.

So I'm looking at this problem and thinking:
1. What the fuck should I do if I want to provide a good gaming experience for PC users for an offline game?
2. What the fuck should I do if I want to provide a good gaming experience for PC users for an online game?

For offline, you could vary game logic simulation rate and rendering rate, and most people probably wouldn't notice a thing or give a damn.
People like speedrunners would care tho.

For online, it seems like you basically have to pick a game logic simulation rate and stick to it.
If you pick 60Hz, you're effectively giving 90/120/144/240Hz monitor owners the middle finger.
If you pick something like 120Hz, you're effectively giving toaster owners the middle finger.

And for input polling rate…
30Hz would make frame-perfect tricks easy, which is kinda cool depending on how you look at it.
60Hz and 120Hz will reduce input lag, but at 120Hz frame-perfect execution is basically impossible.

I've written my engine in a way such that I can adjust my input polling, game logic simulation and rendering rates, allow them to vary if I like, force them fixed if I need to, etc…
But when it comes to actually making a decision on what to do, I can't decide.
The ideal is 100% consistency with freely varying framerates, but that means 240Hz game logic simulation which is fucking retarded and no one does it.

Thoughts?

Related articles:
gameprogrammingpatterns.com/game-loop.html
gafferongames.com/post/fix_your_timestep/
reddit.com/r/SSBM/comments/4is06s/input_polling_dead_frame_lag_and_what_it_means/
kadano.net/SSBM/inputlag/
fastermelee.net/following-up-on-melee-120fps/

But if you change the game logic simulation rate, that may result in different outcomes in certain circumstances.
If you have strict requirements such as needing consistency for netplay, varying the game logic simulation rate is a no-go.

I'm probably talking out of my ass since I work with GMS but…
For input-polling and similar stuff, I'd suggest you check the current framerate, and divide it accordingly. So if you want a window of 6 frames for 60 FPS, and 12 for 120, then just do current_fps/10. It sounds obnoxious, but I doubt there's an easy way to do it. Tying anything to specific framerates tends to ruin shit quite bad.

Didn't get much time to work on improvements today but I did get variable floor heights in that alter wall perspective. I need to add walls to draw if the floor heights differ between areas and then repeat for varying ceiling heights.

Will there be room-over-room?

a) Lock everything to 60Hz. In terms of coding simplicity this is king. It also looks decent on most machines.

b) Everything is independent. Essentially you are running a mini-RT scheduler task to running your polling task at 50-60Hz, game logic at 60Hz, and render update at whatever the user selects. Now you need to interpolate render frames between each game logic update, including partial timesteps. Have a good time! Hope you aren't also using a physics engine! Enjoy those substeps and btMatrix interpolation routines (bullet3d)!

It's doubtful for now, in order to keep tree generation and map editing simple. I'll look into it more once I'm further along.

If you don't want to run the simulation at a varying frame-rate, just use interpolation to figure out what things will look like while setting it to a fixed framerate. Just make the game check for input on another thread. You can also make the game just run on variable logic rates and it should be fine. For netplay, the server has the final word, so it's not an issue if two clients disagree with each other, because they will just ask the server.

...

soon_as_fuck.png

You could take hints from One Piece and make it a bit more fantastical. For instance, the guns in it all have elements of a flintlock or matchlock, even if they're more modern designs like revolvers. Dishonored did something similar, I believe.

be blender fag
use unity

model character
animate character
import character
make a character controller with animations
look into how to import animations from blender to unity
dude just use the action editor

shit
4 days down the pisser

WHERE IS THE NEW THREAD

Put the wiki in the op this time

FRESH BREAD

what? you just animate the character in blender and then import him like that
then you either have a single fbx for each animation, or you can have 1 fbx with all the animations, and in unity you split them up