[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/3/ - 3DCG


View post   

File: 661 KB, 1024x768, 1708339930940197.jpg [View same] [iqdb] [saucenao] [google]
980230 No.980230 [Reply] [Original]

How hard is it to make your own engine and make your own content in it compared to using unity or unreal?

>> No.980231

It depends.

>> No.980232

>>980231
and isnt it really hard to get your custom vulkan engine up and running? And isnt it harder still to get it to be able to use gpu features like DLSS meaning your engine will have to look ancient, like something from 20 to 30 years ago?

>> No.980234

>>980232
exxaxtly it depends

>> No.980235

>>980232
It's not really feasible for a single developer to even write the (multiplatform) code to open a window and set up a Vulkan context. Let alone drawing anything in it. Of course you need to use some sort of library. https://liballeg.org/ is my favorite. But this https://threejs.org/ is much more convenient because you're going to have trouble to find people willing to run your exe files. That's about it for the low-level route.

>> No.980239
File: 147 KB, 1050x712, mmd.jpg [View same] [iqdb] [saucenao] [google]
980239

I hadn't checked the threejs example myself in several years. I didn't realize it's essentially joever.

>> No.980256

>>980235
>because you're going to have trouble to find people willing to run your exe files.

how do you get people to run your exes made from legit unity or unreal or godot? Do you always have to just build for webgl?

>> No.980257

>>980256
Steam or itch.io

>> No.980262

>>980230
why would you make your own engine in this day and age?

>> No.980264

>>980230
if you want to become an engine dev then yeah try it and see how it works, if you want to make a game then there are better free or open source engines

>> No.980272

>>980264
It depends on the definition of "game engine". Because even if you use Godot, you'll see that 90% of the development time you're going to spend it in the text editor.
It also depends on what you want to do. If you want to make a template game such as an FPS, point and click, third person, ... If the game engine has support for that particular template, then ok. But if you're trying to invent something new (I know, that's shocking) then the game engine may get in the way.

>> No.980288

>>980262
>sorry we changed our EULA your games dont work any more :)

>> No.980315

>>980230
in a way it's easier than ever:
>plenty of documentation on how to make one
>plenty of zlib or public domain libraries to choose from
>strong hardware in PC and consoles
what makes it hard:
>you are constantly fighting with the OS, even simple things like timing is a nightmare to deal with
>testing takes forever and never ends
>all fun and games until you start on optimisation (the big boys use multi threading, bindless architectures, all sorts of sse and cpu tricks)
but the true problem is really the content, making 3D scenes is still smoke and mirrors and a lot of work
either will take a lot of your time or if you find someone to do it then your money

>> No.980321

>>980230
As someone who started as an enginedev before swapping to pre-made ones:
Rule 1 is that you don't engindev to make a game.
You enginedev because you like enginedeving. If a game happen at the end it's an happy accident and that's it.
If you actually have a game in mind, don't even consider enginedeving for it. Whatever super tech/effect/etc you thought off, it will be way easier to make inside an existing engine that having to reinvent the wheel.

>> No.980326

>>980230
Quake Engine is open source.

>> No.980331

>>980326
It's under GPL 2, so you must release the source code to your game, so it's pointless if you are planning on monetizing

>> No.980359

>>980331
The GPL license affects the code, not the artwork. You can sell your game because you're selling the artwork.

>> No.980369

>>980359
and then AI will just rip your game 100% and make a million versions of it

>> No.980471

>>980315
>but the true problem is really the content, making 3D scenes is still smoke and mirrors and a lot of work
i feel like unity and unreal might just do rugpulls even more and make their stuff even more annoying to access. I already engine dev'd for about 2 years from in the mid 2010s with openGL 4.5 and bindless. I ended up abandoning it for unity, but i still have the source now. I have big dreams of building another engine, for simple graphics with just a few animated characters on screen at once and freeing myself of unity and unreal.

>> No.980474

>>980471
The problem I see with Unreal and Unity going forward is that people aren't buying DEI games, so they're going to demand they stop providing tools to private individuals and only work with companies. Something like that.
Having an asset store available that's curated and not carrying Cris-tier models like sketchfab is a big deal and I have a feeling the DEI people are going after those soon.

>> No.980475

>>980474
I don't need or buy models. Models are ez

>> No.980476

>>980475
I know. everything is easy for you, Cris. But for those of us who don't share your gift, we have to be able to get good quality content sometimes.

>> No.980477

>>980476
i guess cris writes his own engine in opengl bindless in 2014. Learn something new everyday.

>> No.980479
File: 453 KB, 1368x809, bspvis.jpg [View same] [iqdb] [saucenao] [google]
980479

>>980477
My game engine uses an extra old level editor for DOS which I've salvaged. They're both software rendered. It's BSP-based, supports lightmaps with radiosity, 256 palettized and truecolor modes.
The thing is lately I've seen more and more people write complex shaders to make Vulkan look like my software renderer. It's so bizarre.

>> No.980480

>>980479
I dont really like deving vulkan that much after following some examples.

>> No.980482

>>980480
I have an explanation for that. It's here:
https://www.khronos.org/about/deib/

>> No.980595

>>980471
you could do very simple character anim by just drawing a different model for every frame (how quake 1 did it)
perhaps lerping between the vertex coordinates (quake2 and quake3)
the important thing to remember if you absolutely positively need to roll your own engine is to keep it simple and small
as long as you do something oldschool it will be fine

>> No.980601

>>980595
im only interested in basically puzzle-like type games. I have been unable to integrate a gui for debugging into vulkan thats worth a damn, all i have is imgui from sascha willems examples when in reality i want qt or pyside 2 to run on top and embed the drawing window within it. I tried some examples, but the documentation was horrible and i couldnt find source of anyone else doing that

>> No.980602

>>980595
The de-facto standard for models is this:
http://sauerbraten.org/iqm/
It's skeletal and similar to MD5. It's supported by Sauerbraten (of course), a variety of ID sourceports, threejs, raylib... The SDK has examples, the C header and the exporters for Blender.

>> No.980757

>>980602
>The de-facto standard for models is this:
never ever heard of it and ive been in the game a long time. Stop trying to push viruses onto us.

>> No.980762

>>980601
vulkan is probably the hardest api to use right now: not made by software devs in mind but what is easiest for hardware vendors to implement
so you got something that is hard to get to work right, a nightmare to debug and in the end all you get is some speed increase for AAA quality graphics
unless you can write a software renderer from scratch I don't recommend using it
once again: keep it simple

>> No.980763

>>980757
you never heard of the cube engine or the bloody Doom3 model format? are you for real?
or is this some trolling attempt?

>> No.980764

>>980757
Saar, listen. You want to write your own FBX importer? It's ok. You do your thing.

>> No.980766

>>980764
why cant you just look at other people's importers from github?

>> No.980770

>>980766
You can use https://github.com/assimp/assimp if you want to. It's a question of footprint.
IQM requires you only add a small C header to your code. When you want your model, you just fread() the file into RAM and then you decode it using the structs provided in the C header.

>> No.980771

>>980770
isnt C considered very unsafe now?

>> No.980772

>>980771
Your OS and most of the software you're using is written C. Safe/Unsafe are industry buzzwords that essentially mean: can the development be outsourced to other countries? Yes/No you know what I'm talking about -cough- Java -cough-.

>> No.980774

>>980772
but aren't 99% of zero days caused by C, which is why they are advocating everyone switch to Rust?

>> No.980775

>>980774
I'm not going to get into that discussion. I'm just going to tell you that according to statistics, programming Rust is unsafe for the integrity of your gender identity.

>> No.980776

>>980775
i dont care

>> No.980777

>>980776
The bottom line is this:
https://babylonjs.com/
https://www.typescriptlang.org/
or
https://www.raylib.com/
Whichever your prefer. Leave strange people on Discord to deal with Rust.

>> No.980783
File: 15 KB, 474x486, 1324567890.jpg [View same] [iqdb] [saucenao] [google]
980783

>>980262
Alright were gonna need you to pay a us 10 cents every time someone downloads/redownloads you game thank you

>> No.980787

https://strlen.com/lobster/
It's essentially compiled python with basic gamedev functionality built in.
If I were to "write my own engine" I'd use this.

>> No.980800

>>980787
If you were to write your own engine how would you integrate QT / pyside like big auto did with maya or would you have to roll your own ui like blender did with GHOST?

>> No.980806

>>980800
If you're looking for an example of a standalone 3D program based on Qt:
https://github.com/makehumancommunity/makehuman
It's being developed as a Blender plug-in now but it used to be based on PyQt5. It still works for me. Also I think https://www.freecad.org/ is written in a similar way.

>> No.980810

>>980800
Also, take a look at: https://libagar.org/
The important part is: "It can attach to an existing graphical context and work as a self-contained window manager." The "existing graphical context" could be a texture or it could be the framebuffer device of a linux machine without Wayland or X11.
Qt can do that too, I've seen demos from years ago, it's just that Qt is Java-tier bloated now.

>> No.980828 [DELETED] 

>>980800
I dislike how verbose fully fledged widget libraries like qt are. Graphical programming is a crutch to avoid that altogether.
When it comes down to it GUI layout should simply not be described in code unless it's procedural itself.
Just use html/css and an embedded chromium or just roll your own and define your layout with a yaml file or something.

>> No.980829

>>980800
I dislike how verbose fully fledged widget libraries like qt are. Graphical programming is a crutch to avoid that on the surface, but the underlying complexity is still there.
When it comes down to it GUI layout should simply not be described in code unless it's procedural itself.
Just use html/css and an embedded chromium or just roll your own and define your layout with a yaml file or something.

>> No.980844

>>980829
If you're ready to go balls deep into the pipeline of the true GUI workflow, then:
https://www.lazarus-ide.org/
It's an open source re-creation of Delphi. It comes with a full IDE, a graphical GUI editor, a compiler and a large standard library. There's a 3D engine written in Pascal as well: https://www.youtube.com/@CastleGameEngine
But I hear you say: "I don't like Pascal. I would prefer Basic." Don't worry. I've got you covered:
https://gambas.sourceforge.net/en/main.html
That's an open source re-creaton of Visual Basic. Both can make Gtk and Qt applications. You can switch between the two.

>> No.980954

How hard is it to do "computer vision" ? Like, say you have "moves" in game that you don't have the source to, say at least 200 combinations of moves and then these combinations can be further mixed with different color palettes and different costumes but with the same underlying move, but you want the computer to be able to identify what that move sequence being performed is? And it doesn't have to be RT, the calculation can be performed offline on gpu with cuda. Is this even possible at this point or is it a pipe dream?

>> No.980955

>>980954
>Like, say you have "moves" in game that you don't have the source to, say at least 200 combinations of moves and then these combinations can be further mixed with different color palettes and different costumes but with the same underlying move
and also say a lot of different combinations of "fx" overlayed on top or under the base move

>> No.980958

>>980955
The Apple Vision Pro does that.

>> No.980959

>>980958
you can't actually program the AR aspect / the cameras beyond what apple gives to you in official apps because its "dangerous"

>> No.980962

>>980959
It also costs $3k and look ridiculous.
Now that I think about it, after Microsoft Kinect was shut down due to popular demand, some hobbyists tried to do something with it. Something related to OpenCV. Try to look it up on youtube.

>> No.980965

>>980962
I'm talking about identifying purely recorded moves from gameplay footage (traditional 2d game, non vr / ar) out of many possible combinations of raw moves, effects on top or behind, different colors, and different costumes.

>> No.980966

>>980965
That has been done by cheaters in MMOs to do auto-grinding essentially. Start here: https://opencv.org/
There are python bindings. But be aware that computer vision is like flying cars. Lots of promises, nothing gets done in the end.

>> No.980968

>>980966
Looking at that page for opencv, I get the impression that the govt agencies have a lot better version and we're just pecking at scraps

>> No.980971

>>980968
>govt agencies have a lot better version
Remember when there was that big push to put cameras everywhere to "catch terrorists"? In reality it's for behavioral control of the population, predictive law enforcement, marketing research, stuff like that. That's how they solicit money from governments.

>> No.980973

>>980968
Another popular application is automatic license plate readers. With surveillance cameras everywhere they're able to track vehicle movements and issue fines automatically as well.
During COVID there was a kiosk at my town hall which will lock the door if it detected that you weren't wearing your mandated face diaper. I used to get in and out covering my mouth with a piece of cardboard.
It works so poorly it's basically a reverse-scam for politicians. And that's a good thing.

>> No.982644

>>980230
Depends on how well you did on your linear algebra homework.

>> No.982736

>>980262
>borked networking
>borked mouse input

>> No.982748
File: 1.06 MB, 1258x706, mob.png [View same] [iqdb] [saucenao] [google]
982748

>>980262
>Nice rigged and shaded character you got there.
>If you want to animate and render it better than 1 frame a minute you have to upgrade to the latest CUDA GPU.
>What? You did and the piece of shit broke down in less than a year?
>Well then you'll have to invest even mo-

>> No.982773

>>980482
No, that's entirely unrelated.

>> No.983094

>>980230
its kind of like building a plane in 1920 vs a plane in 2024.

back then all you needed was wood, canvas, and knowledge of aerodynamics.
now you need to understand jet engines, combustion, materials science, and a billion other things.

>> No.983096

>>983094
It's not that. The difference is the amount of "regulations" or "industry standards" or "APIs" that are completely useless but that you're expected and in some cases bullied into learning.

>> No.983358

>>980262
cuz I want my cool 3d dino spinning in my cool 3d engine

>> No.983438

>>980230
Similar to the difference between building a piano and playing a piano. They require some shared knowledge, but two completely different skillsets.

>>980288
>>980783
There are plenty free open source game engines available. It's easier than ever to avoid sketchy companies.
https://github.com/bobeff/open-source-engines