So I'm learning 2D game dev in java.
(I know)

Being stubborn I'm coding everything myself because, you know who needs libraries.😅


Holy toenails ,I have mad respect for the guys who build game engines. Especially 3d engines.

Y'all are beasts.

  • 13
    Java? That should be illegal
  • 5
    @dontPanic I know but it's honestly my most comfortable language.

    I'm learning concepts mostly.

    These are 2d games they aren't very resource heavy to begin with.
  • 8
    I know that feeling of being too lazy to learn libraries so you just do it all yourself 😂 but honestly, i think it is not even that stupid, i mean it will be way easier for you to fix bugs, you will know exactly what is going on in your program, and you will learn a lot from it.
    I have used a library once and the documentation was not really that specific on many things and it just caused me headaches because hoe am i supposed to know how you should use this library when the documentation is incomplete? 😶
  • 7
    @orto I would also recommend going for something... faster 😅 It was always my fear that I put years of work into the project and in the end i have 30 FPS and lag spikes. Thats why I just initially went for C++. And honestly: Its not THAT hard. Its a bit more low level and you have do write more to do simple things but it is much more straight forward actually.
  • 5
    @orto alright, good for you, man
  • 4
    yeah ok probably you should go with what you are most comfortable with 😄
  • 4
    @simulate this helps though since I know it's not going to be my final implementation I can just scrap it.

    No sunk cost fallacy.

    It's like a high fidelity prototype.

    Respect the c++ it's honestly a beautiful language
  • 5

  • 4
    Finally, someone who respects 3d engines. I've made a few, I could share them if you want 😎

    At the moment, I'm having trouble working out textured triangles 😪
    (any help appreciated)
  • 3
    @coolq lol how have you made a few 3D engines without textured triangles?..
  • 3
    @simulate when I started with web dev i intentionally did not use any libraries for quite a time, because that way I would understand exactly how everything worked.
    If you just start using frameworks right away everything just works somehow / magically and you are never sure what happens behind the scenes exactly.
  • 1

    Is it the lack of memory management/garbage collection.

    Or simply that it's overly verbose
  • 1
    @orto @coolq

    Like, a.. Whats it called..


    Whatever Project Zomboid is..

    I need an engine like that for a magic-based RPG building god game I want to make.
  • 1
    @Cyanite I'm assuming RPG maker is not good enough for the core concept?
  • 0
    @Cyanite your UI is gorgeous.

    And then I read this

    Everything in this folder is for in-game usage.

    The viruses are purely fictinal, and are not meant to be actually used.



  • 0
    Hey Minecraft ist made in Java so why not making own games in Java....it's not the fastest but it's fast enough imho
  • 1

    Ah, yes. That's the Python Edition. It was abandoned a while ago.

    It says that because the files are actually files. So you could create a file called hack.sh and run it outside of the game.

    The java edition uses virtual files, but you wont see that until Pre-Release 10 comes out.
  • 0

    No, cause I want to impliment a building system, and animated magic, realtime combat, etc..
  • 2
    @Cyanite if you want to stick with java and write cross platform games.

    Checkout libgdx.
    Udacity has a few courses to get you started .

    Otherwise the standard game engines are amazing and really well supported I.e unity/unreal etc.
  • 0

    Are you talking about ExitCode..? Because we're already pretty far into the Java Edition:
  • 0

    For reference, here's a screenshot of the old Python Edition:
  • 0
    @Cyanite I was referring to the isometric rpg you wanted to make.

    I noticed exitcode was a tad bit far along .

    Is the design based on a distro or is that your own ui
  • 1

    It was originally based on a specific linux distro (I forget which one, maybe mint?) but now I just add whatever in a very generic sharp square style.
  • 1
    I'm talking much more fundamentally. I used absolutely _no_ libraries. I could only place pixels to the screen.

    This meant that I did perspective calculations from scratch.

    I got stuck on textured triangles because I do not know how to transform an image mapped to a triangle by hand. All I know is that it uses concepts such as Linear Algebra (maybe).

    As of now, I'm stuck with flat coloured objects.

    A simple 3d engine works like this:

    Create array of vertices.
    Create an array of triangles which consists of three elements, the first, second and third points, which index the vertices.
    For every X, Y and Z position, in every triangle vertex calculate the Perspective Formula:
    'x, y *= (fov / z)'

    Now transform them:
    X = [Cos, -Sin]
    Y = [Sin, Cos]

    Now draw them to them to the screen. You may either use a 2d library, or make one from scratch 😂

    What I want to implement: http://www-users.mat.uni.torun.pl/~...

    Scroll down to Texture Triangle.
  • 1
    You don't need textured triangles for a 3d engine 😂
  • 0
    No but it is like the third most common thing.. I mean you can just work with plain colors but you need textures for any of the surface shading beyond that so its actually kind of important.. imho😂

    anyways, different people, different goals, different priorities right? didnt mean to be mean 😅
  • 0
    @simulate Haha, don't worry no offence taken.

    Texturing is important, but hard and CPU intensive (not a problem for GPUs).

    I'm working on implementing it, don't worry 😂

    Once I've learnt how it works, I'll be on the way.

    Problem is, once I've done that, I'll want to implement lighting 😪

    I've got a few ideas of my own, too. Maybe they'll be simpler?
  • 0
    Let’s just say m not patient enuf to not use game engines... ( c++ )
    But kudos to u for being so brave and patient 😎😎
Add Comment