Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Hell has frozen over! (Dragon King wip?!?)  (Read 7619 times)

0 Members and 1 Guest are viewing this topic.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Hell has frozen over! (Dragon King wip?!?)
« on: January 22, 2008, 03:11:38 pm »
Yup, looks like that elusive "vaporware" final release might happen after-all.

Check the blog:

http://dragonking.arcadecontrols.com/index.php

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #1 on: January 22, 2008, 08:02:11 pm »
So how many next gen 3d FE's are there now? hmmm ;)

Havok

  • Keeper of the __Blue_Stars___
  • Trade Count: (+17)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4530
  • Last login:June 22, 2025, 02:32:40 am
  • Insufficient facts always invite danger.
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #2 on: January 22, 2008, 10:38:12 pm »
** Havok sneezes **

Bullsh*t...

j/k

 ;D

I'll be checking it out...

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #3 on: January 23, 2008, 03:13:07 am »
Great work BTW Howard  :applaud: Sounds like that memory leak was causing some serious thrashing. I had a similar problem with my engine in that playing 2 or more video's at once would result in my PC resetting itself. I'm still not 100% sure what that was but it bugged me for ages. I think it's a video card issue as the same thing happened to me playing a game on it recently.

So I wonder how DK will stack up to Khameleon now? It's nice to see some DirectX/OpenGL FE's finally come out...

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #4 on: January 23, 2008, 04:12:01 am »
From your blog...
Quote
Like before Feburary is out soon!


February which year???   ;D

I'm just kidding...  ;)


I'm looking foward to see that.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #5 on: January 23, 2008, 08:59:50 am »
Nice!   :cheers:


What new features are there? Hopefully you've had time to add some in 3 1/2 years. :D

Old, but not obsolete.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #6 on: January 23, 2008, 10:27:26 am »
Funny you should mention that....  I've been thinking of pulling out my old dv camcorder and recording a bunch of the new stuff it can do.  I think that one of the biggest problems (back when dk was active) was that nobody understood what it was capable of.  I think i've pretty much included everything with the exception of full-on scripting support and a fps-style envionment.  Scripting will probably be added eventually, as for fps mode I'll just leave that to 3darcade.  ;)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #7 on: January 26, 2008, 05:33:19 pm »
More wip-age, this time specifics on the new internal skinner.  Expect fairly regular updates until the end of february. 

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #8 on: January 26, 2008, 07:55:50 pm »
More wip-age, this time specifics on the new internal skinner.  Expect fairly regular updates until the end of february. 

Screenshots or it didn't happen! (jokes)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #9 on: January 26, 2008, 09:39:48 pm »
More wip-age, this time specifics on the new internal skinner.  Expect fairly regular updates until the end of february. 

Screenshots or it didn't happen! (jokes)

Joking aside, it's been so long and there have been so many false starts I thought people might enjoy a bit of proof.  ;)

I was gonna do a video but the quality just wasn't happening.  See since dk's speed is resource dependant as is video capture, it's impossible to capture it directly from the window. I setup my dv camera, but even with the camera zoomed in on the monitor everthings a tad too small to make out.  By the time I'd compress it for web-view any text would look like a big blob.  I'll be doing vids for some of the animated skins though. 

If anybody can think of a better method I'm all ears.  Remember that any software solution would have to capture directx though.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #10 on: January 26, 2008, 10:26:55 pm »
Doesn't Fraps do that?
Old, but not obsolete.

CM

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 243
  • Last login:January 02, 2012, 08:59:17 pm
  • The internet?!? Is that thing still around?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #11 on: January 27, 2008, 08:16:06 am »
Doesn't Fraps do that?

Howard, don't listen to him.  Keep your focus on working up a detailed user-manual so we all will know how to use your FE this time around.   ;D   Hand drawn illustrations will do fine....

(pssst Howard ... Google "directx video capture" and Fraps is the first link. who knew  :dunno)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #12 on: January 27, 2008, 07:07:47 pm »
Yeah fraps does it... badly.....

It can capture dx but as I suspected, it cuts the fps down to at least half the instant I enable it.  Even its fps detector slows down dk.  (I get 60 without it and 40 with it).  The free version of fraps limits clips to 30 seconds, and the test ones I took for you guys, just in case it had changed since I last tried it years ago, didn't sync the audio and captured at around 5fps. 

I appreciate the suggestion though, it's just when I'm trying to showcase speed and smoothness in the video I don't need something that makes it look slow and jerky.  ;)

edge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 370
  • Last login:May 08, 2025, 09:08:47 am
  • AttractMode and GroovyArcade rock!
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #13 on: January 27, 2008, 10:10:04 pm »
I fall out of the scene for a few months, and come back to THIS??!?!?!?!

Very nice.  Can't wait to check it out.  Been checking your website for years it seems. :)

(Maybe if I hide for the next 2 months, when I come back, Randy will have his new 49-way sticks out.)

Lilwolf

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4945
  • Last login:July 31, 2022, 10:26:34 pm
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #14 on: January 28, 2008, 09:46:06 am »
"No more excuses people as now any idiot can make a skin"

LOL - I'm not an idiot... but I'm 100% design ignorant and my artistic skills suck.  I can put Orange next to blue and stripes with diamonds and not think twice.  It takes an artist to do a great skin...

Great to see DK back!   I can't wait to try it!  Any comment on the hardware requirements for the 3d rendering?


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #15 on: January 28, 2008, 04:19:06 pm »
Well, Ironically it should actually take less resources to do 3d rendering.  As with any "video game" (dk has a video-game like engine) the geometry is seldom the problem, it's the textures.  Because I use pre-transformed polys with a lot of the 2d stuff, the 3d stuff should actually be faster.  The only exception is 3d cabient models.  We max those baby's out and since there's a lot of gemoetry to load there is a noticable delay (maybe 1/16th of a second) when a 3d cab is loaded. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #16 on: January 29, 2008, 12:34:48 pm »
wip-age, the trilogy:

This time I talk about the auto-upgrade feature and post a preview of a really really stupid skin.  You know the drill kids, click the tag at the bottom... same dk time, same dk channel.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #17 on: January 30, 2008, 08:49:51 pm »
Wip IV:  This Time its Personal.


For those of you that enjoy hearing me complain to myself, feel free to check it out.


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #18 on: February 06, 2008, 10:21:09 pm »
Wip 5:  The Final Frontier


I've been making slow progress, but progress none the less.  The skinner is still slow going.  As usual, check the link at the bottom.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #19 on: February 09, 2008, 01:10:59 am »
Mini wip this time.  I need some feedback on a minor feature I might add so just post your 2 cents either at the site or here.  I personally don't use a keyboard on my mame cabs at all, but I could see where a person might want to.

Encryptor

  • Trade Count: (+34)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1287
  • Last login:December 21, 2023, 08:01:18 pm
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #20 on: February 09, 2008, 06:48:03 am »

I'm not a programmer so I don't know the answer to this but how hard word it be to put in an on screen keyboard? Or is that what you meant by a "could also add a directy keyboard method" ?

I've seen one in a jukebox program and it worked good. It had different levels of transperancy.

Just my 2 cents.

Encryptor

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #21 on: February 09, 2008, 01:28:03 pm »
Well that's essentially how it's done now, sans the ugly keybaord graphic.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #22 on: February 11, 2008, 04:50:26 am »
Thanks for the feedback guys... keyboard mode is in. 

More WIP, but still nothing interesting.  The good news is I'm finally done with the frikkin skinner!  Fun stuff to follow.. as soon as I get a break.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #23 on: February 13, 2008, 08:41:01 pm »
A wip that's actually interesting this time!  Click the footer to see some sweet raster font goodness!

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #24 on: February 14, 2008, 01:48:19 am »
A wip that's actually interesting this time!  Click the footer to see some sweet raster font goodness!

Nice! My engine can do the same ;) (the joys of DirectX and alpha blending!)

Incidently I also have an internal theme editor and keyboard in my engine (great minds think alike or did I give away all my ideas in IRC? lol j/k). I really got to get back to working on that. I might even release a FE myself one day although the reason for me writing an engine was not for that. I keep getting distracted from other small projects but I do want to get back into it. I also updated my PC recently so Visual Studio isn't so damn slow on large projects.

I'm just curious are you using a quad for each character? That is how I'm doing it, should be cool for adding effects like having the text explode and other per character animation. Also does your text engine support ttf fonts or just monospaced bitmaps? I'm using a program that will convert ttf's to a bitmap file for use as a texture and includes all the glyph measurements such as kerning inside a generated xml file. I would like to eventually have all that generated internally but rending proportional fonts can be tricky. I believe the old GDI has better character measuring API's than GDI+.

I noticed you also mentioned you used several viewports? Are you using transformed vectors for your 2d and normalized vectors for 3d models? Why do you need a second viewport?

Also what method are you using for rending video onto a texture?

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #25 on: February 14, 2008, 04:02:21 am »
Very Nice. But not new...  i know at least one FE that supports Raster Fonts since a while. ;)

I' m looking foward to see your DK , i'm very curious to see what you did as real inovation. since the time we wait. Expectation are very High!   (at least mine) :D

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #26 on: February 14, 2008, 04:10:37 am »
Very Nice. But not new...  i know at least one FE that supports Raster Fonts since a while. ;)

Yes but there is a big difference between using DirectDraw and Direct3d ;)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #27 on: February 14, 2008, 04:23:48 am »
Yeah... all with quads....

It supports real ttfs, "fake" ones (raster fonts with variable width) and monospaced.  

I found a lot of programs that converted ttfs to bitmaps but I didn't really care for them, mostly because I needed something tiny that I could call on the fly (when doing screen rotation I rasterize ttfs on the fly to make things simplier).  My "format" uses a very K.I.S.S.  approach.  When making a font from a ttf, I simply print each character onto a magenta background and save it to file.  With autosize turned on a label with the correct fontsize and type applied, I can get the spacing info from that and I simply print the character to a picture box and save it. Because of this kerning and what-not becomes a non-issue because the spacing of the ttf is applied to the bitmap image.  I also have a simple ini file that goes with each font that allows you to set overlaps and various spacing overrides for special effects.  When converting you can also add extra whitespace to each character incase you want to add a drop-shadow in photoshop or something.  

I decided to save each character as a seperate image for a couple of reasons.  For one, this makes it so I don't need to write a file with coordinates for each character.  Also this means you can get away with really really high-res fonts without having to setup a special function to chop-up the bitmap.  It also makes things a ton of a lot easier for the user to edit.  Making a sdl-like bitmap is a rayoal pain in the butt due to alignment and spacing and what not and it isn't always clear by looking which section represents a space, ect.... My images are named after the characater contained in them, so there shouldn't be any confusion.  The only issue I had with writing my app is that I had to write a complicated api function that turns off font smothing on the app during the conversion process or else I get a ton of flash.  It makes the fonts a tad blocky to do so, but it's definately better than the alternative.  


As for actual ttfs, dx8 has some pretty good functions built in so I don't have to do anything to render them.  My only complaint with the particular one I use is that it's slighly slower than using a similar raster font and it doesn't rotate easily.  Actually I can make it rotate, but there's so much math and guesswork inolved in getting it aligned right that it's just easier for me to convert the font to raster when I rotate the screen.   I use this function anyway though because it does very good font smoothing and makes ttfs look better than any other method I know.

Yeah the viewports are setup similar to how you described and there's actually a good reason for it.  My 2d stuff is pre-transformed polys.... that's so everything stays nice and flat.    Your FOV can start messing with stuff if you only use true 3d geometry.  If I use the same viewport for a 3d model and put it in the upper-left corner, for example, it'll always look like it's at a slight angle instead of straight on, which might not be the effect the skinner is going for.  Because of that it's on a seperate viewport that has it's own offsets, so that you can make it look "flat" or "3d" like a fps would depending upon your settings.  3d lists have yet another viewport so that a cabinet model and the list can have different scaling methods and yet you can still easily put one in front of the other via zorder instead.

The video textures are pretty nasty.  How I can do it in vb6 with dx8 is pretty much limited to sampling the directshow video playing and applying it to a texture.  It's pretty slow, but luckily processors are pretty fast now days.  It can chug if you are on an ancient (sub gigahertz) pc though.  Speed aside, because it's put onto a texture I can do what I want with it.  Works on the 3d models as well as my pre-transformed stuff and even 3d lists.  



Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #28 on: February 14, 2008, 04:38:36 am »
Btw... something you two might be interested in is I'm psuedo-documenting the various bitmap font formats I run into.  The most promising I found is one called "bitmap font writer"  because the goal of the people that use this format seems to be to rip fonts from video games!  There are several sites with various vg fonts including this one:

http://www.zone38.net/font/bmpfont.html
I've added support to my converter for the format and it's pretty simple.... basically all the characters are in ascii order in one long line.  The point where one font begins and another ends is marked by a single pixel dot at the top row of the image, allowing for variable width fonts.  With a little bit of getpixle magic it's pretty easy to get the colorkey and chop the image up into characters.  The only thing I've ran into with vg fonts is I had to write a special function to check for lack of lower-case letters and automatically copy the upper case ones if they don't exist.  Also bitmap font writer format generally leaves out the space character (for obvious reasons) so I have to fudge that as well. 

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #29 on: February 14, 2008, 05:08:16 am »
Yeah... all with quads....

Good man, I'm not fond of people who use sprites as they are just bastardised quads anyway!

It supports real ttfs, "fake" ones (raster fonts with variable width) and monospaced.

Of course you can't use real ttf's in Direct3D they have to be rasterised first. And those built in DrawText commands are SLOW as hell, better to draw your own font renderer.

I found a lot of programs that converted ttfs to bitmaps but I didn't really care for them, mostly because I needed something tiny that I could call on the fly (when doing screen rotation I rasterize ttfs on the fly to make things simplier).  My "format" uses a very K.I.S.S.  approach.  When making a font from a ttf, I simply print each character onto a magenta background and save it to file.  With autosize turned on a label with the correct fontsize and type applied, I can get the spacing info from that and I simply print the character to a picture box and save it. Because of this kerning and what-not becomes a non-issue because the spacing of the ttf is applied to the bitmap image.  I also have a simple ini file that goes with each font that allows you to set overlaps and various spacing overrides for special effects.  When converting you can also add extra whitespace to each character incase you want to add a drop-shadow in photoshop or something.

Yes one thing I haven't done is the "call on the fly" approach. Right now I'm limited to an external program ie. Angel Codes Bitmap Converter and while it works great, I want to eventually internalize all the conversion and I mean avoiding them all together.

I would use a similar approach but it would all be internal using GDI+. No need for a magenta background as GDI+ works with full alpha channel. So when you create a blank texture, say at 512x512 it will have an alpha channel by default. Then you just have to draw the glyphs over the surface. The main problem is the measuring of characters. This is very complex. The best advice I can give you is to check out this article and source code on the various API's for measuring text and chose one that is most relevant to your needs (obviously the one which renders the best text is the one to go for).

I decided to save each character as a seperate image for a couple of reasons.  For one, this makes it so I don't need to write a file with coordinates for each character.  Also this means you can get away with really really high-res fonts without having to setup a special function to chop-up the bitmap.  It also makes things a ton of a lot easier for the user to edit.  Making a sdl-like bitmap is a rayoal pain in the butt due to alignment and spacing and what not and it isn't always clear by looking which section represents a space, ect.... My images are named after the characater contained in them, so there shouldn't be any confusion.  The only issue I had with writing my app is that I had to write a complicated api function that turns off font smothing on the app during the conversion process or else I get a ton of flash.  It makes the fonts a tad blocky to do so, but it's definately better than the alternative.

I do like your idea of creating space between characters for shadows and effects in Photoshop, but I don't really like how you do each character separately in it's own file. No need for it as it would be crazy to have a character so large it needs it's own texture. Since were dealing with textures, best to pick a size, say 256x256 or 512x512 and stick to it to, draw every glyph on it, and save memory. Your a fan of optimization too, so that should make sense to you.

How can having each character in it's own file be easier to edit? Sounds like a pain in the ass if you want to add effects to a font set in Photoshop that way.

I've never experienced blockyness as working in a strictly alpha channel friendly graphics API you have natural anti-aliasing around the edges when your render a character. So I don't think your method is sound if you have blockyness.

As for actual ttfs, dx8 has some pretty good functions built in so I don't have to do anything to render them.  My only complaint with the particular one I use is that it's slighly slower than using a similar raster font and it doesn't rotate easily.  Actually I can make it rotate, but there's so much math and guesswork inolved in getting it aligned right that it's just easier for me to convert the font to raster when I rotate the screen.   I use this function anyway though because it does very good font smoothing and makes ttfs look better than any other method I know.

Yes those built in text drawing routines are slow and nowhere near as "customizable" so I would stay clear of them.

As for rotation, I have all that sorted, including a split screen for cocktail mode. Some matrix transforms needs to happen to support mouse in that mode but it's all fun. I know you know a bit about my engine already from our talk on IRC. And I'm really not that phased if you do similar things in your own engine. I just like to talk about technical stuff so keep up your posts, they are often the most interesting ones I read :)

Yeah the viewports are setup similar to how you described and there's actually a good reason for it.  My 2d stuff is pre-transformed polys.... that's so everything stays nice and flat.    Your FOV can start messing with stuff if you only use true 3d geometry.  If I use the same viewport for a 3d model and put it in the upper-left corner, for example, it'll always look like it's at a slight angle instead of straight on, which might not be the effect the skinner is going for.  Because of that it's on a seperate viewport that has it's own offsets, so that you can make it look "flat" or "3d" like a fps would depending upon your settings.  3d lists have yet another viewport so that a cabinet model and the list can have different scaling methods and yet you can still easily put one in front of the other via zorder instead.

Like I said on IRC all my stuff is using normalized Vertex's. This is for an important reason and what will set my engine apart from other 2d/3d engines. Being able to apply Z depth to quads in my animation system means you can make any object perform a complex 3d animation. It really is key to what sets my engine apart. No offence but I haven't heard any new ideas yet.

I haven't experienced the FOV problem your describing there and my engine does support 3d models. It all depends on how you transform the matrix before you render. It shouldn't be a problem about angles, and there is not need for multiple viewports (I only use one).

Think about it; if every 2d element is on a 3d plain you can do far more cool animation effects than what your limited to with sprites or transformed verticies.

The video textures are pretty nasty.  How I can do it in vb6 with dx8 is pretty much limited to sampling the directshow video playing and applying it to a texture.  It's pretty slow, but luckily processors are pretty fast now days.  It can chug if you are on an ancient (sub gigahertz) pc though.  Speed aside, because it's put onto a texture I can do what I want with it.  Works on the 3d models as well as my pre-transformed stuff and even 3d lists.  

Yeah I was pretty sure you would hit this hurtle using VB6. The best way to render video onto a texture is using a custom VMR9 allocator so video rendering is 3d accellerated using your video card. I'm lucky in that the DirectShowNet library provides access to the DirectShow using a .NET wrapper.

I've done many experiments with DirectShow and it really does suffer if you capture frames manually and then lock textures to write to them. Using VMR9 I can have 4+ video's at the same time on quads without a huge FPS hit. It really is worth looking into, although I have no idea how you could do that in VB6. Perhaps there is a way?

I'm (as always) happy to chat and help out in any way I can. So keep the updates going! :)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #30 on: February 14, 2008, 05:53:55 am »
ARRGH! Too many sub quotes!  I can't re-quote all of that! 

(I'm tired from calculations... can you tell?)

Well it's easier for the user to have an individual image for each character because the other characters don't get in the way when you go to draw on it..... it doesn't really come into play until you go beyond simply adding photoshop filters.  But in terms of doing them all at once, all you do is record what you are doing to the first character via a photoshop macro and then set up a batch macro in photoshop to apply your changes to all the other characters.  I'm going to put up a tutorial on how ot do it eventually, it's quite easy once you try it. 

And you are right about the large textures.... myself I wouldn't make a really large font, but that doesn't mean I want to leave out that option.  The fonts in the menus on a 1024x768 display could be as high as 60 pixels.  No way a full set is going to fit on a single texture but I can tell you that with enough memory  (I tried this just to see if it'd break the render) it'll render huge fonts like this just fine. 

I just like 2d polys.. there's no real reason.....  Anything that I want to do skin-wise that I can't with the polys I can with the 3d list element.  I really shouldn't call it that as it's more of a 3d skin element.  Any geometry in the model can have the 2d textures applied to it.  I don't have animated meshes supported yet, but that's one of the last things I'm doing.  It'll probably require a seperate release. 

That's one of the real reasons I haven't messed with with 3d geometry in terms of the elements... because advanced animation isn't in place yet so there isn't anything to do with them.  I suppose if I start feeling the limitations of pre-transformed polys I could convert to 3d quads in an afternoon.  The geometry calculations are the same, I'd just need to convert the scale from absolute pixels to relative percentages. 

I think you misunderstood about the font-rasterizer btw...  the resulting texture it spits out is a little blocky because ttf's are alpha blended in windoze when scaled and thus this gets messey when trying to make a clean color key.  Of course once you've loaded the texture you can use filter effects to blur it back to the way it was.. i'd just rather find a way to efficiently scale the font without having to do so.  :)

The multiple viewports thing has less to do with matrix calculations and more to do with the wierdness of 3darcade models. That's something I'd have to catch you in irc to explain.  :)  3da issues aside though.. yeah if I could wrap my head around the math I could compensate with the martix multiplications... but then my lighting gets off so I have to setup a seperate light source, and then it leaks onto something that it shouldn't and I have to block it... BAH!  It's just simplier to use a few viewports and it doesn't seem to have any effect on speed.

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #31 on: February 14, 2008, 06:12:19 am »
Thank god you didn't quote my quoting. You know how bloody time consuming it is to quote all that. Sheesh  ::)

I disagree with you saying about individual images again. You really expect people to record Actions in Photoshop and play them back to apply a skin to text. That seems like an awful lot of effort but fair enough I guess. I just think spacing glyphs on a single texture would be good enough, that way you can apply effects on a whole texture file. Just seems messy to me tis all.

I will add support for any size font, but if you make it huge it's going to create a large texture or have to break it up into smaller ones. Seems to me trying to simplify things is actually making things more complex.

3d animation? Lol good luck to you, I would leave that to another release too. Something I haven't bothered with either. And you know how DirectX is picky about the formats you give it. Something I will be leaving out for a while too. There are some helper functions for animated meshes but still havn't got there yet.

I wasn't comparing multiple viewports with matricies at all. I was just saying I used matricies for calculating the mouse position when rotating and splitting screens. EDIT: Actually I did say that related to matricies didn't I? Well I just mean to can convert the "viewing position" the same way using a simple matrix transform rather than modifying the viewport. But both are fast enough in Direct3D anyway.

Dont get me started on 3d maths and ---Cleveland steamer---. It's a bloody nightmare haha
« Last Edit: February 14, 2008, 06:23:58 am by headkaze »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #32 on: February 14, 2008, 06:55:07 pm »
Well the thing about the raster fonts is I'm hoping (keyword hoping) that people will do more than just apply photoshop effects to an image and be done with it.  I'm hoping people will go in and manually draw things on fonts using the base font as a guide.  When they try to do that on one big image you have issues with running into the next letters white-space, having to realign all the characters because you wanted to modify the "G" to be wider, ect....

I didn't say using macros was easier, it's just still easy to do and from experience I've found that the single sheets are hard to work with if you do anything more than simple filters. 

And the reason I don't wanna do glyphs is because glyphs suck... at least on a modern graphics editing program they do.  They take longer for me to parse (stupid getpixel and similar, plus all the math involved to get dimensions ect...) and then the user has to deal with having to add/modify the glyphs, which is really hard in modern proggies like photshop which really don't do the pixel-level editing very well.  Now I thought about doing it all with a dimension file but that seems like it'd get hairy too.  The user wouldn't have to worry about glyphs, but now they don't have any visual indication of where one whitespace begins and another ends.  Also when they start moving around the characters it's hard to relate them to the dimension file. 

And just remember, the font rasterizer I made can convert several formats, so the user doesn't have to use it to convert a ttf, they can use another program that outputs to a single bitmap and the converter will chop it up. 

About the big sized text... the beauty of it is I don't have to write a function.  Sure if somebody makes a single character file that's larger than say 512x512 then that would need to chopped up.  Then again, if somebody is making a single character that's larger than 512x512 then they are nuts and the machine is gonna lockup from all that memory useage anyway.  I wanna support large text... not insainely large text.  ;)  I'll let the video card's maximum texture size limit the character size which makes sense to me... afterall, if your vc can only support 64x64 textures then it probably won't run any of dk's skins anyway. 

I've tried the method you are talking about to re-align the camera and it works fine on my models, but when I go to try it on a converted 3da mesh it works 50% of the time.  Those things are really hairy.. mostly because half of us didn't know what we were doing when we started making models.  ;)  All I can say is 3darcade's normalizing and alignment functions must be killer, because I have to muck about with certain models to get them to scale and center properly.  Plus there's some other very minor special stuff that needs done to get the models looking nice so it's just easier to have a viewport with all these tweaks set already available that I can just switch to.



Animation... actually isn't going to be that hard other than me taking the time to do it.  I was just gonna use keyframe animation and tween between each frame.  Now that means a bunch of loose models, but the uam format bundles everything up so it should be ok.  I found a nice vb tutorial on how to do keyframing and it's suprisingly similar to how I have my functions cludged together to do static meshes.  It'll involve taking all my loose variables and putting them in a type and then making a master array that contains each individual frame with a filled type for all the data in each.  For sanity's sake I'm porbably gonna implement some rules though.  (Like the geometry must be the same and the textures/surfaces must be the same in each frame, so that stuff doesn't have to be loaded over and over).

eh.. enough chit-chat.... I've got some cleanup to do on the raster text centering.... I'll post more wip as I have time.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #33 on: February 15, 2008, 05:17:11 am »
Mini wip... amaze at the astounding dullness that is me explaining how I'm gonna center raster text!

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #34 on: February 15, 2008, 05:55:10 am »
Animation... actually isn't going to be that hard other than me taking the time to do it.  I was just gonna use keyframe animation and tween between each frame.

Yep that is how my animation system works, just like Flash. Tweening and frames. I explained that to you in IRC last year when I showed you what my theme format looks like. I guess that's where you got the idea. I'll have to keep my trap shut on any other unqiue features otherwise you will be implementing them next :P

Animation is not that hard to implement but adds alot as you can see from BadBoyBill's video's. It goes along way even the most simplest of animation.

Mini wip... amaze at the astounding dullness that is me explaining how I'm gonna center raster text!

Another thing worth noting is widescreen displays, and taking into account the 16:9 ratio and not having the fonts stretch.

I was just checking out that font link you gave. It reminded me I have a huge collection of bitmap fonts here somewhere ripped from old Amiga games and demo's. I used to code for GBA and Nintendo DS so it was still common practice to use them. I think it will be fun making FE skins that look like old Amiga demo's with a scrolly down the bottom lol. I think I saw something similar to that in one of the AtomicFE skins.
« Last Edit: February 15, 2008, 06:39:15 am by headkaze »

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #35 on: February 15, 2008, 07:14:44 am »
Quote
I think I saw something similar to that in one of the AtomicFE skins.

yes, i do that.  and my inspiration is directly Amiga and C64 demos.  :)
Lot of other features are inspired from Demo techniques in Atomic.

and the fact i use DirectDraw allows me to use really the same technics that are "pure" 2D. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #36 on: February 15, 2008, 09:40:03 pm »
Hk I appreaciate the fact that you want credit for stuff, but just because you mention an idea and I am working on it doesn't mean I stole it from you.  I got the idea of using keyframes and tweening all the way back in 2004 at the directx4vb website (it's one of the tutorials)  it's also in the m$ sdk.  Remember, dk's been around for a loooong time and it's also been a looong time since I've done a proper release.  If anybody should take credit it should be )p(.  Back in the day he and I used to swap ideas regularly and one day he chimes in with an animated cabinet that someone made for 3darcade.  At the time I had finally started to get static models to render properly, so myresponse was something like "crap... now you tell me" and I added it to the list.  ;)  I've actually got a list, and MAN has it been collecting dust.  Luckily the list is getting shorter these days, with animations and proper animation scripting being the last things left for obvious reasons.

I mean if we are going to go down that road youki added raster font support shortly after I mentioned in passing, ages ago, that the new build of dk would use raster fonts.  But I figure raster fonts are a logical evolution on fe's that are direct-x based so I'd have to say that was nothing more than concidence.  Even if he did get the idea from me (Which for the record, I DO NOT think he did.) I wouldn't mind or call him out about it in a public forum. 

Saw the AFE skin you guys were talking about btw... I love that particular one.  Totally old-school.  I want to do a skin that looks like those hacked up 20 in 1 roms you can get for arcade cabs.  The one you see in the preview snaps will probably turn into that.  (Gotta find the right font first.)

Widescreen displays aren't worth noting to me.  Dk is an arcade fe meant for acade-style mame cabs....  If a person wants to run 16:9 more power to em, they can make a custom 16:9 skin, but if they run into issues I really don't care.  That's not meant to sound snobby, it's just I don't wanna make a gameEx.  ;)

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:48:45 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #37 on: February 15, 2008, 09:41:52 pm »
Anyway, more wip....  I talk about the new backend's steroid injection. 

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Hell has frozen over! (Dragon King wip?!?)
« Reply #38 on: February 16, 2008, 05:10:52 am »
[snip]
« Last Edit: February 19, 2008, 08:46:41 am by headkaze »