Author Topic: Demo Engine coders  (Read 11082 times)

0 Members and 1 Guest are viewing this topic.

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Demo Engine coders
« on: January 31, 2008 »
A question for demo coders really.
Is it difficult to make an executable 3D engine for demos, like the yearly
releases of Farbrauch?

Just the engine part is what I need some advice on.
and, What kind of support requirements would a 3D engine like that have?
Such as 3D mesh import/alpha support/fog etc...  :-\

Online va!n

  • Pentium
  • *****
  • Posts: 1435
  • Karma: 109
    • View Profile
    • http://www.secretly.de
Re: Demo Engine coders
« Reply #1 on: February 01, 2008 »
the question what do you want to code for? DirectX or OGL? I think writing some standalone 3D effects (3d cube i.e) should not be so hard... but if you want to code a real demo engine like farbrausch use it in WZ then i am sure this is a long and hard way (with a lot of experience).
- hp EliteBook 8540p, 4 GB RAM, Windows 8.1 x64
- Asus P5Q, Intel Q8200, 6 GB DDR2, Radeon 4870, Windows 8.1 x64
http://www.secretly.de
Challenge Trophies Won:

Offline taj

  • Bytes hurt
  • DBF Aficionado
  • ******
  • Posts: 4810
  • Karma: 189
  • Scene there, done that.
    • View Profile
Re: Demo Engine coders
« Reply #2 on: February 01, 2008 »
A question for demo coders really.
Is it difficult to make an executable 3D engine for demos, like the yearly
releases of Farbrauch?

Just the engine part is what I need some advice on.
and, What kind of support requirements would a 3D engine like that have?
Such as 3D mesh import/alpha support/fog etc...  :-\

Yes.

Its an interesting question what it would contain. I'll take a stab at answering:
* Scripting engine
    - can script most of the below...
* FPS counter
* Mesh importers
   - supports animation too
   - supports texturing
   - mesh subdivision (optional)
* Image importing with masks
* Texture gen engine (FRs supports this)
* Particle system
* Rendering Effects
  - shadows
  - (AO - optional for now)
  - HDR
  - Phong
* Layer handling framework
  - offscreen rendering for various layers
* Transition framework
   - fade, wipe etc.
* Postprocessing framework
  - render to texture support
  - render to Vertex buffer (optional)
  - defaults like glow, blur, radial blur, static, scanlines etc.
* Shader framework (eg GLE)
* Sound playback engine
  - synch with graphics required
* Loading and options dialogues
  - should auto detect useful settings from graphics card
  - Loading sequence
* Would need to support compiling in several forms
  - DLL for use with demo tool
  - Debug/release mode
  - possibly size crunched mode (optional but FRs lib does this now)
* Clock handling


Gotta go to work...
« Last Edit: February 05, 2008 by taj »
Challenge Trophies Won:

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Re: Demo Engine coders
« Reply #3 on: February 04, 2008 »
Thanks Va!n, taj.
That's pretty much what I expected to hear.

Has anyone on dbf made anything related to a 3D engine (such as a real-time flyby) ?
or a OGL/D3D screensaver ?

Online va!n

  • Pentium
  • *****
  • Posts: 1435
  • Karma: 109
    • View Profile
    • http://www.secretly.de
Re: Demo Engine coders
« Reply #4 on: February 04, 2008 »
@Xone:
Take a look to FreeBasic and OGL 3D Demos! I am not a FB coder but i have seen some nice OGL 3D based things like a 3D city with a spaceshio or something like this (which was very impressive to me). Or you have to use an public or comercial available 3D engine.
- hp EliteBook 8540p, 4 GB RAM, Windows 8.1 x64
- Asus P5Q, Intel Q8200, 6 GB DDR2, Radeon 4870, Windows 8.1 x64
http://www.secretly.de
Challenge Trophies Won:

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Re: Demo Engine coders
« Reply #5 on: February 04, 2008 »
@Xone:
Take a look to FreeBasic and OGL 3D Demos! I am not a FB coder but i have seen some nice OGL 3D based things like a 3D city with a spaceshio or something like this (which was very impressive to me). Or you have to use an public or comercial available 3D engine.
Yeah, I want to avoid the commercial option if possible.
I've been having a look into Thin Basic, but couldn't find much in the way of examples.
I'll check out freebasic asap.

Where can i find that city demo, do you have a link?

Offline rain_storm

  • Here comes the Rain
  • DBF Aficionado
  • ******
  • Posts: 3088
  • Karma: 182
  • Rain never hurt nobody
    • View Profile
    • org_100h
Re: Demo Engine coders
« Reply #6 on: February 04, 2008 »
Freebasic comes complete with examples of OpenGL included they might be a better place to start rather than trying to understand a full 3d engine. Bit I think stonemonkeys 3D engine is done in FB with OpenGL. I might be mistaken but its worth a look

  http://dbfinteractive.com/index.php?topic=1771.0

Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17422
  • Karma: 499
  • evil/good
    • View Profile
    • My Homepage
Re: Demo Engine coders
« Reply #7 on: February 04, 2008 »
Having said all that, there are at least half a dozen people on this forum who have coded thier own 3D engines.

Some of them are even software rendered.

Stonemonkey has done some great things in developing his 3D engine in software, but having done software rendering myself for the last few years and got quite far along, Opengl would be much easier for you to use.

I'm sure that a search of this forum would bear fruit.
I know there are examples of what can be done with hand made 3D engines on here...
Shockwave ^ Codigos
Challenge Trophies Won:

Offline taj

  • Bytes hurt
  • DBF Aficionado
  • ******
  • Posts: 4810
  • Karma: 189
  • Scene there, done that.
    • View Profile
Re: Demo Engine coders
« Reply #8 on: February 04, 2008 »
Having said all that, there are at least half a dozen people on this forum who have coded thier own 3D engines.

True but the question was a 3d engine like Farbrausch, which is why I listed those particular features.
Challenge Trophies Won:

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Re: Demo Engine coders
« Reply #9 on: February 04, 2008 »
Does something like that require a team of programmers ?

Offline taj

  • Bytes hurt
  • DBF Aficionado
  • ******
  • Posts: 4810
  • Karma: 189
  • Scene there, done that.
    • View Profile
Re: Demo Engine coders
« Reply #10 on: February 05, 2008 »
Does something like that require a team of programmers ?

 It would be built on a plug-in framework where each new demo would add new features so in the end yes its done by a few programmers. The real key of something like FRs engine is to spend a lot of time on infrastructure, not on graphics. Define your data types well, your apis for plugins, your event system (what happens when) and your scripting. Then each new demo can add more features to the system.

Something simple? One guy can do it. Like Shockwave said, several people round here have built engines for themselves.

However I've heard one really great piece of advice before so I'll repeat it.
Before you code a demo engine, code some demos.
Challenge Trophies Won:

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: Demo Engine coders
« Reply #11 on: February 05, 2008 »
Quote
Does something like that require a team of programmers ?
Well, it depends how long you want it to take and whether you want to understand it all yourself ;D  It can be done on your own, but it'll take some time.  You'll learn a load of things though.  You can build a 3D engine to render silly things in a few hours, but really good stuff takes ages.  I know Stonemonkey's been working on his Nice City 3D engine for years, on and off, and my own personal latest engine has had several hundred hours in it and it's not a patch on some of the things being released in the scene today.  I generally add new features when I need them, be it 3d model formats, animation, sprites, render to texture, or other fx.

Jim
Challenge Trophies Won:

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Re: Demo Engine coders
« Reply #12 on: February 05, 2008 »
It would be built on a plug-in framework where each new demo would add new features so in the end yes its done by a few programmers. The real key of something like FRs engine is to spend a lot of time on infrastructure, not on graphics. Define your data types well, your apis for plugins, your event system (what happens when) and your scripting. Then each new demo can add more features to the system.
The fact that you can make more in less time afterwards is definately a nice advantage.

This info really makes you appreciate the thought/effort that goes into them, much like
a game engine. Thanks for the advice.
Ok, so i'm doomed with my initial idea  :-\
More questions:

1) What's the different between an intro and a demo ?
It sounds obvious, but I better ask so i don't get my facts wrong  :P

2) I keep reading about 64kb file size limits. Why?  is this a rule you have to stick to, or can you
make any size of intro/demo ?
Surely if you make a bigger sized demo/intro, it has more scope to be impressive. Or is this the whole
point... to get as much into a small file as possible which packs a punch when executed.

3) Do they have to be entirely code driven? If for example, you used imported models/animation from a
3d application, would this be classed as a demo/intro still ?

Offline taj

  • Bytes hurt
  • DBF Aficionado
  • ******
  • Posts: 4810
  • Karma: 189
  • Scene there, done that.
    • View Profile
Re: Demo Engine coders
« Reply #13 on: February 05, 2008 »
It would be built on a plug-in framework where each new demo would add new features so in the end yes its done by a few programmers. The real key of something like FRs engine is to spend a lot of time on infrastructure, not on graphics. Define your data types well, your apis for plugins, your event system (what happens when) and your scripting. Then each new demo can add more features to the system.
The fact that you can make more in less time afterwards is definately a nice advantage.

This info really makes you appreciate the thought/effort that goes into them, much like
a game engine. Thanks for the advice.
Ok, so i'm doomed with my initial idea  :-\


Or maybe downsize your expectations a bit. Try writing a demo by hand first and see how far you get! It takes years to get to the level of FR so don't focus on them. Focus on your own thing but always do something new (so you learn). I still think its great advice, dont write a demotool until you've written a demo (or three). A great way to start is one of the competitions here, except the current one, but most of the time they are demo related. Shockwave announces them about every two months on average.



Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17422
  • Karma: 499
  • evil/good
    • View Profile
    • My Homepage
Re: Demo Engine coders
« Reply #14 on: February 05, 2008 »
Quote
A great way to start is one of the competitions here, except the current one, but most of the time they are demo related. Shockwave announces them about every two months on average.

There's a really great challenge comng up before the game competition is over in fact, I'll be announcing it at the end of next week, so the two challenges will overlap.

The reason is that posts are picking up here again now after the Christmas period.

Hopefully Xone, you can have a go at the next competition and hopefully you'll enjoy it as much as everyone else here does :)
Shockwave ^ Codigos
Challenge Trophies Won:

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2757
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Demo Engine coders
« Reply #15 on: February 06, 2008 »
Quote
1) What's the different between an intro and a demo ?
It sounds obvious, but I better ask so i don't get my facts wrong
@Xone: intros consist essentially by one or two scenes and they don't have .exe size restrictions, you can find some examples here:
http://www.pouet.net/prodlist.php?type[]=intro
Sometimes you well see someone saying "4k intro" or "64k intro" but is just because those small size categories in it's majority have few scenes (effects), but there's some 4k and 64k that really looks like demos, here some examples for both category:
http://www.pouet.net/prodlist.php?type[]=64k
http://www.pouet.net/prodlist.php?type[]=4k

Quote
2) I keep reading about 64kb file size limits. Why?  is this a rule you have to stick to, or can you make any size of intro/demo ?
64k size limit is only one category in demoscene, you can make a intro or demo in any size you want but for an intro which consist of few scenes you will be more respected if you code it in small size as possible and better quality/innovation as possible too.

Quote
Surely if you make a bigger sized demo/intro, it has more scope to be impressive. Or is this the whole point... to get as much into a small file as possible which packs a punch when executed.
If you make a bigger (size) demo/intro, you will need to make some really kick ass effects to impress and a well designed production helps a lot, and of course you will need really good music.

For 4k/64k intros the whole point of it, as you said, is to show the best effects/scene as possible and good sound too, someone could watch your 4k/64k intro and say "how the hell you put all that stuff using only 4kb ? Very impressive!"
Here some examples for you to check out:
http://www.pouet.net/prod.php?which=13017
http://www.pouet.net/prod.php?which=31522
http://www.pouet.net/prod.php?which=12821
http://www.pouet.net/prod.php?which=18252

Quote
3) Do they have to be entirely code driven? If for example, you used imported models/animation from a 3d application, would this be classed as a demo/intro still ?
Yes, you could have your models/animation imported from 3D application, no problem :)
You can check out some demos here:
http://www.pouet.net/prodlist.php?type[]=demo&platform[]=Windows

Search for prods from ASD / MFX / Traction / Farbrausch they are really good examples for you.
Challenge Trophies Won:

Offline Xone

  • C= 64
  • **
  • Posts: 79
  • Karma: 10
    • View Profile
Re: Demo Engine coders
« Reply #16 on: February 06, 2008 »
Some great info, thanks all.

you can have a go at the next competition and hopefully you'll enjoy it as much as everyone else here does :)
If it's code related then I probably won't enter, but I look forward to it anyhow  :)
To be honest shockwave I came here for collaborative reasons more than fun.
But it's great to see a forum with members who are actually putting the work in and acheiving the practical, helping each other solve complex technical problems to reach common goals in a fascinating line of industry.
That's why I am still here and enjoying what I have seen/read so far. Full respect to dbf  8)
I already feel like I have been here a long time.

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Demo Engine coders
« Reply #17 on: February 09, 2008 »
...
There's a really great challenge comng up before
the game competition is over in fact, I'll be announcing
it at the end of next week, so the two challenges will
overlap.
...

Any news on that, Shocky ?
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17422
  • Karma: 499
  • evil/good
    • View Profile
    • My Homepage
Re: Demo Engine coders
« Reply #18 on: February 09, 2008 »
Not yet Benny, I'll post the announcement after the 12th :)
Shockwave ^ Codigos
Challenge Trophies Won:

Online va!n

  • Pentium
  • *****
  • Posts: 1435
  • Karma: 109
    • View Profile
    • http://www.secretly.de
Re: Demo Engine coders
« Reply #19 on: February 10, 2008 »
@Xone:
Maybe following link may be intersting for you and answer some questions to you like different of intro  and demo and other scene related things ^^

http://tomaes.32x.de/text/faq.php == PC Demoscene FAQ
- hp EliteBook 8540p, 4 GB RAM, Windows 8.1 x64
- Asus P5Q, Intel Q8200, 6 GB DDR2, Radeon 4870, Windows 8.1 x64
http://www.secretly.de
Challenge Trophies Won: