GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Saturday, 01-Jun-2024 17:32:27 JST hazlin no plap pirate hazlin no plap pirate
    • gentoobro
    @gentoobro Hey Gentoobro, what would you say the lowest barrier to entry way to make a 2d game, in straight C would be?

    I looked at that in the past, but the answer I came up with was... just use C++ with SMFL, and don't use an OO xD

    Maybe it is a question without an answer, but I thought I'd ask.
    In conversation about a year ago from shortstacksran.ch permalink
    • Embed this notice
      iced depresso (icedquinn@blob.cat)'s status on Saturday, 01-Jun-2024 17:32:25 JST iced depresso iced depresso
      in reply to
      • gentoobro
      @gentoobro @hazlin easiest 2d? allegro. :blobfoxinnocent:
      In conversation about a year ago permalink
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Saturday, 01-Jun-2024 17:32:26 JST gentoobro gentoobro
      in reply to

      @hazlin OpenGL 4

      It manages a lot of the fiddly annoying stuff for you while giving you the full power of the GPU. It's pretty easy to get a window up and a context attached with GLEW. There are some libs out there to do that stuff, but why? It's not particularly hard.

      My editor is effectively a really boring 2D OpenGL game: https://github.com/yzziizzy/gpuedit

      I also recommend using some good C data structure libs, like stb or my own sti: https://github.com/yzziizzy/sti Or you could write your own if you want the experience. Just make sure to learn and use the techniques from stb or sti in making typesafe generic data structures in C.

      And you'll need a math library. I couldn't find a good one in pure C, so I wrote my own: https://github.com/yzziizzy/c3dlas

      In conversation about a year ago permalink

      Attachments



      1. Domain not in remote thumbnail source whitelist: opengraph.githubassets.com
        GitHub - yzziizzy/sti: General extension library for C. No dependencies beyond common POSIX platform headers. "[st]andard library, [i]zzy", in the same vein as stb.
        General extension library for C. No dependencies beyond common POSIX platform headers. "[st]andard library, [i]zzy", in the same vein as stb. - yzziizzy/sti
      2. Domain not in remote thumbnail source whitelist: opengraph.githubassets.com
        GitHub - yzziizzy/c3dlas: Linear algebra functions and utilities for 3D rendering in C
        Linear algebra functions and utilities for 3D rendering in C - yzziizzy/c3dlas
    • Embed this notice
      iced depresso (icedquinn@blob.cat)'s status on Sunday, 02-Jun-2024 08:41:40 JST iced depresso iced depresso
      in reply to
      • gentoobro
      @gentoobro @hazlin
      > Months, minimum. Maybe years. The path to being a game dev isn't short or easy, but it is rewarding.

      i dunno about that. i burned out of coding after ten something years of it being the only thing i could afford to do, while being plagued by the adhd demons that made it hard to impossible to care about sticking to a project nobody else cared about.

      it doesn't really matter what you use to build stuff. valhalla was made in game maker but the code and design was beyond atrocious internally. it matters more that somebody cares you exist, because its a long road to finished and there's zero rewards along the way (what i call "reward deserts.")
      In conversation about a year ago permalink
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Sunday, 02-Jun-2024 08:41:41 JST gentoobro gentoobro
      in reply to
      • iced depresso
      @hazlin

      Weeks?

      Months, minimum. Maybe years. The path to being a game dev isn't short or easy, but it is rewarding.

      One day I'll understand that, but it is too much for me at the moment.

      It'll be too much for you until you take up the challenge and conquer it. The way you grow is by taking on difficult tasks.

      I do really like the idea of a minecraft clone.

      Me too. While you could use something like Godot for rendering, you're going to have to write the entire voxel system and inventory system from scratch, and that's the hard part. You'll also most likely have to write a bunch of custom shaders, mesh processing, and texturing code in order to efficiently render the voxels due to the great number of textures and the weird baked-in lighting.

      And, I don't like minetest, it is super resource intensive for some reason.

      Lua and an ancient graphics engine (Irrlicht).

      Java vs C++

      Minetest leans heavily on Lua. While luajit isn't the slowest thing out there, it's slower than Java. More importantly, the interface to the C++ is awkward and inefficient, and the semantics of Lua preclude writing efficient code (ie, tables instead of structs).

      And, I still want to make a minecraft clone.

      Do it. Use allegro for the boilerplate, per @icedquinn

      In conversation about a year ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: www.imalditesta.com
        Homepage
        Il mal di testa può essere anche molto invalidante ma bloccarlo è facile con Moment. Il farmaco, a base di ibuprofene, si può assumere anche a stomaco vuoto.
      2. No result found on File_thumbnail lookup.
        http://clone.Me/
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Sunday, 02-Jun-2024 08:41:42 JST gentoobro gentoobro
      in reply to
      @hazlin

      Unity

      Ah. I see the situation now. Unity makes it really easy to get a model to walk around a plane, or whatever terrain plugin you use. After that it's a massive net productivity loss for software developers. Sure, it's great for artists who don't really understand any code, but it's an anchor chain around the neck of a developer. You have to do things Unity's way. You can't just change core data structures or engine loops willy-nilly. There's a massive complicated pile of junk that you don't need integrated into the parts you do need, regardless of which things you need. This gets in the way and slows you down and frankly is a demoralizing clusterfuck. This is why all the new indie games coming out are disjointed piles of plugins and store-bought assets. This is why the "release" of Manor Lords wasn't really that much improved from the early access demo. This is why Valheim development essentially stalled. (And they still haven't fixed the horrible LoD popping.)

      To be clear, it's a problem of using an "engine", not a problem specific to Unity; you'd have the same issues on Godot, Unreal or Lumberyard.

      Lean code lets you iterate fast. If I want to test out a new feature, I just write a quick function and hack it in to whatever existing location makes sense. If it works, great. If not, rip it out. When I run into performance problems with it, then I optimize it.

      This comes at the horrible cost of having to learn OpenGL and how a GPU works conceptually and writing a bit of boilerplate. That's maybe 10% of a 2D game, especially if you use existing libs to do things like load meshes into memory. Even in 3D it's smaller than the gameplay part, though everything is more complicated in a 3D game.

      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:42 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro
      > it's an anchor chain around the neck of a developer

      A hard lesson learned many times working at a company chasing web frame works xD

      Quite a while back, I tried building a minecraft clone in Unreal, using their visual code. And, that was actually a lot of fun. Though, there were limitations as you'd imagine xD Still, I was able to place and mine cubes.

      I spent the most time learning Unity. Some of my demo demos of stuff existed there. But, when they went to being a publically traded company, I knew it was not for me. (seem to be very justified, given some of their business practices as of late). Put away Unreal, when I realize you would always have to rent your software from them.

      After that, I did spend a good amount of time learning webgl, but it is a lot lol. It I just, want to make a simple 3d game, I'll use godot for now. It can load, texture, transform, and play armature based animations, day one. Just reaching that same level from scratch would take... idk, a long as time? Weeks?

      Discrete pieces is doable for 2d. I've tried to get started the same way for 3d, but man, that is a lot lol. One day I'll understand that, but it is too much for me at the moment.


      Overall, my competency with godot + blender, is enough, to well, recreate a simple shooter, or some other such thing. I do really like the idea of a minecraft clone. Though I've been stumped by the technical aspects on that one a few times xD And, speed really does matter for a MC like game. And, I don't like minetest, it is super resource intensive for some reason. I was flabbergasted when I realized I could play minecraft on my laptop, no problem, but minetest would try to melt it xD

      There is no way Java minecraft should be anywhere as close to performant as C++ based minetest.

      In general. kek, I guess I really do still want to do game dev. And, I still want to make a minecraft clone. One that isn't retarded and going to melt my laptop xD I feel like that would make a great base for a game. There is a reason why modding was so prolific in minecraft.
      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:43 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro
      After back than that, was a series of unity projects. That, are probably a hot mess of code.

      I got real burnt with that group work, and it has been like a year since I've done any real game dev stuff. I just, had no desire to touch it.
      In conversation about a year ago permalink
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Sunday, 02-Jun-2024 08:41:44 JST gentoobro gentoobro
      in reply to
      @hazlin

      I've done that between 5-10 times

      Is any of that code public? Do you have a link? I have some suspicions but seeing the code would help to confirm or refute them.

      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:44 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro Nope. And, the last attempt was with a group, I was their technical person, but I left what had been made for them (I wouldn't feel right sharing it, but be assured it was very very basic and straight forward xD). (That one failed because of, people problems, and the writers/lead had no idea what the game should actually be.)

      Lots of leg work, but where was the project was supposed to go xD ? It became obvious over time, that no one knew. Though many insisted.

      A few very rough prototype scenes were created. Some environment, a basic character controller. But, these things, do not make a game. It was quite an eye opening experience for me.
      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:45 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro
      What you describe is how I was taught to make things.

      I think it can be viable if you have a lot of resources to throw at it.

      But, it almost has a 100% failure rate for me xD At the moment, I simply do not have the capacity to buffer and resolve design pattern issues, while finding what the game should be, via interactive discovery.

      I've had a few attempts, where I made character controllers, setup environments, and, generally had all the parts of a working MVP game. But, every decision made from that point forward, required all the existing pieces to be adapted, and very quickly the complexity of making changes grew to great, and I had to give up xD

      I'd say I've done that between 5-10 times, making it different distances each time. So, I'm pretty convinced that I can't go that direction xD

      After trying to break this whole thing into pieces, and really evaluate where the problem was, it appears to be, in what the game should be.

      Sort of like, trying to discover how a house should be, while you are building the house. When you realize something should be changed, the amount of work that will take, will be directly proportional to the amount of work already completed.

      My hope for the power-point, is that, it will let me explore, and settle on ideas. Discovery of mechanics/design in a medium of code is very heavy, so I am trying to strike a balance and find an intermediary step where, change is nearly free, and I can see the effect the change has on the flow of the experience.
      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:46 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro I am considering making another attempt at a game. I've tried several different ways, including working with a group of people.

      Considering all the ways I've seen things fall apart, this is my dev-plan:
      1) A short story of a short scenario, in English (15 minutes of play time)
      --The information here, will be the guide stones, shaping all later steps.
      2) An animated power-point of the desired game play for those 15 minutes, but with only extremely expediently created assets.
      --fundamental world choices will have to be made
      --mechanics will have to be developed
      3) Using #2 as a guide, build a interactive MVP version of the game. (pass/fail step)
      4) If the experience is good, apply polish (should still be done with a focus on expedience rather than completion)
      --create better art assets
      --work on the "feel" of the mechanics
      In conversation about a year ago permalink
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Sunday, 02-Jun-2024 08:41:46 JST gentoobro gentoobro
      in reply to
      @hazlin

      working with a group of people.

      Typically a bad idea, unless everyone in that group has proven by their historical behavior that they are incredibly dedicated and hard-working, and also everyone in the group has enough available time to work on the game.

      dev-plan

      You have it all upside down. Get something super basic running and then playtest it aggressively as you build, bit by bit. Like, start with moving a square around on the screen, then making it jump, then making it collide with other squares, then... and so on. Work on the feel of the game from day one, and download some free decentish art too. A game is no fun if it's no fun and you can't determine that without playing it. A lot. And changing it when it's not fun. No need for corpo powerpoints.

      If you think this method sounds strange, remember that it's what Valve did back when they made games.

      In conversation about a year ago permalink
    • Embed this notice
      hazlin no plap pirate (hazlin@shortstacksran.ch)'s status on Sunday, 02-Jun-2024 08:41:47 JST hazlin no plap pirate hazlin no plap pirate
      in reply to
      • gentoobro
      @gentoobro
      thanks, a lot to think about.

      Also
      > Beware libraries that do more than hand you arrays of mesh data.

      A lesson I've had to learn too many times.

      The importance of learning the true basics of a system cannot be overstated* xD
      In conversation about a year ago permalink
    • Embed this notice
      gentoobro (gentoobro@gleasonator.com)'s status on Sunday, 02-Jun-2024 08:41:47 JST gentoobro gentoobro
      in reply to

      @hazlin No problem. I'm always willing to answer gamedev questions to whatever capacity I can. The more devs the more better, and it can sometimes be hard to find good, modern info on the subject.

      In conversation about a year ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.