PDA

View Full Version : NEF



Mrwb
28-03-2004, 09:51 PM
NEF is a demo/intro creation tool.

NEF features a player and an editor. The player is non-vcl, and is currently 18kb packed. The files generated by the editing tool varies from 500bytes to 30kb depending on the demo length and the amount of layers/scenes.
The file contains all drawing information, timing and other stuff.
NEF uses pure OpenGL, with the exception of the editor which uses the GLXDraw and GLXTimer components to show the stuff.

All editing happens in realtime, meaning you can watch any changes as you change them, and you can access everything at once.
The editor includes a texture generator, (which is very very very basic at the moment) and tree scene composing as well as other usefull stuff ;)

NEF is fairly fast, (considering my extremly lame coding) it runs at 2000-3000 FPS when idle, and about 500-800FPS when rendering something. (lowest FPS I've had was 470).

For sound, FMod is used, but I will write my own sound playback code as the project evolves. The main goal sound-wise, is creating a softsynth making it more intro friendly (currently no sound for intros) ;)

I've been working with this for about 6 days now, and it seems as though I'll be working on it for quite some time.


http://home.c2i.net/cmv/nef1a.jpg

Paulius
29-03-2004, 06:04 AM
That's a very nice idea. Hope to see more of it. What doe's NEF stand for?

Mrwb
29-03-2004, 02:46 PM
That's a very nice idea. Hope to see more of it. What doe's NEF stand for?

NEF stands for Not Exactly Flash ;) naming stuff isn't my strongest side to say the least.. ;)

WILL
30-03-2004, 10:52 AM
Very cool indeed. What sorts of uses do you expect this to be able to be used for. And how will these demo like presentations be ran/distributed when releaseable?

Mrwb
30-03-2004, 02:08 PM
Very cool indeed. What sorts of uses do you expect this to be able to be used for. And how will these demo like presentations be ran/distributed when releaseable?

I will use it to create demos and intros. (check out http://tomaes.32x.de/text/faq.php if you don't know about the demoscene) The demos will be distrubuted as a player together with the data created by the editor. The demo is then runned by simply executing the player (it will open and run the file automaticly). I'm working on a build system though which will include the editor file in the player .exe.

WILL
30-03-2004, 08:05 PM
Oh I know what the demoscene is. ;) I was right into it in the early 90s... and even now with MODules. Thats how I got into in-line ASM with Pascal. Ever hear of Denthor and his infamous tutes? It's the bible of demo effects using Assembly. Couldn't tell you where to find them now since all the good demoscene sites are almost exstinct. Maybe DemoScene.org?

Alimonster
01-04-2004, 07:08 AM
Denthor's tutorials are over at Gamedev (http://www.gamedev.net/reference/list.asp?categoryid=40#30) (but in alphabetical order, rather than numeric order). I've also got the originals sitting on my hard disc, no doubt (plus the C++ conversions by Snowman).

You should also be able to get Denthor's stuff from Hornet's Archives (http://www.hornet.org), although it may be a pain to find them.

Btw, good stuff Mrwb! Are you planning to make your own demos with this tool at any point?

Mrwb
01-04-2004, 05:39 PM
Btw, good stuff Mrwb! Are you planning to make your own demos with this tool at any point?

Well, I'm trying to organize a demogroup with some friends, and we will probably use the tool to do our demos.
The main idea is that the graphican(s) should be able to do demos without the coders since they could probably create better designed ones.
So when the tool is completed, my role in the group will only be to add stuff to the tool and fix bugs. Thats the main idea anyway ;)

Mrwb
06-04-2004, 10:56 PM
Haven't had much time to work with NEF the past days, but I just fixed some bugs in the player. Also, I've created a rather nasty looking demo of the player to show how stuff is distrubuted. It shows some very basic stuff, like text printing, rotating cubes and torus, and a background effect.

Also, keep in mind that I haven't started coding the actuall GFX stuff
yet, so it looks rather nasty ;)

You can get it here: http://home.c2i.net/cmv/Ugly_NEF_Demo.zip (14.9kb)[/url]

Paulius
07-04-2004, 11:52 AM
For me it exits on startup without showing any error messages or anything.

Mrwb
07-04-2004, 12:09 PM
For me it exits on startup without showing any error messages or anything.

Ouch. :? whats your system?

I'll test it out on different machines and do some debugging. I had a similar issue with a previouse version, after lots and lots of debugging and re-writing, I found out that a I/O bug caused the main timer interval to set to 0, so the whole demo played trough in 40ms...

EDIT: just sent the file to a couple of friends, apears to be running fine on AMD CPU, GForce4 Ti4400, WinXP and GForce4 ti4200, WinXP, P4 2.8

EDIT2: tested it on my laptop, (P4 2.53GHZ ATI Radeon Mobility 7500) won't run at all (same error you described) :(
Also tested on a machine running ATI RADEON 64mb MyVivo, works just fine.

Alimonster
07-04-2004, 05:02 PM
I get the same problem (immediate exit without any message).

Windows XP
Athlon 2.4
256Mbyte Radeon 9800 Pro (catalyst 4.3)
Audigy 1
DirectX 9.0b

Screen res: 1152x864x32

Mrwb
07-04-2004, 05:37 PM
I just fixed the bug (I think). It now runs on my laptop, so I think I got it.
The new file can be fetched here:

http://home.c2i.net/cmv/Player.zip[/url]

Mrwb
18-06-2004, 01:22 PM
Well, I've done lots of stuff since my last post about this project. NEF has gone through a lot, and can now export to a pascal include which is compiled into a small template resulting in 63kb files with music. (MIDI ATM, softsynth under development) But, two days ago, I got a new idea, so I started from scratch.. Now I have a new working tool which uses a completely new method for the creation although it works the same way. Now the editing is done with blocks representing stuff in the render loop.

Here's a screeny:

http://home.c2i.net/cmv/nef2.jpg

And in case anyone wonders how the newest version of NEF1 looks:

http://home.c2i.net/cmv/nef1.jpg

EDIT: Some technical stuff:

NEF1:
- Keyframing
- Pascal include export
- Realtime viewing while creating the intro
- Layer-like building of the intro allowing combination of several scenes (patterns)
- Can use .dll's for customized effects

NEF2:
- Will have everything NEF1 has +++ ;)

The biggest different from NEF1 and NEF2, is that NEF2 allows linking of "building blocks", meaning you don't have to recreate a specific block, you just link them. It is also 100% OOP, while NEF1 was function based.

Paulius
18-06-2004, 02:12 PM
The werkkzeug has you :)

Mrwb
18-06-2004, 02:15 PM
Paulius: No shit ;) The werkkzeug and addict releases was mainly my motivation for doing a complete rewrite. The werkkzeug is simply amazing, and was definatly a great inspiration when doing this project. Actually, Chaos' seminar from asm03 gave me the inspiration I needed to start the whole thing ;)

Mrwb
01-07-2004, 08:37 PM
I need some help...
I have dumped the rewrite and started working on the first version again.
The thing is, I've been optimizing some stuff, and suddenly my exe has dropped to about 25kb with music. This is all well, but I don't get why. You see, no matter how big the MIDI resource is, the exe always comes out 25-26kb. :? I have an example intro created with the nef which I would be most greatfull if someone could test it to check that everything works.
It contains three scenes, all of them looks quite awfull since I haven't started doing the effects yet ;)

http://home.c2i.net/cmv/Intro.exe (26kb)

The Midi included is 68kb, and the player core alone should be around 20kb compressed, and the project include should add about 3-4kb to the compressed exe, so this is IMO a bit wierd seeing that MIDI doesn't pack _that_ well. It's compressed with UPX using the --best switch..

Paulius
01-07-2004, 10:15 PM
Works fine, and youre midi compresses quite great 67,5k to 2,23k zipped.

Mrwb
01-07-2004, 10:26 PM
Thanks for testing it :) I'm glad it worked. Had some issues with the earlier versions. And I had no idea MIDI compressed that well.

Paulius
02-07-2004, 09:12 PM
Where did you get that midi file? I don't know much about midi format but the smallest I got was a minimalistic 7k compressing to 3,3k :scratch:

Mrwb
02-07-2004, 11:42 PM
I can't really remember where I got it, but I got hundreds of them which I use for ringtones.. You can find some on my homepage, direct link: http://home.c2i.net/cmv/ringtones.html

I just checked out the compression ratio of my other trance-style midi's, and it seems they are all compressing extremely.. Check out the planet perfecto on my page, it's 116kb, and compresses to +-3kb.. I even got one down to 672bytes from 19kb.. Something for a 4k maybe? ;)
Oh, I also checked a random midi from my midi folder, compressed from 28kb to 1011 bytes... :? If you want, I can zip them all down and send them to you.