DIV ARENA FORUMS

MODE8 IS ALIVE! 3D (ish) games are back in DIV

MikeDX - 21-5-2016 at 12:32 AM

After a lot of hard work, failure and success, I am pleased to announce DIVDX now has full MODE8 support.

This brings the compatibility of DIV2 and DIV1 to 100% without exception.

Mode8 was the final piece of the puzzle to be solved, and because it was all in 32bit watcom assembly, it had to be ported to C.

The man who helped made this happen is Fransesco who you may know from GEMIX - One of the projects that aims to be DIV2 compatible.

I have uploaded a demo online to try, and see it working in full 8bit glory!




http://js.mikedx.co.uk/mode8test.html

Look out for mode8 in a nightly build soon!


BreadCaster - 21-5-2016 at 02:18 AM

Brilliant, Well done Mikey!! Looking forward to seeing some great stuff made with this :D

RKSoft - 23-5-2016 at 11:31 AM

Extreme great and looks so good in my browser. :thumbup:

dom cook - 23-5-2016 at 12:06 PM

Hats off!

AmakaSt - 23-5-2016 at 01:08 PM

woow!! Good job! :)

Adherbal - 24-5-2016 at 12:01 AM

Neat :)

For some reason it doesn't work in my Firefox though, but worked in Internet Explorer. Not related to mode8 I think, I have this same issue with (some?) other DIV games.

TransDiv - 25-5-2016 at 05:15 PM

Quote: Originally posted by Adherbal  
Neat :)

For some reason it doesn't work in my Firefox though, but worked in Internet Explorer. Not related to mode8 I think, I have this same issue with (some?) other DIV games.


WoW, Mode 8 in the browser!, btw it runs in my Firefox (Win7-64) so must be something in your CPU.

RichardStation - 27-5-2016 at 02:20 PM

Hi, good job.

I'm trying to execute some games that use the mode 8, like Joaxxan, but this one said "Too Many Processes" when I try to execute the first level.

You can check it out the game with this link:

https://db.tt/bvTjgWOo

BreadCaster - 28-5-2016 at 08:16 AM

Is it likely that DIVDX will ever have 32-bit colour compatible with the new incarnation of Mode8? :)

Got a game idea I'd love to give a whirl but I don't know if I could handle the restricted pallate all over again!

MikeDX - 29-5-2016 at 01:01 PM

Once we have a 32bit div, mode8 is trivial to convert to 32bit so no issue there.

BreadCaster - 29-5-2016 at 07:29 PM

weird, for some reason it's not working for me anymore. Did you do some tweaking, Mike? :p It's just coming up as a black box, not fading on. Was working fine before.

MikeDX - 29-5-2016 at 10:33 PM

It is working

http://js.mikedx.co.uk/mode8demo14.html

RKSoft - 30-5-2016 at 01:03 PM

yes, 66 FPS in Firefox :)

BreadCaster - 30-5-2016 at 02:15 PM

Yep, working again now. Huh, odd. I found the recently compiled and uploaded version of Wicked8 that you stuck up on the Javascript section of the site too, haha :) How about Shoot to Kill next? That one was bloody brilliant from what I remember...!

MikeDX - 30-5-2016 at 05:37 PM

The html5 build of DIV is now fully back in sync with the main native builds.

I've just upload shoot to kill - http://div-arena.co.uk/wips/view/637 to the Javascript pages (you are right, it is very cool!) Can you remember any others?

http://js.mikedx.co.uk/shoottokill.html

Also there is no hidden games, just look at http://js.mikedx.co.uk and see a huge list of div games compiled to web, updated every couple of days or more.

BreadCaster - 30-5-2016 at 08:52 PM

Quote: Originally posted by MikeDX  
The html5 build of DIV is now fully back in sync with the main native builds.

I've just upload shoot to kill - http://div-arena.co.uk/wips/view/637 to the Javascript pages (you are right, it is very cool!) Can you remember any others?

http://js.mikedx.co.uk/shoottokill.html

Also there is no hidden games, just look at http://js.mikedx.co.uk and see a huge list of div games compiled to web, updated every couple of days or more.


Thanks for uploading it Mikey! Loads of fun.

Cyber Geonoids 2!! The one by Owen games, haha, that was great. and Dennis's recreation of Doom :)

MikeDX - 31-5-2016 at 12:17 AM

I think Cyber Genoids is a good candidate, I'll try that

http://js.mikedx.co.uk/cybergenoids.html

I dont think I have Dennis' Doom though :(

Here's all of Owen's games if anyone wants to play any

https://github.com/obduk/div_games_studio


BreadCaster - 31-5-2016 at 10:00 AM

Quote: Originally posted by MikeDX  
I think Cyber Genoids is a good candidate, I'll try that

http://js.mikedx.co.uk/cybergenoids.html

I dont think I have Dennis' Doom though :(

Here's all of Owen's games if anyone wants to play any

https://github.com/obduk/div_games_studio



Thanks Mike! Cyber Geonoids really was incredibly well polished, I'm still in awe of some of the things Owen managed to do with Mode8, haha. One thing I have been wondering about that Mode 8 test WLD - how the devil did the original creators manage to get the floor and wall textures to align with the regular ones in the shadow/lit up sectors (for the static lighting effects)?

Really chomping at the bit to see if I can make something with similar static lighting effects and some genuine atmosphere and tension in Mode8 now. I'd like to think I've improved a lot since the old days, hopefully CyberCrisis will be a testament to that once it's released haha :)

Adherbal - 31-5-2016 at 05:07 PM

Not sure what changed, but the mode8 games are now working in my Firefox browser.

MikeDX - 31-5-2016 at 05:11 PM

Quote: Originally posted by Adherbal  
Not sure what changed, but the mode8 games are now working in my Firefox browser.


The web builds are constantly being debugged/ fixed / improved in line with the native builds so a bug probably got fixed that prevented it from working before.


MikeDX - 31-5-2016 at 06:27 PM

Quote: Originally posted by BreadCaster  
One thing I have been wondering about that Mode 8 test WLD - how the devil did the original creators manage to get the floor and wall textures to align with the regular ones in the shadow/lit up sectors (for the static lighting effects)?



Do you mean this?

If so, its just a shaped sector with a white floor. You can see it in the WLD viewer

Screenshot from 2016-05-31 19-26-12.png - 110kB

BreadCaster - 31-5-2016 at 09:58 PM

Nah, I mean the shadows that the crates seem to cast. There's examples of them in the first hangar sort of area you enter. The textures of the unlit/non shadowed area seem to continue perfectly with the shadowed area haha

MikeDX - 31-5-2016 at 11:43 PM

Quote: Originally posted by BreadCaster  
Nah, I mean the shadows that the crates seem to cast. There's examples of them in the first hangar sort of area you enter. The textures of the unlit/non shadowed area seem to continue perfectly with the shadowed area haha


It's just a box divided with a diagonal line and then each sector half having a different shade applied.

You can see it easily in the wld editor

[Edited on 1-6-2016 by MikeDX]

BreadCaster - 13-6-2016 at 10:57 AM

Hmmm okay it must match the angle/size/position of the textures automatically then :)

Had another Mode8 request! Phoenix Ashes by Casper, if you remember it. Was very well put together if I recall correctly :)

I've already got a plan for a small Mode 8 game, more as a tech demo but it might expand into a full thing, depends on how it goes, haha. It's hard to genuinely think of a style and atmosphere of game that would be done a service by the 2.5D Mode 8 style (raycasting with sprites) rather than looking better in all 3D polygons, but I genuinely think I've come up with something :lol:

Is the WLD editor in the downloadable nightly builds, by the way?


[Edited on 13-6-2016 by BreadCaster]

MikeDX - 13-6-2016 at 12:46 PM

Sadly i dont have phoenix ashes :(

yes, the mode8 stuff is all in the nightly builds - actually the nightly builds now are almost exactly up to date with the dev version I use. So it should have everything.


BreadCaster - 13-6-2016 at 04:36 PM

Oooh! You know what would be good: something to show us the limitations and possibilities of the mode 8 engine.

Like, I can remember that there was a function for moving the points that defined sectors, but I think it was heavily bugged - but I've always wondered, could you theoretically use that to make doors that swing open ala Dukey 3Ds build engine? Or, if you were able to manipulate basic points, then pushing about crates to make some of those early environmental puzzles seen in early 3d shooter games?

Would it be possible, theoretically speaking, to use a large map for the floor texture of a sector - so it doesn't repeat - and then dynamically update that with say, a basic spotlighting or oval shadow effect? So a player could carry around a lantern, for instance. (then again, using coloured distance fogging slightly flickering in and out might be better for that!)

Just thinking of various possibilities my 15 year old mind couldn't comprehend ;)

MikeDX - 13-6-2016 at 05:34 PM

Yes you can do that (all of it) check out the set* commands in the help, you can do quite funky things with it, you can move sectors about quite a lot. I started with a zone with a couple of aquare sectors within and moved those around with quite nice results.

Definitely have a play with the examples

BreadCaster - 13-6-2016 at 06:06 PM

Hmmm... I was thinking about the example of dynamic spotlighting that i mentioned: what would be easier, in theory? Making a large graphic to set as the floor texture (possibly by loading a tile graphic and placing that tile several times over a large graphic created in memory, as to not have to make a huge MAP file for the floor texture of each room!) and then updating the grid references with lightened and darkened textures as a light source moves around...

... or splitting every sector up into several smaller boxes, and then using a function to alter the texture of the adjacent squares & the square where the light source is?


I ask this mostly in theory, as I'm not sure this is something I'd realistically attempt, but I just have a feeling that the second one may cause some problems as regards bugs/glitches with Mode8, and you're likely to be the person who knows best as to how glitchy mode 8 currently is. (I seem to recall that in the original DIV 2, if you stood right at the join between two sectors, sometimes the whole world would glitch and disappear for a second - at other times, it just plain crashed the program!)

MikeDX - 13-6-2016 at 09:41 PM

the black glitch is still there, but the crashes are not.

You could definitely make a world with a huge grid and dynamic light that, I'm not sure how else you could light it.

Longer term of course mode8 would be replaced with something a little less ancient and restrictive.

BreadCaster - 13-6-2016 at 10:17 PM

Yeah, that's probably a good long term strategy but tbh the game idea i have in mind would probably work a bit better with an old engine like this - the theme is archaic and to do with religious orders and caverns so it'd fit an archaic, blockier engine ;) otherwise I wouldn't be thinking of using it! Haha.

However I did want to make one request as regards the .wld editor - would it be please possible to make the maps zoomable? so you can scroll in and scroll out, maybe with the plus and minus key if not the mouse scroll wheel - because otherwise I don't know how anyone would be able to make something as finely detailed as the default wld_view map! Haha :)

MikeDX - 13-6-2016 at 11:05 PM

the wld editor has always had zoom!

Z/X (same as map (graphic) editor) zoom in and out
F1/F2 same thing

right click/ drag scrolls around.




BreadCaster - 14-6-2016 at 12:06 AM

Quote: Originally posted by MikeDX  

Z/X (same as map (graphic) editor) zoom in and out


mikey you are amazing :D

MikeDX - 14-6-2016 at 12:10 AM

Time to go grab the latest nightly and test it then right? :)

BreadCaster - 14-6-2016 at 12:43 AM

Already been doing so, been finding the map editor a little laborious though, as there's no real sense of scale - i made a wonderful cave area, all decked out with animating pools of water, then found it was so tiny that i could barely walk around in it, and to make it larger i'd have to seperately drag every vertex outwards. just wish there was something for scale :p

BreadCaster - 14-6-2016 at 03:05 AM

Right, here's a little test I did. Animated floor sector, working door, with a sound effect - see if you can guess where i nicked it from, haha. :p Not very well coded but it's solid enough and could be reworked if needs be.

I'm uploading this part as an example, partially because this has a vaguely similar feel to the kind of game i'd want to make (though the movement would need work first - head bob, footstep sound effects, jumping, different camera heights depending on step down/lower sectors etc), but also because there are mode 8 bugs aplenty in this.

Lots of walking through walls and ending up with just vertical slices of the WLD showing with no walls rendering at all. I'm going to guess this is because of the two sectors by the door, but I'm not really sure how else this could be done without having to literally press the camera up against the wall, which isn't a particularly polished way to navigate a 3D world :p

Attachment: mode8example.rar (149kB)
This file has been downloaded 3923 times


MikeDX - 14-6-2016 at 11:44 AM

That''s actually really cool

I didn't experience any black sections though, I wonder whether that's specific to the platform you used to develop it on.

I uploaded a web build of it. I did manage to get stuck inside the door which was fun (Did it deliberately to try to get the black screen bug)

http://js.mikedx.co.uk/bcm8.html

For the wld scale thing that's a good point.. i wonder if there's any merit in adding a scale option to either start mode8 or load_wld

Or whether its even worth doing at all, it's still a bit of a limited 3D mode and I'm sure we can do better.



[Edited on 14-6-2016 by MikeDX]

BreadCaster - 14-6-2016 at 01:01 PM

Personally, I think if you want to "go further" then something like "mode 8 plus" would be a good option. Rendering 3d models in raytraced spaces, the ability to do sloped floors like in the build engine, and flat polys to add environmental details like hanging vines to areas. A full 3D mode would be a lot of work from the ground up and I don't think it's fair for anyone to hold their breath on it just yet :p

As for the door test, it was developed on windows 8 and I just had the bug while playing it in browser on Mac OSX as well. I'm surprised you were able to get stuck in the door considering that I added a if m8_sector<>door-sector-and-the-two-sectors-right-outside-the-door code :p

MikeDX - 14-6-2016 at 01:20 PM

Weird. Well, there's room for improvement that's for sure.

Dom Cook is a bit of a 3D whizz, I'm going to get him to help me with the future 3D stuff - we are already in talks of a modeV (or 5 if you like) which is vector 3D space, and that's quite exciting for me. I'm not a huge 3D fan myself and never really have been - although if we had the ability to do things like super mario 64... that would change my mind.

BreadCaster - 14-6-2016 at 02:10 PM

Next stage for that is surely getting shading between the vertexes, even if it's just flat with no textures, just colours. Then texture mapping, and then eventually loading models. If there were a way to interpret a standard 3d format into vertexes, so the program essentially reads and converts the model to a DIV compatible format in the memory, then you're laughing (that is until you get to incorporating animations :P )

Personally - and this is just from what I've seen - I think the wireframe 3D is a great step towards full 3D, but it really isn't enough to sell the language on it's own.It does need additional stages to make it work in the long run - collisions, texture mapping, diffuse and specular shading, distance fogging, static and dynamic lighting, the loading and animation of models in a standardised format (there's no point models being in some kind of custom format like a .DXM (dx model) if people can't use preexisting programs to make models for it, unless someone's going to release a full 3D modeling tool made in DIVDX). And last but not least: shadows. From what I understand, shadows in video games are generally rendered using a third party engine - not developed in house - and they can be hard as balls to program.

A raycasting engine is fine because people see that as basically being like the DOOM or Build engine, they know what to expect. There are a lot of games made with those engines, and there's enough nostalgia for it to be of some value. People have fond memories of Heretic, DOOM, Shadow Warrior, Rise of the Triad, and while they do look crap by todays standards, there's enough nostalgia for it to be a draw to a few people, more I'd say than just wireframe 3D without the progression to a full 3D engine. Just my two cents :p

[Edited on 14-6-2016 by BreadCaster]

BreadCaster - 14-6-2016 at 03:41 PM

Quote: Originally posted by MikeDX  

For the wld scale thing that's a good point.. i wonder if there's any merit in adding a scale option to either start mode8 or load_wld


Personally, i'd like to see a selection box (click & drag, rts style) for selecting vertices, and a copy paste tool for sectors from other wlds/the same wlds (stripping that sector of its textures in the process, of course).

MikeDX - 14-6-2016 at 04:00 PM

Well lets not forget Ant had ModeA a long time ago, and that worked well, and another version of the dll that could load quake md2 models, so it's all doable. Sadly the latter is mostly asm..

It's going to be a different ballgame once we go 32bit colour anyway, and since DIV is now in active development, we can be sure the future is bright :)

MikeDX - 14-6-2016 at 05:20 PM

here you go Dan, I used your demo as a test of the android build

Works a treat :)


croppedScreenshot_1465924606325_.png - 493kB


One thing to try with your wall problem, set yourself a radius value (and maybe a height) value in your camera process. It should prevent you from being able to go "into the wall"

[Edited on 14-6-2016 by MikeDX]

BreadCaster - 14-6-2016 at 09:33 PM

Haha, wish I'd known that before now - literally just finished doing some more work on it! Oh well.

Nice to see it working on android :)

Here's an updated version, with more sound, a basic "puzzle" if you can call it that and a few changes. See if you can figure out how to get to the stone door ;)

I won't be doing anything else with Mode8 until the 32 bit colour is in, but this is the kind of feel of the thing I wanted to create. Something between Quake 1 and Dungeon Keeper, lots of sacrificial alters and flickering candles with sector by sector psudo-lighting :)

(had to upload to sendspace - this is a whole 7.8 MEGABYTES, holy hell batman - https://www.sendspace.com/file/uu7avh )

MikeDX - 14-6-2016 at 11:21 PM

Have I got some silly attachment limit here? I've upped that to 20mb now instead of 2, so you can add it here now if you want.

I'm going to go give it a play...


Ah it's huge because you're using wavs. Get oggs in there dude. DIV supports those nicely ;)

Played it, works very nicely. I'm currently working on the packager for div but I'll make a new android build soon and upload it :)

[Edited on 14-6-2016 by MikeDX]

MikeDX - 17-6-2016 at 06:12 PM

I've compiled and uploaded this to the js site:

http://js.mikedx.co.uk/cavern.html

Most ports have squashed down to about 2mb, which is nice :)

however there are some serious glitches I need to look into - and thats both an annoyance and useful...

[Edited on 17-6-2016 by MikeDX]