Worklog for NTense
Worklog 1
Return to Worklogs
| ||
It seems I've pretty much neglected my worklog, but so much has been
going on.. I'm in the process of publishing Cubex, and have just put up
my website Forest Mark Studios.
I'm pretty excited about all of the things coming down the road, but I
think this is probably the last entry I'll have on this worklog.. Any
future developments will be posted on my website. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
I posted a call for Beta Testers in a few forums.. I need a little help
testing the rest of the MP online, and figure it can be done quicker
with a few more people on hand. Hopefully my mailbox won't be too
flooded (or for that matter, too empty), but we'll see. It's getting
pretty exciting to see the product come together! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
OK, I haven't been very good about keeping up an online worklog. Sled
Jammer has taken a big back seat to my puzzle/strategy game, Cubex.
Cubex is about 90% complete!! I am currently making final Game levels,
and polishing up the code a little bit. Both Single and Multiplayer
work well so far, though I've only tested the MP with 2 players, and the
game can handle up to 4. So I need to beta test with 4 players, but I
think I'll wait until I've got all the game levels completed before I go
there. For now, I'm cranking out levels, optimizing the code, and
looking at publishers. It feels good to almost be done with my first
one! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Lately a lot of effort has been to merge the movement code written by
my partner in SJ with the main code. This has proved to be a temendous
challenge as it was written "non-modular". So much of it is being
rewritten, but so far it's coming along well. Next will definitely be
shadow mapping and level loading. Some rudimentary(sp?) work has been done on collision detection. Finally, object placement and physics system needs to be implemented. I just received some disturbing news, stating that I will be out of a job in 3 weeks. So, much of my time is now being devoted to job hunting, and figuring out how my wife and I are going to afford 2 house payments until one of our houses sells. On the positive side, this provides an excellent opportunity to switch to a programming related field. I just don't have the passion for healthcare that I used to. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
I'm back from my Honeymoon (it was GREAT!!!), and working hard on 3
projects! That's right, 3! SledJammer is still the biggest fish in the
pond, but I decided to work on 2 smaller products to publish in the
near future and hopefully get some much needed cashflow going. One is a
puzzle game which is about 50% complete (after about 6 total hours of
coding and graphics work) , and the other is a 2D space shooter/breakout
variation. I hope to push these to a budget software publisher before
December. My partner has written a pretty good control system / and camera code for SJ. We now have the sled on scene, with some rudimentary collision detection. Before we go any further though, we've got to merge the code. It wasn't written modularly (is that a word??), but needs to be so that multiple ships can be passed to the ship control module. Once we merge all of it, I'll add shadow code. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Today I put together a VERY BASIC world editor for SJ. It's console
based (though I think I'll make it graphic soon), and currently saves 3D
terrain tiles/ respective their locations to one another, level splash
& movie files, and player start position. I'll be implementing more
as I progress with SJ, but for now that'll do. Added a HUD element (weapons display) to the cockpit display. It needs some tweaking (don't we all!) but was relatively easy to put in place. I pretty much have spent the rest of the night working on my Wedding Programs (not code)... My fiancee and I have been toiling away at one endless task after another. It's no wonder people need a honeymoon after their wedding! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
After an hour of stepping in and out of my code one line at a time, I
finally fixed the in-game graphics selection menu. It works well on my
"test bed", which had proven to show the flaws in my program well!! ;-) _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
OK, here are the very first screenshots of SledJammer. Not a
tremendous amount happening here, just trying to get the terrain system
down, and the atmosphere looking right. Camera movement has been coded,
and soon the first "Sled" (thus the name) will be added. An untextured
picture can be seen at the bottom in the NEW GAME menu shot. The game menus are animated but obviously that can't be seen in these stills. All of these were taken at 1280x1024x32 resolution. As you can see, it's running at 63 fps right now. That's what the limiter is set to (which works wonderful!) I've run this on a 400 Mhz machine with 8 meg of ram and it ran at 1024x768x16 at 20 fps. Despite the lower framerates, all the movement/acceleration were just as smooth as on my development system! This is the beginning of the first level of the game, which will be a "Training" level 'ala mechwarriors training sessions'. Hope you enjoy!! [Deleted] Just some terrain shots with a little river running through the scene. This Trainer terrain is scaled to be 16 square kilometers. All the textures were manually drawn in Photoshop. No lightmaps yet, and haven't placed any "objects" in yet (physics tests with the sled are being conducted with another level). [Deleted] This is a pic of my options menu.. It of course doesn't have all the options placed in yet. I just wanted to get some bare bones in first to work with. [Deleted] I am pretty pleased with the water effect I got on this level. I made about 16 different water textures in Photoshop, and this one so far has one the prize for my favorite! I'm working on coding a procedural water tex, but I don't know if that will put too much of a hit on the processor to really make it worth it.. We'll see! [Deleted] My Main Menu!! I developed a mouseOver command to handle this menu system. You can see the New Game button "highlighted" as my mouse cursor moves over it. [Deleted] Above is an untextured Trainer sled. It's my first and may very well be revamped, but for now it's what I have to work with! I've gotta go back and clean up a lot of code, and am going to revamp my graphics selection code tremendously! Started working on the level loading code today. Initially I have the function set to hold an array of 16 terrain tiles (each tile is currently scaled to be 4x4 kilometers or 16 square kilometers). My type structures are getting a little more complex than I would care for, but to keep everything as modular as possible I'm trying to hold all objects in respective Type structures. Well, it's getting late, and I've got work tomorrow, not to mention more wedding planning ahead of me this weekend! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Well, I sometimes feel like I'm going 3 steps forward, one step back..
Right now I feel like I'm in that one step back phase! I've been
wrestling with the Resolution change function from the options menu
after testing it on a number of systems and reallizing that while it
works perfectly on my development system, it doesn't on others.. I
think I've got it somewhat improved though, but need to take it to other
test platforms.. I've added some visual improvements to the GUI since the last entry. Mainly animations, but also some performance tweeking. The majority of what I've been doing is building(modelling and texturing) the first three levels for the game, and designing a level loading/scripting system. I've achieved pretty good results so far(at least with atmosphere, clouds, and sun w/lens flare) though my water texture leaves a little to be desired! I feel like I'm pulling multiple jobs right now! Definitely feel that I've been pretty heavy on the graphic arts this last week, learning to use Photoshop relatively well(creating my own brush textures now!!!! Whohooo)! Recent additions: ------------------ --------- | GUI | --------- -display player ship in NewGame Menu -Allow player to create their own game file under their name -Start game button w/animations -text entry routine (still need to place locallize this in it's own function) -------------------- | GamePlay Code | -------------------- -accel/decel code -level atmosphere code ~90% complete -integrated complete gameplay into the GUI With my wedding just 18 days around the corner, I don't have an abundance of time either. I'm grabbing 10 minutes here, 20 minutes there to tweak code, and test the results! The "To Do" List: -terrain tile system (~10% complete) -Level loading system -Texturemap ship -implement ship model+physics +++++ include soundfx with model movement/firing -HUD (~5% complete) -Tutorial level models -Tutorial voice and scripting This should be more than enough to keep me busy for a while. I hope to have a playable version of the tutorial within the next 2 months (by Nov?? Thanksgiving?) _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
It's been one month since the Sled Jammer project was conceived (sp?),
and I feel like a lot of progress has been made. The GUI options menu
is complete minus keymap settings which will be added after the control
system is setup and running. Speaking of which, my partner started this
week with testing some sled control code, so hopefully that won't take
too long to complete. Started on the New Game menu, which is about 20% complete. After the New Game interface is complete, level loading/scripting will be the next BIG project. I have already laid out some preliminary thoughts in the design document, so hopefully I can build around that. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Things have been pretty slow in development lately. I've only had
about an hour total over the last few days to sit down and code, so
progress has been minimal. Began building the terrain level for the first 3 tutorial levels. Textures were created in Bryce, but need to be pulled into photoshop and touched up.. Added a few functionalities to the GUI, and removed the ESC functionality so that you have to use the "Exit" button to exit out. Added code to free resources when leaving menus. Created a design document to help keep track of progress and guide development. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Man... I just spent 30 minutes writing this huge Log entry and
accidentally hit the back button on my browser and lost it......
UUURRRRGGGGGGGHHHH.. Well, it's almost midnight and I don't really have
time to write it again, so I'll just post a summery of this weekend's
coding events: 1) Gained a "partner in crime" to assist with this project. i. His first project is player movement with gravity simulation 2) Fixed a bug in the 3d sprite move routine so that now times under 1 second can be passed to it 3) Added 4 functional buttons to the GUI 4) Added a graphics mode selection and in game change routine 5) Converted the game engine to a Message based State Machine (for lack of a better term) 6) Did a TON of housekeeping to my existing code. 7) Gave the GUI it's own file, and mouse movement it's own function (rather than being embedded in the GUI) 8) Added multiple sound effects to the GUI 9) Added memory clean-up routines So, it's been a busy weekend.. I polled the forums for a bug I'm having with the lower resolutions.. Seems only every other row is being drawn on the screen. Things look pretty bad. Will have to come back to it when I'm fresh, and maybe try it on a different system to see if the effect persists there. It's getting late.. I've gotta go to bed. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
In the next 45 minutes I've gotten to sit down at my home computer, I improved more of the GUI.. 1) Fixed the bug in the 3dMouseOver command (which is now posted on the code archives) 2) Fixed the bug I was having with the text formatting (thanks to all on the forums for their input on this) 3) Improved the animation in the game menu. 4) Added partial code for Graphics Mode Selection Routine, Music and Sound Volume. So, the options menu is coming along nicely. I think the others will go much faster once I get this one completed to use as a template! I'm pretty excited about getting the GUI done. It's my first "mile marker" in this development process! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Completed some menu functionality yesterday.. Just with the options
button moving to the options window, but I only had about 45 minutes to
work on it.. Also developed dynamic "Frames/borders" for menu
functions. Experienced problems with text formating.. I received a 'Font does not Exist' when trying to SetFont after the load.. hmm. Will check the forums for an answer. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
In my last entry, I noted an entity doesn't exist error that was
driving me nuts! Wouldn't you know, I was saving the wrong path name in
the data file!! Sometimes you look over the simplist mistake! Anyway, yesterday I worked on my GUI, specifically the main game menu. I wrote 3d mouse functionality, a 3D Mouse Over command (though its got a quirk [not quite a bug] that I'll have to work out later), and highlighting buttons. The menu runs pretty smooth, and contains animated layers! Also added the bg_music for the Game Menu. I still need to add "functionality" to the buttons, and create the "sub-menu" routines. I also improved the data file routines.. A large part of this time was learning to work with sprites in a 3D environment, and learning PhotoShop. Things are coming along well though. _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
OK, so I've spent some pretty impressive time coding and testing my
compound data types to hold most of the game object data. Also, I've
written routines to write most of this out to files. I'm having
problems reading one of the data members though, and I haven't been able
to get the debugger working to figure out what what's going wrong. All
I'm doing is storing an object's model path, and then retrieving it to
be displayed, which "loads fine" but then gives me an "Entity doesn't
exist" error when I go to position the object?? Hmm. It's kind of
stumped me, but the Forums have provided me with some tips on using the
debugger, so I'll try tonight when I get home from work to resolve the
issue.. Next on the To Do List: Develope the GUI!!!! I think I'm going to try and build a GUI library. I know there are a few out there, but I think developing my own will be good for learning (if not test my patience!).. Until next time! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Today I opened NotePad at work, and spent endless hours coding (or
recoding rather) my SledJammer. I decided to restructure the entire
program and make it as modular as possible. I'm doing this to make my
code more portable, so that it can be used in other engines. In
addition, I'm making the code very abstract, and trying not to hard-code
anything. This should make editing levels and attributes much easier! So, after coming home from work I took my files I revamped in NotePad, and pulled them into B3D! Luckily very few typos, but I did run across something that took me a while to work through. I am using compounded types (types within types) to form complex structures. It's the closest thing I can do to get mimic classes and inherited structures. Luckily, after hours of staring at this forsaken monitor, I have my existing code bug free! Added ScreenShot Code (untested) Added Basic movement code Improved the graphics initiallization sequence. Now it searches first for available 32-bit modes and selects them if available. 16-bit mode issues a warning of decreased graphic quality. Added the framework for gravity code (each object can be effected by gravity differently! Each object has a gravity modifier value, so a feather can "float" gently to the ground while a piece of steel will fall hard.. There's a default gravity value that effects all objects, and then the modifier optionally effects that initial value). To Do: -Create a basic "Test Level", and get my ship moving -Find/make some suitable sound effects! Well, I'm not going to write a book tonight (my fingers are pretty tired ;-), but I think the improvements I've made will make the entire development process much smoother! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Well, yesterday I got the "official" B3D book and boxed version. I was
pretty excited. Even more so simply because the box was from the UK...
I don't think I've every received mail from overseas before, so it was
cool seeing their postage marks and everything.. OK, I know that sounds
weird, but I thought it was cool. So, the first thing I did was open the book and fly through it looking for morsels of wisdom. I found a few suggestions that should help in structuring my software, so off to the drawing board for more development! _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |
| ||
Hey! It's my first B3D worklog ever!! I feel like I should get a
prize or something! Anyway, I've got about 5 game designs in my feeble
brain, and decided to work on the "easiest" one first. I'm projecting a
6 month development period for it since I'm currently the only one
working on it, and learning/adapting to B3D from C++ as we go. I plan
to market the game after it's completion along with a MOD-guide to help
player's to build their own levels. Possibly some development tools
(though may keep those proprietary {sp?}). Intended Features: Multiplayer Support for up to 16 players Single Player mode Smart-Variable decision AI Includes flocking patterns Includes coordinated hunting Realistic Physics Soft Shadows Particles Realistic Skies (multi-layered/animated) Rolling Fog/Haze keyboard/mouse/joystick support Fully Customizable KeyMapping with the ability to save custom KeyMaps SledJammer(tentative name) game design began July 25 2002. To this point, the majority of work done has been with in-game utility functions, types, and file structures. To date, the following have been added: CreateGameConfig (complete) - Creates GameConfig.DAT if not already made. PreGameConfig (complete) - If GameConfig.Dat has not been initiallized once, initiallize with default settings CheckGameConfig (part-complete/doesn't correctly call CreateGameConfig if file doesn't exist?) UtilityFunction (complete) - based on global flags, reports FPS, Triangles Rendered, Camera Positioning, etc.. Created Types: Player (includes Ship, KeyMap type) Ship (includes Weapon type) Weapon KeyMap Today, I ran my first test of the engine. Not too much happening yet on the screen yet: 1 terrain(textured), 1 model(2500 polygons, textured, poly-reduction will take place before launch), BG Music, Movement via cursor keys, and 1 light source. Ran smoothly at 1024x768x32 at 76 fps(though I'm sure this is my monitor refresh rate). This is without a lot of optimization, but none the less, I got things up and moving. INPROCESS: Working on a level/world description file format, and a level script parser. Currently looking for 3D artists/animators (I love 3d modeling, but if I did all the models, it would take me at least 2x as long to develop) Researching Shadow routines. I want to be able to pass an entity to function and have shadows calculated in that function.. Needs to be fast! Most of what I have encountered is too slow for multientity shadowing. To Do: ScreenShot routine Collision Detection Physics Enemy AI Networking (UDP vs TCP?) Well running out of time for this entry. Will post again once more has been added. Before ending just let me say 'Mark, this is an incredible piece of work! Especially coming from one primary coder! My hat is off to you!' _________________________________________ Desktop: Athlon 2100 | 512 MB | 128MB Radeon 9000 Pro Laptop: Intel P4 2GHz | 256 MB | Radeon Mobile 32MB C | C++ | Blitz3D | VB | Java Forest Mark Studios << Cubex | Horse Essentials | Military Essentials >> |