11/13/2022 0 Comments Whack the creeps pong![]() ![]() You can't keep yourself forever in the learning phase. ![]() The idea is more like knowing your own limits, or something in that fashion. I do agree with this, I have a lot of cool ideas myself that a strict vision of "go through the singleplayer version of Pong first" would never do it proper justice ) But when you're actually pushing your limits and trying to make a real game, that's when the training wheels have to come off. Knowing how the very foundations of gaming work from the bottom up is very important in that phase. Of course, if I tried to replicate something more complicated than that while I'm learning, it would be a living hell. On the other side, things only clicked in my mind after I made a Snake clone (I named it snek), an Asteroids clone (I named it Psychoroids, don't ask me why), and a prototype grid platformer with a bunch of rectangles. ![]() Dodge The Creeps did teach me about how Godot works in practice (and that's the point anyway, nothing wrong with that), but I was just really following a step-by-step tutorial in the end, it only solved half of the issue. Let's look at it from both the Godot and the "game development in general" sides. Like, when you're learning you really want to do this, even though you don't feel like it. I guess if we divided things ilike "Learning Phase" and "Actual Game Making Phase" we could apply this without it being an issue. I just wanted a way for time to pass in parts of the world which are distant from you, and it also suits my desire to have death be a bit harsh. The fast-forwarding mechanic is the least well-fitted to the other mechanics, and would definitely be challenging. ![]() As for what the player can *find* by doing so, not sure yet. So the plan is to allow the player to change the grid in such a way as to move in one of the six cardinal directions besides the mundane up, down, north, south, east, west. It turns out then that *changing* the grid (by exchanging neighboring, differently-shaped blocks) is the same as moving around in 6D. So given the aperiodic voxel grid, it's trivial to get a position in 6D space for each voxel. if you look up the 3D Penrose tiling - or maybe better to google "3D Ammann Penrose" - you may find that the math behind the grid is something like a projection down from six dimensions. No joke! I don't know which features will end up in the game, but at core it's a voxel-based game with a quasiperiodic grid instead of a cubic grid. I will probably start over again and lose another week soon! My game is finally running OK performance-wise, I guess, but it could still be better. I have spent several weeks solving simple problems like this and I have had to start over again and again. Those are the kinds of things that were easy in HaxeFlixel or ActionScript but are very difficult for me in Godot. Disabling anti aliasing helps, but I'm still surprised there's no way to just say something like, "Render these 100 polygons once, and then don't worry about rerendering anything unless I call refresh()". That's what I'm doing right now, and it works OK - although surprisingly, even if there is only a single _draw call, this has a persistent performance hit, as though each polygon is being redrawn every frame. But if you want to do this 100 times, you need 100 viewports which is horrible for performance.Ī third wacky option is to render your polygon without a ViewportTexture, but then calculate all of the stripe shapes by intersecting horizontal rectangles with your oval shape, and rendering those new polygons over top of it. The most obvious solution is something like defining an oval-shaped polygon and passing it into the "draw_poly" command, and applying a shader - but this hits an immediate wall because you can't apply shaders for things rendered in a _draw() command, because they do not define UVs.Ī reasonable extension of this concept is something like rendering the drawn polygon to a ViewportTexture and applying stripes with a shader. And maybe "stripes" is just, 100-pixel wide horizontal lines. The hardest thing for me so far is 2D graphics, like "I want to draw 100 ovals, each with different sizes and colors, and some of them have different colored stripes too" for example.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |