Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Mrakoplaz

Pages: [1]
nDoom / Critor is awesome
« on: January 22, 2012, 01:55:41 pm »
Hi everybody!

As you know, I actually disappeared for a long time about a year ago, just when the exciting features (custom WAD loading, etc.) were actually supposed to appear. That happened to an annoying combination of things; university applications, hard drive crash, and some real life events, all leaving me with basically zero time for programming. So, yeah, I gave up.

Anyway, I just got the newsletter in my inbox, and must say, I was shocked. Critor managed to do it everything by himself, without any of my help.
So, I'm making this thread to show my thanks!
Seriously, Critor, great job!

PS: Hoping it's not excessively spammy ^_^

nDoom / nDoom - BETA!
« on: February 15, 2011, 10:45:05 am »
DOOM... on the Nspire!

A fully functional port of ID Software's famous first person shooter, now available on your calculator!

First of all, I must take the time to thank the entire Omnimaga community. Although there were many troubles, bugs, and other technical difficulties associated with the first release of nDOOM, you nevertheless responded with great passion and encouragement. Without you, I probably would have abandoned the project soon after January 1st, and would never have taken the time to sort through some of the more egregious bugs the project suffered through - namely the wall texture bug, or the crash-on-exit bug.

Now, finally, after many weeks of development (weekends, rather), the game has reached a state I would consider "fun". Although there is still no menu, difficulty selection, and no extensive testing had been conducted, there are now enough features to approach the original version, released for MS-DOS in 1993. All of you will welcome the addition of savegames, the main new feature of the beta release.

I seriously hope you guys are better players than me...

There remains one big problem concerning the controls, and that is the Clickpad key layout; Since I only have a Touchpad, my philosophy for control placement on that particular keypad consists of "Guess and pray". I would seriously welcome suggestions on how to improve it.

Code: (Current controls) [Select]
Action          | Touchpad | Clickpad
Forward/Back    | 8/5      | Clickpad up/down
Strafe left     | 7/4      | Esc
Strafe right    | 9/6      | Home
Turn left       | ^        | Clickpad left
Turn right      | x^2      | Clickpad right
Shoot           | =/trig   | Clickpad centre
Melee           | EE/PI    | 1
Weapons 1       | A/B/C    | 2/3/4
Weapons 2       | H/I/J    | 5/6/7
Quit            | Esc/Home | Enter
Quicksave       |    Library key
Quickload       |        Flag
Use             |        Ctrl
Map             |         Tab
Contrast        |         +/-

The game is a bit hard to see at points, but I have found that this problem can be corrected via judicious adjustment of the contrast. The game is pretty dark even on the computer, and so visibility problems are not only to be expected, but even intentional half the time (those of you who have tried the first versions, however, should note that I've remapped the pallette severely and it is now significantly easier to see than in the early days).

Yes, I know about the secrets I missed... these GIF files get way too big as it is!

I have attached two versions of the release - the "b1" release contains the game itself, built for Ndless 2.0 (therefore compatible with OS's between 1.7 and 2.1), while the "b1_source" contains the source code in C, available for any budding programmers or interested persons to investigate; However, beware! It's full of hacks!

Many important features are still untested, so there'll still be bugfix releases. Furthermore, I do intend to get that silly menu working eventually. However, this version is playable enough already, so go give it a go already!

Quote from: DOOM press release
In 1993, we fully expect DOOM to be the number one cause of decreased productivity in businesses around the world.

Quote from: nDOOM press release
In 2011, we fully expect DOOM to be the number one cause of decreased productivity in schools around the world.

Have fun ;D

Calculator C / nDoom - 8bpp bug, sleep mode bug [SOLVED]
« on: January 24, 2011, 03:25:17 pm »
As those who have been watching the progress of nDoom might have noticed, I've been fighting a bug that triggers a crash/restart (depending on the exact release) upon exit ever since the start of the project.
Before, I thought that it made sense, since I still had unfreed memory lying about when the program finished, and files that weren't getting closed. Today, however, I fixed up all those points, but the crash still remains; It is giving me a different error, but the end effect is the same.

Now, although I've got experience in computer programming generally, as well as in assembly specifically, I am quite a newbie when it comes to C, and so I wish to ask anyone skilled in this language - aside from unfreed memory and files not closed, could there be other causes for a crash that happens after the main() function returns? Or is it more probable that I've missed a free() somewhere? And could some 7 random bytes of unallocated memory somewhere really cause the calculator to restart (consistently, every single time the program exits)?
The Doom source I've based my project on uses some quite ugly hacks, so even outlandish suggestions are welcome, since one of those hacks might be triggering an extremely rare bug somewhere (note: although it uses some interesting hacks, it doesn't use any ASM() statements).

Furthermore, while the errors the emulator gives are extremely useful whilst coding in Assembly, am I correct in thinking that they're absolutely useless when coding in C, as the compiler abstracts most of the register/memory accesses away from the programmer?

Finally, could anyone explain what decides whether the Nspire just freezes, or also reboots, after a program crash? I've seen both, and there doesn't appear to have been much of a pattern.

nDoom / nDOOM - Work in progress
« on: January 01, 2011, 06:09:12 pm »
First of all, hello everyone! I've been lurking around this community for a while, and now that I finally have something to contribute, decided to join (well, that's the first reason; second reason, I realized my join date would be 1-1-11 if I signed up today ;D).

Anyway, you probably all got excited by the title, so here are some screenshots first, before I bore you with lengthy explanations and details:

Good Lord, this is an eyesore...

Whee! I know how to waste bullets!
(not obvious: Doom actually has a very nice lighting engine - dark corridors are lit up by gunflashes and everything!)

Did I mention I am not very good at first person shooters?

As you can clearly see, there is still quite some work to do. Not only are the wall textures and the status bar messed up, but there's also a few bugs on real hardware that you don't get on the emulator - namely, low contrast, and frequent crashes at startup (while the WAD files are being loaded).

Yes, you read that right! Wad files! This is not a custom implementation of Doom, but a fully functional port! When it's finished, you'll be able to load any official or fanmade .WAD file (including Doom II, Ultimate Doom, Plutonia map pack, etc.) and expect it to work. I'm working from the official 1997 release of the source code and changing as little as possible to ensure this.
Well, that's the theory, anyway - so far, I did not test it with anything except the demo for Doom I, mostly because the Wad files themselves are utterly massive: Four megabytes for the demo, ten for the full version of Doom I, and who knows how many for Doom II (many people do, just not me ;D).

And yeah: The filesize is going to be the real killer for this project. The executable itself, even after GCC optimization, is still 500kb, and the wad files themselves are many times that... fortunately, Texas Instruments have given us around seventeen full megabytes to play with, and you're never going to spend all that space on maths, so you should be able to stuff in at least the demo.

Performance might sound like an issue, but so far, in all my tests, it's been brilliant - even without overclocking, the Nspire has massive amounts of processing power and a large RAM, and I experienced no slowdowns so far (then again, the game's only been in a sort-of playable state half a day, so...). The screen blur is annoying, but tolerable.

If there's demand, I'll put the current build up for download, but before you start asking, you should know that right now, it's barely started working, and I have no idea how stable it will be when playing for longer times. Also, there's no savegame support yet, opening the menu causes the game to crash, same for the automap, since all the textures are screwed up you can't tell doors from walls sometimes, etc etc... a proper version shouldn't take too long though, as I still have a week of holidays left  :)

Perhaps most importantly, I'd like to extend a hearty "thank you" to ExtendeD and the rest of the Ndless team (I can't find much information on who to actually thank... I'd list more names if I knew them, so if you work on Ndless, tell me!), as well as the whole Omnimaga community: Without you, this never would have happened. And I mean that, as sincerely as I can. You guys are pure awesome (games! on a calculator!).
So keep it at!

In conclusion, yeah. Doom on a calculator. Proper Doom too, not a scaled-down remake.
Man, I love this Nspire. This finally outweighs the fact that we had to get it, mandatory, in our school...

PS: To stay clear legally, I'll never distribute the wad files of the full games, just the demo... so, if you want the full game on your calculator, you'll have to go and buy a PC version, then get the wad files from there!

Pages: [1]