JF make 230
JF Nav
JF Nav
Creation Date: 2002-10-29
So I told you the other day that I had troubles with Linux, but also that I was developing stuff. This picture shows some of the best parts of Linux, especially those that I have done. First off, You notice that it is KDE. Yup, I haven't tried GNOME, but I like KDE well enough to stick with it. In fact, I deleted GNOME off my computer to preseve precious diskspace. In the top left is Konqueror, the web browser, file manager, and plug-in viewer. One plug-in that I use often is the C++ viewer, which is just KWrite inside the browser with a fast, stable read-access mode. KWrite is the tool of choice for developers. C/C++ syntax hilighting as seen here, as well as many more. It's user interface is such that one might want to have it's children -- literally. It is very fast to develop in KWrite. The one thing that it lacks is a multiple document in one window. If it had that, we'd have to call it EditPlus, my favorite Windows editor which I am writing this rant in. But KWrite solved a problem I was having: a perfect C++ editor. I tried KEdit and stayed away from KWrite because I assumed that it was like MSWrite. Another editor I tried was KDevelop. It is very close to being a MS Dev Studio killer. Except one thing: I can't get Ctrl-S to map to save, Ctrl-C to copy, and Ctrl-V to paste. That was intolerable. I would say that if something doesn't work out of the box, it doesn't work. But if I really said that, I'd say that Linux doesn't work (for me, anyway). But I persevered and here I am. Anyhoo, the second problem was the insessant crashing. Every time I did anything cool or opened too many documents, it came crashing around my ears and booted me out to the shell. What can I say, at least it didn't bluescreen. In fact, Linux crashes are much nicer than any Windows crash. You can just keep working for all it cares. That's what memory management is all about. But I found that my crashing was indeed due to running out of free memory. Why was I running out of free memory? I was running 12 daemons (five of which were hefty RAM users and five others were duplicates of a HD switcher utility) in the task menu. Why didn't I see them? When I first got into KDE, the Task Bar was cluttered, so I closed everything that I didn't want to ever click on. One was the task menu. So when I finally found that, I closed them all and found that I had 40 MB of free RAM. That's right: under KDE, running in 1600x1200 with only the shell program running, I had enough RAM to last through the winter. So I opened Konqueror. Down to 35 MB. I opened KWrite, down to 30 MB. I opened up 4 more KWrites and was down to 20 MB. I opened up GIMP and went down to 5 MB (GIMP is a bit on the bloat side with all its extensions/plug-ins). I opened up my OpenGL renderer. Down to 2 MB. Yes, that is what Linux is all about. Closing down GIMP, I could rest assured that my computer would never be slowed down or crashed due to a swap file. If I could get KDevelop to work, I would save an extra 10 MB of RAM for an OGG Vorbis Player and the Man Files for OpenGL and XLib. In the 20 hours that I've worked in Linux since I discovered the source of missing RAM, I've crashed out of X-Windows four times and never out of Linux. I haven't worked on my sound card or network card drivers since because I am so happy with developing.

What exactly am I developing? Good question. I'm developing a 3D engine that is easy to design whatever you want on top of it. For example, it'll do Manga Director as well as a video game. It's object-oriented, It's lean, mean, and a machine. So far, as you may see, I have a slightly low spinning 2D GUI. GUI's shouldn't be spinning in 3D, nor should they be upside down, and certainly not untextured. But the fact that they are doing that fairly well tells me that it's on its way up. There is a segmentation error linked to the textures right now, but even with the segmentation error I am missing the textures. So I decided to make it object-oriented, right? Well, it has a global int main() which is 10 lines long and the rest is objects. The Controller Object is called AS3DFile. That loads the file and really controls the rest of the project. It loads the GUI object from an ASCII text file and makes a Input object. The GUI object holds a list of GUI boxes that it renders. It also checks for click events sent to it by the Input object via the AS3DFile. The Input object gives the AS3DFile object data on keys pressed, mouse movement, clicks, and resizing/closing of the window. The AS3DFile goes in such a loop: update, render, and repeat (simple, huh?). The update handles user Input, then it sends the input to the Path Files (not yet implemented, but currently in use with AS3DMD3 under windows), and then sends the path info to the camera, the models (not implemented, but currently works with a seperate project), and the GUI. The render sequence is pretty easy. It just sets the camera to orthogonal for GUI shots (not yet implemented, but should be simple), then sets the camera to the correct spot from update and renders the models. I also need a Font Renderer, but I'm looking into it. AS3D Manga Director 4 needs a bit more functionality than that with moving models, maps, and moving but it should be easy to implement, since I've done it under Windows. The second use for my engine will be a video game. If you've been reading carefully for the last few gruelling days of JF, you've read that I'm planning on developing a game called Hack Mars. The word hack will have double meaning: to hack computers and as a nethack clone. It will be kinda like Nethack in 3D, but with the focus shifted from killing sparse wildlife to talking to sparse people and doing tasks, improving your character. Uh huh. So it's not like nethack. It's more like one of those (E) rated adventure games with lots of people (don't you hate that in all those games there are no people and all the animal characters are non-interactive?). Or perhaps like Lara Croft Goes On Probation (someone should arrest her for weapons violations, I could really see her with her hands in her pockets or at a half-way house reading 19th Century British Literature, or better yet, at a Murderers Anonymous meeting talking to people about her gun problem). Anyhoo, I just want to make a game using Linux. I'll port it to Win32, I guess. I'll sell the game (un-free as in beer) at a reasonable rate and I will probably GPL the code (not the pictures). I won't sell out and I'll be the only developer as long as no one wants to join for a percent of the profit (hint, hint, I need 2d and 3d artists, AI programmers, testers, and game content writers).

So what else can I rant about? Halloween is in two days and I can't say that I'm thrilled. I've been invited to a frat party and possibly to a bar with my housemates. But the day after, I need to turn in a homework assignment that I should have started yesterday. Questions, questions, priorities, priorities. I'm reading a book called Wizard's Bane. I downloaded it from a Russian book website, so it must be good. If you want to read Wizard's Bane, you can get it from Baen Books for free electronically. Isn't the web great? I would like to take this chance to applaud Baen for their good business model. If I had any money, I'd surely give some to them in trade for their books subscriptions. It would make sense that sci-fi books would come online since the authors are both smart and open. Ugh, back to the ol' dev console.
JF Nav
Home Characters Making Of Technical Mail News Links |< First < Prev Next > Latest >|  bandwidth version Goto Scene