gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Misc > Heretic port for the DS!

#49362 - jmva16 - Fri Jul 29, 2005 4:03 am

It is funny that some of my old post are getting pushed to the top. I have come so far with the help of all you great people on this forum. I want the thank you all for your time in developing the homebrew community and all who replied to my posts. I have finally got to a playable level on the Heretic port to the DS I have been working on. Check out these screen shots.
[Images not permitted - Click here to view it]
[Images not permitted - Click here to view it]
[Images not permitted - Click here to view it]

I still have some tweaks I want to finish up before releasing the binaries, and I also plan on releasing the source sometime soon too. Until then, thanks again for all your help!

EDIT
Well I am not sure if those geocities links are working so here are the screen shots Thanks to ImageShack for Free Image Hosting
[Images not permitted - Click here to view it]
[Images not permitted - Click here to view it]
[Images not permitted - Click here to view it]

If anybody can point me to good, cheap webhosting so I can start a page based on this project I would be grateful!

#49366 - The 9th Sage - Fri Jul 29, 2005 4:47 am

jmva16 wrote:
It is funny that some of my old post are getting pushed to the top. I have come so far with the help of all you great people on this forum. I want the thank you all for your time in developing the homebrew community and all who replied to my posts.


Wow, that's excellent. :) I'd certainly love to play with this.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#49367 - sajiimori - Fri Jul 29, 2005 4:53 am

Ooooh awesome! I want to play.

Looking forward to wireless support... ;)

#49369 - dovoto - Fri Jul 29, 2005 5:04 am

how about heretic.drunkencoders.com ;)

looks like good stuff
_________________
www.drunkencoders.com

#49374 - Volta - Fri Jul 29, 2005 5:58 am

Awsome!

Please, would it be possible to explain us some techniques you used to do it? Dovoto had a good idea...

#49387 - Isle - Fri Jul 29, 2005 8:47 am

nice

did you use aney doom engine ports in it?

#49390 - revo - Fri Jul 29, 2005 9:33 am

nice, I hope you will release binaries soon (even without tweaks) ;)
_________________
[ sorry for all mistakes, but my english isn't as good as I wish it to be ]

#49392 - inthearmsofsleep - Fri Jul 29, 2005 10:04 am

Looks great!
Is there anything in the works for the bottom screen?

#49401 - jmva16 - Fri Jul 29, 2005 1:49 pm

Quote:
Looks great!
Is there anything in the works for the bottom screen?

Absolutely! I plan on drawing the automap there. I also plan on moving the status bar to the bottom and putting the top in full screen. You could then click on inventory and hopefully weapons to change these. I currently have touch screen "mouse look" similar the the Metroid control. However the X component seems noisy and jumps a little. (These two things are some of the tweaks I am working on)
Quote:
nice

did you use aney doom engine ports in it?

I started from the source right off the Raven website. I have not looked at the Doom source at all, however Raven licensened it from Id so I am sure they are very similar. I did this as a learning experence of profesional game engines, so I did not use anybody else's previous source ports.
Quote:
Awsome!

Please, would it be possible to explain us some techniques you used to do it? Dovoto had a good idea...

I will do more of this when I start a webpage. I just took the Heretic source, broke it down into smaller pieces and started compiling it for DS, modifing expecially the drawing routines. At one point, I will probably write a section on major items I ran into during this project (there were many).
Quote:
how about heretic.drunkencoders.com ;)

looks like good stuff

I would be honored to post my page with you dovoto, if you are serious about this. You are one of the main people I was thanking in my start of this thread.


Last edited by jmva16 on Fri Jul 29, 2005 11:12 pm; edited 1 time in total

#49402 - Chetic - Fri Jul 29, 2005 1:51 pm

Looks really great!
Any speed issues?

Also, no offense but, those images are really uhm, crappy.. heh
I'll take some good ones for you when you release it to put on the website or wherever if you like
_________________
Packin':
Grey DS with FlashMe v7
1Gbit XG2T 2005 (Neoflash compatible)
GBAMP, Supercard CF, 512Mb Magic Key 3 and EZFA 256Mbit

#49405 - Lupin - Fri Jul 29, 2005 2:16 pm

How about Quake II? The PSP community already has their Q2 port... looks like they are a little ahead ;/
_________________
Team Pokeme
My blog and PM ASM tutorials

#49406 - Extreme Coder - Fri Jul 29, 2005 2:25 pm

I can't wait for you to release anything! Why can't you release what you've done so far?
I (and many others who replied to the thread) can provide hosting, so I don't see what's the problem of asking someone to host the game for you right now.

Keep up the good work,
Extreme Coder

#49414 - Veg - Fri Jul 29, 2005 4:53 pm

Excellent... haven't played Heretic in a while, but looking forward to replaying it on the DS.

Great work.

#49430 - jmva16 - Fri Jul 29, 2005 6:44 pm

Quote:
Looks really great!
Any speed issues?

Right now I believe it is running just below full frame rate. I have not had it calculate the actual framerate yet. I am worried about what other speed drops may incur when I add the automap. I may be able to optimize my drawing routines, and I have also been thinking of ways to better utilize the ds hardware. Right now it is a direct source port, so no hardware acceleration.
Quote:
How about Quake II? The PSP community already has their Q2 port... looks like they are a little ahead ;/

I have actually downloaded and looked over the Q2 source. As much knowledge I had about game engines when I started this project, I currently have about working in 3D. Although it is something I also want to explore. However, I want to take this project to completion before I start anything else.
Quote:
I can't wait for you to release anything! Why can't you release what you've done so far?

I can understand your eagerness for this. There are just some issues I would like to clean up before I release it. It is just not quite the quality I want out there. There are still some textures that are not loading up right, you can not progress through the levels, and not all actions are available through the ds controls (like changing weapons). Rest assured though, I would not have posted yet if I was not close to releasing something.


Last edited by jmva16 on Fri Jul 29, 2005 11:11 pm; edited 1 time in total

#49443 - sajiimori - Fri Jul 29, 2005 7:22 pm

The PSP meets Q2's standard memory requirements, but the DS doesn't. The game would have to be cut down by a lot.

I bet Q1 would be fine with some lower resolution textures and sounds.

#49444 - dovoto - Fri Jul 29, 2005 7:23 pm

Quote:
I would be honored to post my page with you dovoto, if you are serious about this. You are one of the main people I was thanking in my start of this tread.


heretic.drunkencoders.com is up and running (empty at the moment). PM or email me and i will give you ftp info.
_________________
www.drunkencoders.com

#49460 - DesktopMan - Fri Jul 29, 2005 10:31 pm

jmva16:

The X coordinate of the touchscreen does indeed jump. You can filter it by e.g. removing values that are more than 20 pixels (or another fitting number) from the previous value. You can either do this in the arm7 code, or in your game code.

#49527 - jmva16 - Sat Jul 30, 2005 9:54 pm

Quote:
The X coordinate of the touchscreen does indeed jump. You can filter it by e.g. removing values that are more than 20 pixels (or another fitting number) from the previous value. You can either do this in the arm7 code, or in your game code.

I am doing this a little right now, but it is still not as good as I would like it. The Metroid control is so good and smooth. Mine has stopped jumping so much, but now I don't feel you have as fine control as you should. How fast you can sample the touch screen? I was thinking of adding a running average filter in the arm7.

Also, heretic.drunkencoders.com is up! I warn you though it is very simple right now. There is not currently any information there that is not already in this thread. I will be posting updates there though.

#49565 - revo - Sun Jul 31, 2005 9:57 am

jmva16 wrote:
The Metroid control is so good and smooth. Mine has stopped jumping so much, but now I don't feel you have as fine control as you should. How fast you can sample the touch screen? I was thinking of adding a running average filter in the arm7.


Take a look at http://www.revo.pl/files/lesson10c.zip - it's modified code from NeHe lesson10b from ndslib examples - added moving camera by touch screen, it works pretty well.

Dovoto, maybe you will add it to CVS ? :P
_________________
[ sorry for all mistakes, but my english isn't as good as I wish it to be ]

#49571 - zubiac - Sun Jul 31, 2005 2:55 pm

wow great.
Heretic uses a modified doom engine AFAIR so future Duke Nukem,Hexen and especialy "Blood"(my fav old-school FPS) ports to DS shouldn't be that much of a problem.
_________________
Abusing Cube and DS with all sorts of homebrew and hacks.

#49577 - Chetic - Sun Jul 31, 2005 4:50 pm

Ouch, Duke Nukem 3D, that would be hot...
_________________
Packin':
Grey DS with FlashMe v7
1Gbit XG2T 2005 (Neoflash compatible)
GBAMP, Supercard CF, 512Mb Magic Key 3 and EZFA 256Mbit

#49581 - Sodeju - Sun Jul 31, 2005 5:36 pm

Idd Chetic, can somebody make a port of Duke Nukem 3D? :P

#49583 - sajiimori - Sun Jul 31, 2005 6:41 pm

Hexen would be easier than Duke Nukem or Blood. The Build engine is kind of messy.

Actually, I don't think the code for Blood is available...

#49592 - dovoto - Sun Jul 31, 2005 7:24 pm

revo wrote:
Take a look at http://www.revo.pl/files/lesson10c.zip - it's modified code from NeHe lesson10b from ndslib examples - added moving camera by touch screen, it works pretty well.

Dovoto, maybe you will add it to CVS ? :P


Done :)

Added to libnds (not ndslib) cvs examples with the necessary modifications to make it compile under libnds. It will be in examples package0>nds->input->touch_look

Greate work!
_________________
www.drunkencoders.com

#49601 - octopusfluff - Sun Jul 31, 2005 9:06 pm

zubiac wrote:
wow great.
Heretic uses a modified doom engine AFAIR so future Duke Nukem,Hexen and especialy "Blood"(my fav old-school FPS) ports to DS shouldn't be that much of a problem.


Heretic and Hexen both use modified Doom engines.
Duke Nukem and Blood use the Build engine.. Last I checked, Blood's source wasn't available. Duke's source is available, tho.

Cleaned up versions of both codebases are available under the GPL. Honestly, it'd be nice to see one of the more advanced Doom engines ported to the DS, which supports Doom, Doom2, Heretic, and Hexen. There's a few that can handle the whole set. Not sure if a comprehensive engine like that would be fun to port, tho.

#49603 - Dannon - Sun Jul 31, 2005 9:14 pm

It could be ported as a group project rather than a personal one

#49604 - jmva16 - Sun Jul 31, 2005 9:15 pm

I can't believe it would be hard to get Doom running with the Heretic port I did as Heretic is only a bit more advanced than Doom. Was there any engine enhacements for Doom 2? If not, this would probably not be hard either. Hexen on the other hand is a bit more advanced than Heretic, so it would take a little more work.

#49610 - Dannon - Sun Jul 31, 2005 10:17 pm

Just out of curiosity, where abouts did you start when you started to port Heretic?

#49615 - jmva16 - Sun Jul 31, 2005 11:10 pm

I took the nds template (It was the program that wrote the X, Y touchscreen numbers of the bottom screen). I added a call to D_DoomMain in it. I then tried to copy in the minimum number of Heretic source files as possible, commenting out as many external calls as I could. I commented out most of D_DoomMain and just tried to get it to read to wad file, which it does in W_InitMultipleFiles. So basically, to get started, I got D_DoomMain and InitMultipleFiles running and had it report some wad info to me using consolePrintf.

#49618 - Dannon - Sun Jul 31, 2005 11:17 pm

Thanks, I've got the source for Hexen so I think I'll give what you did a go tomorrow and see if I can get anything going, I probably won't be able to, but the extra programming experience will be good, I can code but the Hexen and Heretic source looked pretty daunting for porting, complete congrats on what you've achieved so far

#49753 - octopusfluff - Tue Aug 02, 2005 6:18 am

jmva16 wrote:
I can't believe it would be hard to get Doom running with the Heretic port I did as Heretic is only a bit more advanced than Doom. Was there any engine enhacements for Doom 2? If not, this would probably not be hard either. Hexen on the other hand is a bit more advanced than Heretic, so it would take a little more work.


Doom2 had very little different on the core engine side. Mostly content differences. A lot of stuff done for Doom2 code-wise was also released for Doom1.

There were some different effects from some of the new monsters, and there was the double-barreled shotgun, but these differences are trivial.

This is reflected in the fact that pretty much all ports of Doom can run both 1 and 2 as long as you have the data for each.

Honestly, I don't recommend trying to work this from scratch on the Hexen angle.. There are already ports out there that have been cleaned up to make the tree more platform independent. I can't recall any offhand, but I know they're out there. And that's not including the trees that manage all four games.

#49762 - MrAdults - Tue Aug 02, 2005 9:07 am

Quote:
Thanks, I've got the source for Hexen so I think I'll give what you did a go tomorrow and see if I can get anything going, I probably won't be able to, but the extra programming experience will be good, I can code but the Hexen and Heretic source looked pretty daunting for porting, complete congrats on what you've achieved so far


FYI, I actually started on a Hexen port after I saw someone was doing Heretic. I'd been trying to think of a project and it struck me as a good idea.

http://www.killedbyninjas.com/hexends.jpg

Runs alright in most areas, but a bit too slow for comfort in more complex ones. Also need to get the controls nailed down, add support for savegames via sram, and whatever else comes up. Just thought I'd mention it so I don't suddenly release it in a couple weeks and make someone feel terrible for spending all of their time on a port.

-Rich

#49899 - jmva16 - Wed Aug 03, 2005 2:12 pm

Check out the project page (http://heretic.drunkencoders.com), rapid updates, rapid updates!

Anyway, I am using Mode 5 when drawing. I set aside some space in VRAM to write the view in, then copy it into the screen VRAM space. Is there a way to write to a back buffer and fip it to the front instead? This way I would not have to do the copy.

#49911 - josath - Wed Aug 03, 2005 4:53 pm

jmva16 wrote:
Anyway, I am using Mode 5 when drawing. I set aside some space in VRAM to write the view in, then copy it into the screen VRAM space. Is there a way to write to a back buffer and fip it to the front instead? This way I would not have to do the copy.


Two possible ways:
1. Change the data offset of the BG between two different memory locations
2. Use two separate BGs and turn them off/on

#49916 - El Hobito - Wed Aug 03, 2005 5:31 pm

i guess theres no hope for it working with the gbamp...

#49920 - Dannon - Wed Aug 03, 2005 6:05 pm

Quote:
FYI, I actually started on a Hexen port after I saw someone was doing Heretic. I'd been trying to think of a project and it struck me as a good idea.


It's nice to see that someone has gotten it work, I was planning on starting it this weekend when I had a decent amount of spare time to go over everything. How far through is it all?

--Dannon[/quote]

#49978 - MrAdults - Thu Aug 04, 2005 3:59 am

Quote:
It's nice to see that someone has gotten it work, I was planning on starting it this weekend when I had a decent amount of spare time to go over everything. How far through is it all?


Well, like I said, still slow in some areas and lacking specific functionality. I haven't really had the chance to work on it since I made that last post, I'll probably start working on speeding it up this coming weekend.

-Rich

#50029 - Elrinth - Thu Aug 04, 2005 6:06 pm

VERY cool!

I'm really looking forward seeing Heretic and Hexen running DS!!!
I love both games just as much.

Great work!