pouët.net

To Unity or Not to Unity

category: general [glöplog]
Hahaha, I have had to do exactly that in college with graduate-school level classwork.
added on the 2021-03-14 00:55:29 by Wildstar Wildstar
Quote:
you should write essays, not posts
(FORGOT THE QUOTED TEXT for the preceding reply.)
added on the 2021-03-14 00:57:01 by Wildstar Wildstar
PS: This is a forum not an instant messenger. You have all the time in the world to read a post before you reply to them. It isn't like you have to read and reply in under 60 seconds from when a post appears.
added on the 2021-03-14 01:00:13 by Wildstar Wildstar
anyway, people who say that doing a demo with Unity makes shit easier, should fire up Unity Personal and get a clue once they cannot find the 'make a cool demo with my artistic expression'-button after importing a cube.obj and sexyoverlay.png. ;)
I'm not saying it is easier but a "cool" demo isn't something that's going to be easy. It's work and yeah, you can do it. Unity has its workflow that you need to understand to develop each part of the element of a demo.

All the elements needed to make a demo on modern PC, any modern game engine *can* do. You can shoot pixels to the screen for visual. Duh. All 3d stuff is rasterized into 2d bitmap data that is displayed on a monitor. However, that doesn't mean Unity would be the easiest and best to do 2d stuff but you can do it if you know what to use after all, all the facilities to do the stuff is there but you need to know Unity and once you actually know it then yeah.... it might be easier than machine language programming every single instruction that the cpu processes by hand to make demo that can do the rendering capability of Unity by actual machine language programming.... no C or C++. If you are talking about the most *elitist* approach to demo work, programming has to be done in ML Monitor (hexadecimal programming of every single x86-64 opcode and including the GPU programming of every opcode and operand of the GPU at 'bare metal' level programming and oh yeah.... you have to also comply with OS API while you are at it. Of course, that would probably be insane to do on a modern desktop PC.

I would argue that you would be smarter to move ahead with something more easier like using C/C++ or C# and other high-level languages that you can compile and get to the end result instead of waiting until the year 9999 to get done with what you might be able to do by 2023. I'd say, hey, why torture yourself. There are more efficient processes. In some ways, workflow for Unity is easier than SOME of the traditional workflows that have long became archaic in contemporary PC demo coding on the larger megademos that may require gigabytes.

A small <256KB demo can easily be done in more traditional (old school ) processes. Older 2d graphics and some old school wireframe and flat shade 3d stuff like we did on the Amiga 500 back in 1987 to 1992 can be efficiently done in old school ML. There are times you have to change your work flow and method of getting to the end goal.

Unity is more efficient with the 3d stuff that it was most certainly designed for and you can make a demo that is centered around that style and method. It can be done if you know what you are doing.

You have to know the work flow. If you are using actual models versus trying to procedurally generate complex models by code. On the C64, we didn't procedurally generate the bitmaps graphics for like the logo graphics for your demo group. We made those gfx using the art programs of choice. In those days, a relatively few machine language instructions would be needed to display a bitmap onto the screen but you need the bitmap data to display. There are workflows from the simple one-filers to the more complex one requiring loading routines such as one of the favorites.... IRQ loader routines.

In the modern PC world with modern multitasking OSs, you need to work with the OS system APIs or you get all kind of hell and unhappiness from the OS and so forth. Sometimes with its proverbial middle-finger as a response to you. Amiga was back in the day (well classic Amiga and classic Amiga OS) where you can do some "naughty" programming/coding practices that you most certainly don't do in Windows or you get the M$ Operating System's "middle finger". That's the way it is.

The point of making demo is "artistic expression" but it takes practice and making demos to eventually do the so-called "cool demos". We are talking about subjective terms here. What is "cool"? We all have a different opinion, ultimately. I suspect you mean the "demos" that uses advanced techniques and effects in a creative yet artistically tasteful manner with excellent correlation and flow of visual and aural elements and content flow, atmosphere and all.

You don't get there the first time on your first attempt at demo making... period. It isn't going to happen on Unity or any other method to making demos. There is no such thing as a click a button and generate me a cool demo to show off. I agree with you but if you are immediately assuming everyone that may be thinking of using Unity is assuming that there is such a button/icon to do such a thing is also idiotic to assume. Why is such a person wanting to using Unity may behoove you but don't assume unless you know why. Maybe they know Unity well and make video games as a working job and they may want to make some demos and thought that maybe with what they know about the capabilities and workflow process of Unity that they can make a demo because it isn't out of reach.

I'd say, I can use voxels and do plasma effect with voxels. I'm confident it is within the game engine's capabilities. You can do more than that. I'm not against that or oppose the concept of someone doing a demo using Unity.

You have to be creative about your approach. Yeah, you can do it. I probably can do something to the 'effect' of rasterbars like effects in the 3d scene with the use of voxels. Sure, it wouldn't be as easy as the ML programming on a 6510 processor on the C64 using the VIC-II chip and some manipulations of some registers and all. Yeah, but it's only 2d and not something you'd do in a 3d display environment and that requires a different approach.

Maybe, rethinking the idea or attitude a little maybe a start for meaningful discussion on how one might go about making a demo in Unity. Will it be easy to make a "cool" demo? No. I'm not claiming it and I think most aren't. Most new demo sceners aren't even looking at making a "cool" demo, yet..... but aspire to being able to do that at some point. Most won't know what it will take to get there and have varying ideas about what it takes but yeah.... often underestimating the work involved.
added on the 2021-03-14 11:36:15 by Wildstar Wildstar
I would just like to reiterate my point that I continue harping on about that the biggest strength of Unity / UE isn't in the rendering features but the UI, the tooling and the pluggable assets. Demos look nicer when you let the artist do their thing without impedance.
added on the 2021-03-14 12:52:33 by Gargaj Gargaj
Very much agree. Better tooling means more time to iterate and Make Stuff Good, and that's what it's all about... as quick and painless iteration loop as possible.
added on the 2021-03-14 16:25:57 by farfar farfar
The biggest strength of Unity / UE is that a demo does not require a coder anymore, which is very far from the origins of demomaking, and which is why some of us are reluctant. Having Unity / UE + a coder is even better of course. Don't worry, soon AIs will make everyone irrelevant. The train of "progress" is running full speed and no-one will stop it, no matter how strongly some of us may protest.
added on the 2021-03-14 17:27:07 by Soundy Soundy
Soundy,

Maybe not. While you can get by to a certain degree with visual script but some stuff that is in the world and domain of demo needs to be orchestrated with code and there is still a need for coding like C# which is still coding even if it is a different language than C or C++ but still close enough. The coder is important because the coder's code has to be the conductor of this orchestra of visual and aural art.

Remember that. Visual Script platform won't be able to put this entirely into automation the way it is done in demos.... at least not all of it. Code is still required even if it isn't as much. The procedurally generated stuff sure the heck does need some code to invoke but not just invoking but when to invoke it because code is the conductor in this.
added on the 2021-03-15 08:21:24 by Wildstar Wildstar
Coders won’t become obsolete for the same reason other disciplines arent becoming obsolete: we’re doing this because we like doing it / it carries its own purpose... it’s not a production line. If Unity/UE/other tool allows non-coders to make demos, then that’s a net positive, not a negative thing.
added on the 2021-03-15 12:51:06 by farfar farfar
Soundy: That's the point I strongly disagree with. going non-code with Unity won't bring you that far(far) unless you wanna stick to some superboring PBR flyby. Anything more 'demoscene', as in, more abstract or something that would qualify as a demo effect requires that you have to get* or make your own surface shaders and/or scripting.

*) Yes, you can scavenge 3rd party packages for shaders/effects/etc ... then again, you can also drop shadertoy shaders in your self-written highly-customized opengl engine as some Assembly demo a few years demonstrated. Or read GPU gems. Or use Assimp. So "you're borrowing other people's code or shaders" is not a disqualification attributable to using Unity that's a disqualification of sceners taking shortcuts. and why not? :P
Quote:
Coders won’t become obsolete for the same reason other disciplines arent becoming obsolete: we’re doing this because we like doing it / it carries its own purpose... it’s not a production line. If Unity/UE/other tool allows non-coders to make demos, then that’s a net positive, not a negative thing.

Partly true, but if the artists have an easier time using a third party engine because of the thousands of manhours spent on the UX that an average demo coder can't match, then there is no incentive for the artist to work with the coder.

There is a reason why the raymarchy 4ks are so popular: coders on that are not engine or UI coders they're technical artists, they don't need an artist to get stuff looking nice. Coders like myself who are not at all artistically talented but are more focused on making sure stuff runs fast and the pipelines are quick and convenient, or can implement an effect when told but aren't as inclined to come up with one or have a sensibility for how it would look good, well, we are not in demand anymore.
added on the 2021-03-15 13:15:10 by Gargaj Gargaj
Sorry, fuck, this is long. First, of course we're talking about high end machines demomaking here, and being an Amiga coder, Unity/UE is a non-topic ;)
Yes, you still need some code to script Unity, and I don't call it coding. This is parameterization, scripting at best, and a lot of people can do it. You don't need someone that dedicated time becoming a good coder to achieve this, and I know many artists that can script Unity very well by themselves.
Yes, you can pick shaders from shadertoy, Gems, etc. You can also use stock textures, anims from Mixamo, and the scene history is full of scanned pics and stolen commercial musics. So at some point, yes, demos are a combination of more or less original content (like pretty much everything in art). And yes, it's definitely better to spend time coding original effects than coding knobs and sliders: If you have a tool, use it!
What I'm trying to understand is the essence of a demo. I wrote: "a demo does not require a coder anymore, which is very far from the origins of demomaking". I did not mention how far you could go without a coder, what I'm interested in is the paradigm shift: while demomaking was born from coders (cracktro coders), you can now make a very good looking demo without coders. Coding is a way to explain to a computer something you want it to do. As the tools get better and better, that explanation becomes easier and easier to give, we started with assembler, now buttons and timelines cover a lot of the job. It would be in the logic of evolution to see coding disappear.
Getting back to the essence of a (high-end) demo, I often read that real-time is a crucial component, and I must confess I don't understand why. If the goal of a demo is to "express yourself", and no matter if you're using professional tools or not, use Houdini, write 3DS Max plugins, create videos, express yourself as freely as you can, don't impose constraints to yourself! Keeping it real-time is a way to add some technical constraint, so somewhere the technical challenge still counts? But with the evolution of hardware and software, everything is going to become so powerful that the real-time constraint will become a vague concept.
Don't get me wrong: I'm not a "the scene is dead" guy, I'm genuinely wondering where this is going.
added on the 2021-03-15 15:47:14 by Soundy Soundy
the goal of many a coder is to optimise themselves out :)
(by creating systems and tools that are sufficiently good that they do the job, or facilitate others to do the job more efficiently)
added on the 2021-03-15 15:51:34 by smash smash
I thought we were supposed to write barely working code that only we understand, forcing our employers to retain us for many years at great expense?
added on the 2021-03-15 16:07:29 by evilpaul evilpaul
The demoscene is not regulated. Do whatever you want.
added on the 2021-03-15 19:33:09 by thec thec
But but... that'd be ANARCHY!


;-)
added on the 2021-03-15 19:43:49 by El Topo El Topo
you're clearly not reading the current oneliners, Albert ;)
Quote:
Partly true, but if the artists have an easier time using a third party engine because of the thousands of manhours spent on the UX that an average demo coder can't match, then there is no incentive for the artist to work with the coder.

There is a reason why the raymarchy 4ks are so popular: coders on that are not engine or UI coders they're technical artists, they don't need an artist to get stuff looking nice. Coders like myself who are not at all artistically talented but are more focused on making sure stuff runs fast and the pipelines are quick and convenient, or can implement an effect when told but aren't as inclined to come up with one or have a sensibility for how it would look good, well, we are not in demand anymore.


I guess it depends who you ask. If you like to work on convenient tooling and are in search of an artist to do a prod with, I'd be first in line :)
added on the 2021-03-15 19:54:01 by farfar farfar
Pouet is not the demoscene Maarten ;)
added on the 2021-03-15 22:19:10 by thec thec
Quote:
Sorry, fuck, this is long. First, of course we're talking about high end machines demomaking here, and being an Amiga coder, Unity/UE is a non-topic ;)
Yes, you still need some code to script Unity, and I don't call it coding. This is parameterization, scripting at best, and a lot of people can do it. You don't need someone that dedicated time becoming a good coder to achieve this, and I know many artists that can script Unity very well by themselves.
Yes, you can pick shaders from shadertoy, Gems, etc. You can also use stock textures, anims from Mixamo, and the scene history is full of scanned pics and stolen commercial musics. So at some point, yes, demos are a combination of more or less original content (like pretty much everything in art). And yes, it's definitely better to spend time coding original effects than coding knobs and sliders: If you have a tool, use it!
What I'm trying to understand is the essence of a demo. I wrote: "a demo does not require a coder anymore, which is very far from the origins of demomaking". I did not mention how far you could go without a coder, what I'm interested in is the paradigm shift: while demomaking was born from coders (cracktro coders), you can now make a very good looking demo without coders. Coding is a way to explain to a computer something you want it to do. As the tools get better and better, that explanation becomes easier and easier to give, we started with assembler, now buttons and timelines cover a lot of the job. It would be in the logic of evolution to see coding disappear.
Getting back to the essence of a (high-end) demo, I often read that real-time is a crucial component, and I must confess I don't understand why. If the goal of a demo is to "express yourself", and no matter if you're using professional tools or not, use Houdini, write 3DS Max plugins, create videos, express yourself as freely as you can, don't impose constraints to yourself! Keeping it real-time is a way to add some technical constraint, so somewhere the technical challenge still counts? But with the evolution of hardware and software, everything is going to become so powerful that the real-time constraint will become a vague concept.
Don't get me wrong: I'm not a "the scene is dead" guy, I'm genuinely wondering where this is going.


Actually, you can do quite a bit of coding with Unity. You have a complete programming language after all. That's another topic altogether but what exactly are you doing in the demo. For example, you are parameterizing the registers of the VIC-II chip by storing values into its hw registers. You don't talk directly to hardware on more modern OSs. It crashes the computer/OS or cause all kinds of fuss with OS. It's considered bad form in more contemporary OS. So your API is the OS's API. A game engine is kind of an API layer between that of the game and the underlying OS API to hardware.

Wonder why the Guru meditations on the Amiga operating systems when you side-step the Workbench's OS API? Even on the Amiga, some of the methods, the OS had a fuss with so you moved to self-booting from Kickstart demos without loading the whole Amiga OS.

We can do the same thing and sidestep Windows with demos that runs straight from BIOS. We can do that but then what..... are you going to completely rewrite an entire API to the entire RTX video card? Uh.... these are a lot more complicated hardware than the Fat Agnus was. (No disrepect for the Amiga.... I have two Amiga 500 and an Amiga 1200). They were advance for their time but Amiga was introduced to the world in 1984 as the Lorraine project at Hi-Toro (Amiga) before they were acquired by Commodore and released in 1985 with the Amiga 1000.

Working with an Amiga or a Commodore is closer to that of programming for a game console than a contemporary PC with all kinds of video cards and not just the nVidia chipset but also the AMD/ATI GPU architecture, as well as the myriad of chipsets and CPUs and their varying differences. You need to practically build an entire OS and API framework like you see on Linux and Windows. Otherwise, you'd be more limited to the hardware that works with say... AROS (standalone not hosted on top of Linux/Windows).

Demo effects like plasma effect is going to need coding to script it to process and orchestrate the way you want the effects. How about move 3d spherical object in a sinus pattern in 3d space while rotating another 3d object and procedural changes. You need some code.

Yes, on the C64 and Amiga, there is some demos where the demo group is really trying to push the limit of those machines. I don't have anything against that. There are other sceners that are not as driven to pushing the machine to its limits as much as the composition of the demo as an art form. I am not as crucial on the notion of "real-time". Would the Trap demo from the C64 be a demo? Is it "real-time" enough? What is the minimum frames per second to be real-time? We get into a rabbit hole of debates over these technical opinions.

I say, chill a little. Otherwise, plenty of stuff you seen on CSDb and Amiga demoscene sites won't qualify by some individualistic opinions that do exists. Elitism doesn't always help
added on the 2021-03-16 12:49:35 by Wildstar Wildstar
Indeed, depending on what you're trying to accomplish as a demo, you can (and probably have to) code a shitload of custom shit in Unity. Again, there's a lot of prefab shit in there, but that doesn't get you far from a demoscene stance. It's mostly the boring engine and data parsing stuff that you can skip and as Gargaj said, there's a nice existing UI/UX you can hook your "parameterization" into, but other than that, there's no much more basis for a demo. So claiming it's less effort, cheating, not up par with doing copperbars for the millionth time on an Amiga is bullshit :) Despite i use Unity every day, I still probably wouldn't choose Unity to make a demo with because of all the Unity specific bullcrap you have to stick to (unless you code your own replacements for the built-in tools) and have to learn first to get it all to play nice with what you want.

Quote:
Yes, you still need some code to script Unity, and I don't call it coding. This is parameterization, scripting at best, and a lot of people can do it. You don't need someone that dedicated time becoming a good coder to achieve this, and I know many artists that can script Unity very well by themselves.

And that... get a clue :D
Quote:
So claiming it's less effort, cheating, not up par with doing copperbars for the millionth time on an Amiga is bullshit


It's not the question here what is difficult but what is demo and what do we expect from demos in terms of originality and DIY - traditional demoscene values.

(Also the Goal of the Century was difficult but it doesn't automatically mean it's a demo. If the football compo is not there, maybe try wild compo)
well, then your traditional demoscene values and definition for originality are wrong. next! :D
Quote:
there's no much more basis for a demo. So claiming it's less effort, cheating, not up par with doing copperbars for the millionth time on an Amiga is bullshit :)

That is, until you discover the asset store.
added on the 2021-03-16 14:45:01 by Gargaj Gargaj

login