PersistentWorld3D - A Blitz Community Project.

Community Forums/Developer Stations/PersistentWorld3D - A Blitz Community Project.

Techlord(Posted 2005) [#1]


Welcome,

PersistentWorld3D is a Multi-User Online Level Builder for the Blitz Community developed with Blitz3D. The purpose is to develop a FREE full featured Level Editor in which multiple users can colloborate online to build 3D worlds in realtime for their games and applications.

The Project is open to the community for contribution. See the Rules for details. For the lastest updates, Check Out the TODO List! If you download and try the demo. Please provide feedback. Your feedback is extremely valueable and can have a direct impact on the project. Thanks in a advance.

News
PersistentWorld3D Demo v010305 Released!

In this demo, scripts create a simple WUI with buttons that create and delete some simple 3D primitives. The Purpose is to demonstrate how scripts can be used to create gui interfaces, support plug-ins, and macros. 01/03/05 Frank Taylor


Old Threads



Conan(Posted 2005) [#2]
Yo, frank, sorry bout not talking for a while, but had other stuffages to do...
will get back on the chat right away!


Techlord(Posted 2005) [#3]
Conan

I've been integrating network into PW3D with BPLite. BPLite has a easy way of dealing with chat. So, I dont anticipate the network portion of chat to a major challenge. Creating your dialogue box is going to be the fun part. Have you decided on what features if any you want to add?


Techlord(Posted 2005) [#4]
PW3D is online! Check for it on GNET.

Would like to do some network testing. Any volunteers?


Conan(Posted 2005) [#5]
ME, of course!


Techlord(Posted 2005) [#6]
Conan,

I'm finishing up a few touches. There is really no network messaging setup yet. I have'nt recieved much input on it, but, i think the current format
{msgCommand}{msgObject(ID)}{msgValue#}

Examples:

{AvatarTranslateZ} {1} {1.5}
{EntityMoveX} {23} {14.75}
{ToolBooleanPickA} {5} {1}
will serve the needs and can be easily extended. There is really no set way to do it.

Once I finish up the touches, I'll setup the server. I've basically taken the BPLite demo and shaped it up for use. I shifted some code around and relabeled some functions. You will have to download the Unofficial Release Version for the latest updates.

What to expect in this phase of network testing. My goal, is to get some basic 'avatar' movement and chat working. I'm not really concerned about performance at the moment, just connectivity.

I'm starting to get really really excited about this project as I see its potential being enormous. The network integration is going to give this application power that has been rarily seen in World Building Editor.


wizzlefish(Posted 2005) [#7]
I'll do some network testing. Set a time and date, I'll be there.


Techlord(Posted 2005) [#8]
No Enemies,

Sounds great. I'll post an update when we are ready to begin.


wizzlefish(Posted 2005) [#9]
OK.

I'm currently thinking out ideas for game mode. I'm still in this project - I'm not just that good with applications. "Building Maker" will be my first application.

Once I'm finished "Real Estate," my developer tycoon, I'll contribute some of the code to PersistantWorld3D. And, of course, Building Maker will be made exclusively for PersistantWorld.

I haven't left this project yet. :)


Conan(Posted 2005) [#10]
Me Neither...

@frank, just say a time and i'll do my best to be there


Techlord(Posted 2005) [#11]
Found a silly lil bug that keeps the client from logging onto the host. I'm going to fix this tonight (I'm at work now.) The network testing should follow.


wizzlefish(Posted 2005) [#12]
OK, great.


Techlord(Posted 2005) [#13]
Team, we have connection!

Now I'm working on the chat and a few basic message to move advatars around. Once I'm complete with that, I'm a take some time to write up instructions on how to connect. All I can say at the moment is BPLite rocks!


Techlord(Posted 2005) [#14]
Dear Moderators,

I truly appreciate the sticky status for this Project. Regretfully, I must decline the status at this time.

With Sincere Thanks,

Frank Taylor


wizzlefish(Posted 2005) [#15]
Decline sticky? Are you crazy?!?!


Techlord(Posted 2005) [#16]
IMHO it is best to let the Thread free flow. When a post is made, the thread will automatically return to the top in view for others to read. A sticky is not necessary.


wizzlefish(Posted 2005) [#17]
I see your point. But Frank - it's an honor.


Techlord(Posted 2005) [#18]
...


GfK(Posted 2005) [#19]
Dear Moderators,

I truly appreciate the sticky status for this Project. Regretfully, I must decline the status at this time.

With Sincere Thanks,

Frank Taylor
For once, we agree.

Can't the moderators just start a "community projects" forum and chuck all this stuff in there? This stuff really does not interest 99% of people here.


Techlord(Posted 2005) [#20]
I'm ready to do some network testing guys. I have not implemented any form of messaging and I would like to do some simple testing before I do so. What is messaging? The messaging is a set of values that tell the clients that a user has moved a object, executed a tool, or what ever. I would anticipate the need for there by many types of messages so im looking for the most simple and flexible way to handle them.

I've tried running a host and client on my local machine but the performance is too poor to yield any good results. I didn't think performance would be important at first, but, I realize it could have an effect on how the messaging is implemented. So I would like to move forward with testing at the current state.

If your up for some network testing then download the Unofficial Release and replace old. I'm going to Host a Project so you can join at your earliest convenience. You should see it Project listed on GNET. Look over the README.html for instructions to join.

The most we will be able to accomplish is a basic Chat. Note: the camera control is currently directly binded to the keyboard, so you may see your self jumping as you type - hehe. I'll fix it later. This testing will provide solid information to help shape the messaging.


Conan(Posted 2005) [#21]
I got connected and nobody answered, so i got out... and by the way, I CAN'T CREATE ANYTHING!!!!


Techlord(Posted 2005) [#22]
I got connected and nobody answered, so i got out...
I apologize. I'm glad you were able to connect, and Ive read the chat messages. This is very very good.

I CAN'T CREATE ANYTHING!!!!
No functionality to create is programmed in as of yet. Network Messaging we be part of any action. So when you click a command to create to a shape you send a Network Message to create a shape to the connected users. I believe the message format
CommandID, ObjectID, Value
will meet the needs.


Techlord(Posted 2005) [#23]
As I test networking, I'm drawing closer to the conclusion a 3D Avatar is not required. Knowing the position of an Avatar is far less important than knowing what object their working on.

A 2D Pane with a Avatar Pic, Name, and Owner Color appears more useful and simple to view users online. Other justifications for no 3D Avatar: 1) Less Clutter in 3D Space. 2) Camera Movement can be sporatic because users will be able to shift view perspectives on the local side which could result in avatars 'jumping' around in 3D Space. (This will be dependent on the implementation of layers/viewports).

TIP #1: If you Select Help -> Reference on the Main Menu, you will see a list of Camera Movement Controls in the Information ->Help Dialog.

TIP #2: You can view realtime Network Stats by selecting the Information -> Network Dialog and Holding F5.


Techlord(Posted 2005) [#24]
In developing PersistentWorld3D A Multi-User Online Level Builder, I begin to see numerous uses for Multi-User support in other applications (ie: A Multi-User IDEs such as C-Forge). So Ive been inspired to provide multi-user support for PW3D Script Editor (Mini IDE) as well.

I've taking a little break from the network programming to work on PW3D View Layering System. The View Layering system is a combination of Camera View Control and Mesh Visibility Layers similar to Photoshop Layers. View Layers will provide easy way to create, manage, and select different camera views. View Layers will manage mesh/object visibility in layers for optimal performance.


John J.(Posted 2005) [#25]
I finished a Polygon Reduction function I was making. If you think it's any good, maybe you could use it in PersistentWorld3D.


Techlord(Posted 2005) [#26]
John J,

Thank you for the contribution. This function will go into PW3D one way or another. I took down the chat server due to some tech probs with my cable modem. In the interim we can chat with MSN Messenger: frankie_taylor@... which doesnt interfer with my Blitz Dev.


Picklesworth(Posted 2005) [#27]
This seems to be taking form quite well.
Maybe I'll try to contribute something in the future...

I really like the idea of a multi-user level editor :)


Techlord(Posted 2005) [#28]
This seems to be taking form quite well.
Maybe I'll try to contribute something in the future...
The would be awesome!
I really like the idea of a multi-user level editor :)
I do too. Your input is welcomed, so please feel free to offer any ideas.

Texture Popper by Shagwana will be making an appearance in PW3D. This tool lets users align a quad a image, grab it, and save it to a bitmap.

I modified the Blitz+ version the source to produce a simple version for Blitz3D:



Picklesworth(Posted 2005) [#29]
Would a physics builder be useful?
I could probably port apoe once it's done.


Techlord(Posted 2005) [#30]
Would a physics builder be useful?
It sure would.

Its a personal goal of mine, to develop PW3D in such a way that it can be customized for specific game engine. If ones game engine features a physics engine, then one should be able to actively test it realtime in PW3D. Its open source nature make this relatively easy to do.

If *.decl files are to be used, a phototype file will have to compliment for use by the bscvmCommandInstaller. Currently the Command Installer doesnt parse *.decls files.


Picklesworth(Posted 2005) [#31]
I see you're using Blitz UI, so here's some things :D

Caps-lock in BlitzUI.
Replace UpdateTextBox function with this, and it should work. Also includes holding shift while caps lock is activated. I haven't yet added End and Home, but I may do that at some point.


If you want any other things added in BlitzUI, I may have done it already. I have a list box (or maybe treeview) that returns EventData of entity selected, settable and gettable parameters for everything contained in a gadget (good for storing handles of entities and such), miscellaneous addons like setindex for combo boxes, CM_DELETE for combo boxes, and various other flags.
Also made a spinner gadget (external from blitzUI though, so a tiny bit harder to install), for which you can both press the buttons on the left and type in the text field. It's very simple, but you may want it.


Oh, and my movement pegs are free for use if you want them, and I also have an easily added object position console built in blitzUI so that objects can be moved and scaled and rotated with numbers rather than the mouse. It was hard for me to install, but that's just because I'm dumb and ended up with 2 different kinds of objects and 5 different modes, only 3 of which I need :D

Move pegs: http://www.blitzbasic.com/codearcs/codearcs.php?code=1238
I made a clean (although, it is a hack job) integration with blitzUI too, so they can be dragged about in a normal blitzUI window. That unreleased bit is not very customizable because I got lazy, but if you want it I'll pass it on.

Transformation console on request. (This post is huge as it is.)



PS:
Function NoUIActivity()
    If noactiveGadgets() And app\overwin = Null
		win.Window = First Window
		If win\dragging = True Then Return False
		Return True
	EndIf
End Function

Sorry couldn't help myself :D
Handy, because likely you'll have a problem where objects are selected by accident when windows are dragged really fast. This helps fix that. (Should be self-explanatory)


Techlord(Posted 2005) [#32]
Thanks Mr. Picklesworth,

I will have to make many modifications to the GUI source as BLUI is a significant modication to BlitzUI. Regardless, I will utilize any additional feature you have to offer.

The Movement Pegs are Excellent and the code is very neat and modular with the 'MovePegs' prefix. Great work! It will not be difficult for me to integrate the MovePegs with the BLUI Orientate Menu. I will using the MovePegs for entity & texture position, rotatation, scale, and entity color.

Your contributions are appreciated. Keep up the good work.


Picklesworth(Posted 2005) [#33]
Frank,
I noticed your reply to my code archive entry.
I've fixed it up so it now includes the Distance function.
I somehow forgot to keep my own version in there for those who don't have whatever userlib I got it in. So what you thought was a typo actually wasn't and "fixing" it will cause the click detection to be messed up.

Thanks for telling me about the problem :D


jhocking(Posted 2005) [#34]
Multi-user online level building? Whoah, funky idea.


Picklesworth(Posted 2005) [#35]
Good for complex levels.
I'd say it's one of the few tasks that I would actually like to be multi-user :D


Edit:
An idea to make it work even better for passing on design ideas. A networked sketch pad, and a way to pass on screen shots and images (maybe even screen grabs directly from the program?).


Techlord(Posted 2005) [#36]
An idea to make it work even better for passing on design ideas. A networked sketch pad, and a way to pass on screen shots and images (maybe even screen grabs directly from the program?).
I had a similar idea called a 'BluePrint' in mind.

BluePrint and most of the networked functionality will rely on networked file sharing. This will require a File Download Management System of some sort. This is the next milestone in the network design phase. Once I have a solid Network Scheme working, I will start working on it.

IMHO, adding menus and geometry editing features will not be difficult, so its best to get the networking in place at this phase.


Clarks(Posted 2005) [#37]
How is this project coming along?


Techlord(Posted 2005) [#38]
Clarks,

At present, I'm working out the network messaging, thus, there are no 'editing' features in place. Once the network messaging is worked out, I will be adding editing features.

For now its best to get to familar with the code. The application is being developed with BlitzScript, BLUI (BlitzUI), BlitzPlay code libraries and several code snippets extracted from the Blitz Code Archives.

Practically everything is being scripted with BlitzScript. All the menus are being created with BLUI. The network is handled with BlitzPlay. There is plenty of docuementation included on these libraries.

I could really use some help with menu creation. The application will need many many different menus. Its fair to assume, it will take more time for me to design all the menus and code all the functionality by my lonesome.


Clarks(Posted 2005) [#39]
use some help with menu creation

i would surely help if i didnt have my hands full.

youre a busy person yourself i see.


Techlord(Posted 2005) [#40]
Clarks

Its looking like PW3D development will be merged with Project PLASMA FPS. What this translates into is that PW3D will have native support for editing Game Objects used by Project PLASMA FPS.

This is a very good thing. I have successfully managed to improve BlitzScript3D while developing PW3D simultaneously. I simply make my improvements to PW3D's BlitzScript3D core and extract the core out separately. With a modular design this is very easy to do. So I will keep two separate threads going to discuss the separate Functionalities between PW3D and PPF.

I've taken a short recess from PW3D to revamp aspects of TournamentBlitz.com. I'm devoting time to all the projects on a motivational (i'm-bored-with-this-part) basis. So far its working. I'm getting small goals completed with each project and progress is steady. The only project completely sitting is Project PLASMA FPS. This will be changing with the merger.

more to come.


Clarks(Posted 2005) [#41]
about the scripting language;

i added more work to my scripting language, its called MagentaPL. its still in the early works but ive managed to create opcodes and i actually compiled my own exe which have the extension mgt_exe all byte codes. its going to be very similar to c++, and have some features like java still in the works.

ex:
type Math{
public const int_ PI = 3.14;
public proc flt_ sqrt(flt_ x);
}

i wanted to use type instead of class. the language can do basic looping with while statements. its still in the early stages so i have nothing to show. ill rewrite the language in C++ after i have a good prototype built in blitz. theres just so much to do and sometimes it gets boring. best of luck.


Techlord(Posted 2005) [#42]
<sarcasm>Writing a Scripting Engine is so much fun.</sarcasm> With sarcasm aside, I did enjoy writing BlitzScript3D. Its the predecessor of 3 previous attempts. Its fast and flexible. And the Command Installer utility really makes expanding BlitzScript3D Language painless.

I only have one concern in PW3D and thats with BLUI (BlitzUI). The GUI Lib is fantastic, but, may present a problem with the mixing of 2D and 3D. I have notice problems on several different graphic cards. It would be nice to get my hands on a Mesh-based version of the Blitz3D 2D command set to replace the 2D with no code altering. I thought about writing one see MAUI Discussion, but, my hands are completely full.


Clarks(Posted 2005) [#43]
Mesh based version, hmmm!.
then OpenGL is your answer.

DirectX mesh based gui is something i cant think of right now.

i looked at the internal workings of BLUI and i have to say that its not a good design at all. Believe me eventually your program will loose fps. It has everything jammed together, although its small its still a bad design just to let you know. So if youre looking for a way to increase your frame rates dump BLUI and get some other gui.


Uber Lieutenant(Posted 2005) [#44]
I've done a little work using NGUI, the much-ignored free GUI system (ignored because it's commented mostly in French), and it's actually pretty well made. It works well with 3D displays and it allows you to setup an interface not unlike MacOS X with the Cottage (Dock). It would mean changing your code, but this is the interface that will make PW3D useable, so it's worth any major reworking you need to do.

FUI is made to be integrated into 3D applications, but it has a price, so "open-source" doesn't fit in. I'll do some scouting around.

EDIT
I found WinBlitz3D which would be very appropriate. It uses the Windows API so you can make an actual Windows window for the editor. There's also AlphaGUI which may work well (you never know...) but if only we could use ToolUI for this...

EDIT 2
Yup, you made it a bitch to convert. You wired the scripting engine around WUI?! I'm trying to change it all to NGUI and you've really made it manual labor.


Picklesworth(Posted 2005) [#45]
Using a windows GUI would be good, because all of the GUI gadgets that we think of needing were probably inspired by Windows :)
Winblitz3d can be used. Also, if a feature is needed, you can study those win32 constants I have posted (though they aren't mine) in the thread here: http://www.blitzbasic.com/Community/posts.php?topic=44366

I learned a bit about win32 gui stuff through that program and a few other little things, so I can try to answer some questions.


Techlord(Posted 2005) [#46]
Yup, you made it a bitch to convert. You wired the scripting engine around WUI?! I'm trying to change it all to NGUI and you've really made it manual labor.
WUI was removed. Use the Unofficial Release. Using the BlitzScript3D Command Installer can automatically add the NGUI command set to the scripting engine. All the guis are scripted. Where can I help.

Oh yeah, dont forget about the 'game'. It would be nice that PW3D and PPF to share the same GUI Lib. This too is also driving the demand for a 3D GUI.


wizzlefish(Posted 2005) [#47]
Oh, man, I have too much stuff to do, I haven't even had time to think about this. I will try to work on the game, but I've already begun development on 2 arcade games, an FPS, and an RPG/RTS, so I may not have time for this. I'll let you know when I have some free time to work on this. Sounds really interesting.


Techlord(Posted 2005) [#48]
I will try to work on the game
Not sure what 'game' your talking about. But if your interested in developing components for PW3D's Project Plasma FPS Engine then take a look at this TODO List.


Uber Lieutenant(Posted 2005) [#49]
Oh yeah, dont forget about the 'game'. It would be nice that PW3D and PPF to share the same GUI Lib. This too is also driving the demand for a 3D GUI.

You kidding, right? PW3D would have a window-oriented interface, but PPF would be completely different (or are you talking about having a UT-style menu?)

I'll see what I can do with the GUI. I hold no promises, though.


Techlord(Posted 2005) [#50]
Uber Lieutenant,

I look forward to what you come up with. I looked at your worklog, whats nSprite?


Uber Lieutenant(Posted 2005) [#51]
I looked at your worklog, whats nSprite?

...oh...my god. What rock have you been under? Hello!

I'll still work on the GUI :p
But WUI is still wired into the engine (referring to bscvmThreadCallIndex.bb


Techlord(Posted 2005) [#52]
nSprite looks really promising. With the Blitz2D shape and text command equivalents it could replace the 2D stuff in BLUI.

Oh BLUI only uses the bscvmThreadExecute function from BlitzScript3D. Its located in the BLUI_Event_Handler Function. You could add a Stub Function to nullify the call.
Function bscvmThreadExecute(dummy)
End Function
Or Rem out the calls in the BLUI_Event_Handler.


Uber Lieutenant(Posted 2005) [#53]
For some reason the Command Installer freezes up when it tries to derive functions from the NightGUI modules NG_ElementsUpdate.bb, and same happens with NG_Styles.bb. I can't figure out what's causing the freeze, but with missing modules, NGUI isn't going to work. Until that is resolved, I'm on standby.


Techlord(Posted 2005) [#54]
The trouble might be found in the bscvmCommandinstall.log. I grabbed NGui. I'll give it a shot.

Found some problems in:
..\Ngui_Epsilon\Modules\NG_ElementsUpdate.bb
..\Ngui_Epsilon\Modules\NG_Styles.bb

Found a bug in the French Comments where double quotation marks were not closed. Double quotes must have a open and close quote, otherwise it results in a infinite loop hang-up. The code for the Command installer was built with the same code used for the compiler, so a fix is out of sight at this time.

Corrective Action for NG_ElementsUpdate.bb
1. Locate NG_AddMenuItem Function
2. Change
; si on tombe sur un "\", c'est donc que c'"était un menu parent
Remove the double quote
; si on tombe sur un "\", c'est donc que c'était un menu parent
Corrective Action for NG_Styles.bb

1. Locate Case 9 in the NG_SetStyle:: Select theme Structure
NG_DefaultSkin$ = "NGUI_files\NG_Blanc.jpg";.png"
Add a Double Quote
NG_DefaultSkin$ = "NGUI_files\NG_Blanc.jpg";".png"
Code tested and parsed successfully with Command Installer with 1171 Commands Added.

This is very small and painful detail to remember when you using Command Installer. Most programmers use open and close quotes by habit. One day I will fix it, but, its something that we will have to remember for now.


Uber Lieutenant(Posted 2005) [#55]
We'll also want to create a dedicated server app for, say, community projects where you want people to be able to access maps and models but you don't want to have PW3D open 24/7. Might be something to think about after the net code and basic mapping functions are in place.

Oh, and I'm playing around with the old BLUI interface a little. Why are we swapping off of that, again?


Techlord(Posted 2005) [#56]
Why are we swapping off of that, again?

There are performance problems with the mixing of Blitz 2D and 3D. There are problems on several different graphic cards. The goal is to acquire Mesh/Sprite-based version of the Blitz3D 2D command set to replace the 2D with no code altering if possible. If not use a readily available (hopefully free). A 3D GUI Lib would meet both Application and Game Requirements which is why I believe its favorable to do so. But its not mandatory.

To Be Honest NGUI runs very slow on my PC and the Lib is very bulky. I'm not sure if is sprite based or not. The current performance doesnt lead me to believe so.


Uber Lieutenant(Posted 2005) [#57]
Come to think of it, NGUI is 2D with 3D support. And yea, it is pretty big for what we need.

As you caught interest in earlier, nSprite would be a good choice. The problem though is that it's a 2D in 3D commandset, not a GUI lib. We're pretty tight on options, here.

I've played with the BLUI implimentation and for what progress was made on the editor it worked well. I can understand some lower-range PCs or certain graphic cards would have an issue rendering it, but the basics are already in place. I can understand why you would want to settle on a GUI library before we get too in-depth with the editor, though.


Techlord(Posted 2005) [#58]
lower-range PCs or certain graphic cards would have an issue rendering it, but the basics are already in place
Agreed. Which is why I'm seeking command for command swap with a 2D-in-3D Lib. I like BLUI, and the editor makes the job of creating menus easier.

nSprite's command set is fairly close to Blitz 2D Image commands. Now all we need is the Shape Commands (rect, oval etc) - I didnt see those in there. If I had worked out the Pixel Perfect routines, I would have written one myself. How familar are you with nSprite?

I used to believe In-Game Menus were simple, but, I now realize they do use a lot complex controls such as comboboxes, list boxes, etc. Not to mention animation. So I was ultimately trying to merge both efforts into one to save us some time. Find a kick butt 3D GUI for free (highly doubted) or modify a not so hot Free one to do the job.

I was contempt with BLUI until I loaded it on my dedicated server to run a chat. The frame rate dropped so low that it would cause a network timeout if too many menus were open. Ran fine when the majority of windows were closed. The mouse inching across the screen when you go to select gadgets doesnt help either. Can you say frustrating:(

We do have options. They just have to be free. Finding a 3D GUI Solution is a priority and will provide the fastest results.


Uber Lieutenant(Posted 2005) [#59]
I'm very familiar with nSprite, and I own nSprite Pro - not that we're going to need a collision system, a lighting system, or any of that. It may be a bit daunting, but it may be possible to convert BLUI over to nSprite and Blitz3D, which would probably show a significant frame rate boost. As for the shape commands, those don't exist in the library, but it shouldn't be that hard to add it in (with nS_CreateSprite).

From the looks of it, there are a number of good GUI libraries available for free, but none of them are 3D-based. I think the only option we have at the moment is turning one of the free libraries into a sprite-based system for PW3D. Otherwise, it looks like you have a 7th community project up :D


Techlord(Posted 2005) [#60]
Not that we're going to need a collision system, a lighting system
True for Apps, not necessarily true for Games. Keeping those features in there will not hurt. If development goes as anticipated PW3D will be integrated into a game engine.

I think the only option we have at the moment is turning one of the free libraries into a sprite-based system for PW3D
This is the goal of taking a good sprite lib like nSprite and shaping it up to replace the 2D commands in BLUI. If we pursue this, It should be as simple as adding a "nS_" Prefix to the existing drawing commands in BLUI or another 2D GUI lib.

The additional benefits is that the lib can and should remain independent so others can use it in other 2D with 3D projects. It will solve several problems.

I have not looked deeply into nSprite. However, it appears to meet most of the desired features: Pixel Perfect Representation, Single Single Font, Blitz2D like command set.

Otherwise, it looks like you have a 7th community project up :D
I'm not up for another Community Project. If we can agree to use nSprite+BLUI that would be great. I'm more than willing to assist on this. I would like to get a real good feel for how the Pixel Perfect Resolution is accomplished.


Uber Lieutenant(Posted 2005) [#61]
Keep in mind, though, the lighting system and collision system are both only in nSprite Pro which is $15 for a one-user license.

As for nSpriteUI, I'll start working on that. Gosse will be happy if he finds out we're using his library.

EDIT
I ported BLUI over to nSprite almost completely, and it didn't make a fuss. I haven't tried PW3D with it yet, but the BLUI editor is almost 100%, if I can just get the mouse to show up.


Techlord(Posted 2005) [#62]
WOW! I cannot wait to get my hands on it!


Uber Lieutenant(Posted 2005) [#63]
I'm emailing it to you, Frank. Debugging is one hell of a weak spot for me, and it's got me stumped. So the 'WOW' is about to be invalidated. Notes:

1. BLUI Editor seems to work fine, except there's still no luck on the cursor showing up.

2. When I compile PW3D with the modified BLUI lib, it returns a "Parent does not exist" error (for CreateMesh() in nSprite) after the scripting engine tries to load the compiled main.gui.bsc file. Still no progress with that.

3. I added two commands to the nSprite code: nS_Color and nS_Rect. nS_Color changes the default alpha/r/g/b variables so it acts like the Color command in Blitz2D. That doesn't have any problems. nS_Rect, however, isn't working yet. It checks if a sprite has already been created with a previous call to nS_Rect, and if not, creates a blank sprite and fills it with the default color values and should act like the Rect command in B2D, but I've only spent about a half-hour with it so it doesn't work, period. Good luck with that.

4. I'll take note that the only changes I've made are in the BLUI directory and no scripts or source code related to PW3D was altered. Mainly what I did was do Find and Replace countless times to change all the B2D commands to their respective nSprite functions.


Techlord(Posted 2005) [#64]
1. Does nSprite control the display of the mouse. If so a mouse sprite may need to be created. I'm not certain if this is the approach you're using.

2. Have you added nSprite to Command Installer? This should not be necessary unless we want the script with nSprite commands (which is desired). However, BLUI should work as long as nSprite Lib is included. The nSprite Lib should be included before BLUI or any other lib that make calls to nSprite Lib.

3. You do have a better idea of how to handle nS_Rect. I had no idea of how to handle the drawing of the Rect to the Sprite and still maintain pixel perfect resolution. Drawing it once and when changes are made makes sense. Can you look into a little bit more. We should at least be able to create a Rect with nSprite with a simple demo. We might be able to get help from Gosse.

4. Excellent.


Uber Lieutenant(Posted 2005) [#65]
I will keep working on it and try your suggestions. Hopefully I can at least have BLUI working in PW3D at the least, nS_Rect if I'm lucky.

Oh btw, nSprite is just a sprite library, not a GUI lib or anything like that, so the sprite for the mouse has to be drawn manually (and drawn last so it's on top of everything) and I can't seem to get that working right. Hell, maybe BLUI isn't using any sprites at all and just using the Rect command at the moment, I dunno.


Techlord(Posted 2005) [#66]
Hell, maybe BLUI isn't using any sprites at all and just using the Rect command at the moment
Correct. It redraws them with each update at that. If it used images the graphic capabilities would be greater and it would probably be faster. This why nS_Rect is a must. Without it BLUI will not work at all:(

I fret writting a GUI, although I have written several. In fact I was working on a Single Surface Pixel Perfect GUI based Jim Bs Image Packer and Sprite Master Pro. The GUI is rather unique compared to many and uses Web Image Map Utilities to draw clickable hotspots from predrawn images. But the Image Packer Code is a tad bulkier than I desire.

If I could get my hands on a simple formula/method to work out Single Surface Pixel Perfect Resolution with Textures/Images with 3D Quads I wouldn't mind working on 3D GUI.


Uber Lieutenant(Posted 2005) [#67]
Been talking with GoSsE on his nSprite forum, and he's agreed to start work on an nS_Rect function during the coming week. If we're lucky, we'll get the full bitmap text module and we can completely replace all the graphics and text calls in BLUI. I've still been unsuccessful in my own attempt at nS_Rect, so meh.


Techlord(Posted 2005) [#68]
Sweeet!

I've been also looking for other options and gearing up to write one here.


wizzlefish(Posted 2005) [#69]
If you figure out how to use bitmap fonts, tell me - I never figured them out. :(


Uber Lieutenant(Posted 2005) [#70]
I'm looking to GoSsE to see if we can use the bitmap font functions from nSprite. No official word yet. He's also supposedly agreed to create a nS_Rect command, but I don't know what the deal is with that at the moment.


Damien Sturdy(Posted 2005) [#71]
Frank, just a note... If its useful, Feel free to use code from my editor. I am also fine to let you get the pile of junk that is the begining of my 3d UI.... Probably of good use if you want to learn things.


Techlord(Posted 2005) [#72]
Sounds good Uber Lieut.

Thnx Cygnus.


Uber Lieutenant(Posted 2005) [#73]
GoSsE did it! nS_Rect is born...

Const nS_MAXRECTS = 128
Dim nS_Rects(nS_MAXRECTS)
Global nS_NbRects = 0
Function nS_Rect(x, y, width, height, solid = True, buffer = -1)
nS_Rects(nS_NbRects) = nS_CreateImage(width, height)
nS_ImageColor nS_Rects(nS_NbRects), ColorRed(), ColorGreen(), ColorBlue()
SetBuffer nS_ImageBuffer(nS_Rects(nS_NbRects))
Rect 0, 0, width, height, solid
If buffer = -1 Then
SetBuffer BackBuffer()
Else
SetBuffer buffer
End If
nS_DrawImage nS_Rects(nS_NbRects), x, y
nS_NbRects = nS_NbRects + 1
End Function

Function nS_Cls(bClearScreen = True)
If bClearScreen Then
Cls
End If
nS_Z = 0
For sprite.nS_Sprite = Each nS_Sprite
HideEntity sprite\sprImage
Next
For i = 0 To nS_NbRects
FreeImage nS_Rects(nS_NbRects)
Next
nS_NbRects = 0
nS_DrawImage nS_sprBlank, 0, 0
nS_SpriteCount = 0
End Function


I'll see if it works in the converted BLUI lib.

EDIT
I've been working on getting BLUI running with nSprite and it's taking some time. It's almost working, but sadly I ended up switching to nSpritePro because I need the text commands. It runs slower than Splinter Cell Chaos Theory on a 486 if I let it use the 2D text commands.

SECOND EDIT
The conversion is still giving me a problem, so I emailed Chris Fuller about possibly lending a hand in taking the library 3D. I'll post again when I get a response.


Uber Lieutenant(Posted 2005) [#74]
I got a response back from Chris and here's what he said:

Hi Brody,

Being 2D isn't really what makes BlitzUI slow. BlitzUI is fairly old now and it uses a lot of techniques which are nowhere near as fast as they could be. I'm thinking about releasing a BlitzUI update which uses more up to date techniques which would give it a big speed increase. I have a lot of things on the go right now (not including work and university) so I don't know when I would find time to do this. Converting BlitzUI to a 3D GUI would be quite hard to do and it would be easier to write one from scratch, but since I've already done that in the form of F-UI 3D it's not likely to happen really.

I'll keep you informed about the progress of any updates etc regarding BlitzUI though.

Regards,
Chris


We're still stuck on getting a 3D GUI implemented, so I think the best move right now is to stay with the current BlitzUI interface and keep working on PW3D with that. The interface change can occur later since we already have a functional interface (even though it's 2D and causes a little slowdown).

I'm improving the interface layout a bit by changing what the Information window does and revamping how the user finds current mapping sessions, hosts a new session, and how the user sets his username and avatar (a 48x48 image, like AIM). The chatbox is a part of the Information window now and instead of HELP and DEBUG, there's now a LOG tab that will update every time an event occurs. I'll post a screenshot when I have the new layout set and I'll post up the source when I have it functioning.


Techlord(Posted 2005) [#75]
Uber,

I apologize for the tardy replies. I've been busy with some real world issues that have me completely stressed at the moment.

We can proceed with what we have. I really did desired to replace 2D command set with a 3D equivalent to make the switch transparent. Maybe we can address that at a later time.

Look forward to taking a gander at your changes.


Uber Lieutenant(Posted 2005) [#76]
I'm also working on an nSprite-based GUI library that uses GoSsE's nS_Rect command (gave up completely on the BLUI conversion). Right now I'm working on getting the basic window working and I have a taskbar and wallpaper system so the seperate tools in a given application are like programs in the start menu. Once I have something to show I'll start a worklog to show off what progress I'm making with BrodyGUI. :)

Already I have the code well-commented. Don't worry, it'll be easy to work with. There will be a transition from BLUI to this lib, though (if this GUI is used in PW3D).

EDIT
What this means is keep working on PW3D with the current GUI. I'm working on a 3D GUI lib that we can convert PW3D over to at a later time. This project is to make a level editor, not a fantastic GUI implimentation the entire community can benefit from.


Techlord(Posted 2005) [#77]
This project is to make a level editor, not a fantastic GUI implimentation the entire community can benefit from.
This is true. However, in thinking a ahead in using the PW3D for PPF, I can see the both projects benefiting from a somewhat decent 3D GUI. Before I started the project I searched high and low for a FREE - fast 3D GUI, but, none where available. In haste to get the project moving I selected WUI then switched to BlitzUI.

I was satisfied with BlitzUI until I tried to run it on my dedicated server. The network connections were timing out because the refresh rates were so bad. I proved this by minimizing all the unused menus. I realize that most 3D games are using 2D in 3D for performance and it seemed like a logical step to provide one for PW3D since it is a 3D editor and will most like have more polies on screen then a game.

So that is ultimately whats driving my desire to use 2D in 3D. PW3D has proven that good modular libraries can be easily integrated together. So your efforts on BrodyGUI will go beyond PW3D. I'll continue to work on the network side of things.

The network messaging scheme is really not that hard to do, but, I desire it to be very flexible. My goal is to use the messaging format in games as well. This will save more time in the long run.


Uber Lieutenant(Posted 2005) [#78]
I'm working on BrodyGUI as well as reorganizing the menus in the current PW3D build. At the moment, PW3D has menus set up for loads of features that will be put up in the future; this isn't the problem. The problem is how everything is organized. I'm mostly a mapper when it comes to 3D games and a static 2D artist for HUDs and 2D games. What I like about PW3D is that not only is it a new (and free) map editor, but it's also the only map editor I've seen that is trying to take the bold step to allowing multiple users to work on the same map at the same time (this is kind of touched upon in Garry's Mod for Half-Life 2) so it has potential to be a new favorite tool. I know BlitzBASIC/BlitzPlus/Blitz3D, so I have the means to contribute to the project to make PW3D a damn fine tool. Already it's shaping up nicely and I can't wait until we have enough functionality to produce full textured environments.

For PersistentWorld3D we need a GUI lib to make a Windows-like interface, since it is a map editor at heart. But Project PLASMA will need something different. A GUI lib and a sprite library to handle a Heads-Up Display are completely different. If you're going for a Half-Life2-style interface with a GUI lib for the main menu and sprites in-game, then it'll take a little extra work to have both in the same library. Honestly, in some respects I think it would make smore sense to use two different sprite-based interfaces, one for each application. Valve's VGUI is pretty robust, seeing as it has a sprite-based window system, a native window system that skins actual windows, and standard sprite-drawing system with bitmap fonts.

So unless you're thinking of bringing all the interface systems into one library, which will likely result in a versatile but difficult-to-use library, it's best we keep Project PLASMA seperate from PW3D and have PLASMA's mapping format simply be that of PW3D's format and otherwise unrelated.

I'm having some issues getting BrodyGUI to work at the moment, but I'm trying. Really I'm just aiming at making a window-based interface for use in PW3D in mind. PLASMA could probably be better off relying on nSprite through BlitzScript3D.


Techlord(Posted 2005) [#79]
Uber,

If there is any assistance I can offer on BrodyGUI, please advise.


Uber Lieutenant(Posted 2005) [#80]
GUI work is still slugging along, but nothing I can really show. I'm starting to think waiting on the editor to be functional before starting to work on PPF2k5 isn't going to be very productive.

For one thing, we don't know how we'll have the map format handled. Waiting for PW3D to come up with one (winging it) isn't going to do us much, really. I say PW3D and PLASMA should be developed alongside each other. As for PLASMA's map format, there doesn't have to be one. If you look at CShop, you make a level and save it as a .x or .b3d file, and as for game entities, you create entity types in a text file, place them in your map and export their positions/sizes into another text file, and when you load up the level in your game you read the text file and place objects in the level at runtime accordingly.

For levels all that's needed is the map mesh and a file that defines the locations of in-game entities (like enemies, weapons, items, etc). It'll make developing levels for PLASMA easy and extremely flexible. What do you say we get PLASMA back on the road?


Techlord(Posted 2005) [#81]
Uber,

I would like to remain focused on PW3D until we complete the first milestone stated in the worklogs.

Develop Simple Editor Network - In which upto 16 Users connect to a 'Project'. Users will be able to chat, create primitive geometry (cubes, cones, spheres, cylinders), take ownership of a primitive, orientate it. The result of these actions are updated and displayed in realtime between all connected users.


Once we achieve this mile stone. We can focus on a format for PPF.

PPF has had more than its fair share of attention. We are really closer to completing PW3D. Some real world issues have consumed a great deal of my free time. I will be taking a break next week to finalize the Network Messaging. I'll continue developing with the BLUI until we can replaced.


Uber Lieutenant(Posted 2005) [#82]
I haven't had much progress made with BrodyGUI (it's my newbie prowess). But what can be said is that over the past couple of days, there have been 2 great Blitz projects gone open-source that could potentially be of great help towards PW3D.

The first is the MirageX GUI lib, which run very fast with or without 3D gadgets. This deserves some attention.

The second is G.L.E.T. (formerly known as XWorld) which is a robust map editor that does everything PW3D will hopefully do minus the online features. Hell, I'd say it wouldn't be a bad idea to just adopt GLET and implement multi-user support and other features (like a terrain editor and custom entity system). And yes, lightmapping is already in there.

If we decide to take GLET and put in the features we want, I'd say we have most of the work done for us. But if you really want to stick to doing PW3D from scratch, that's up to you Frank. Really I think it's best to work towards finishing a project rather than try to shoot a pie in the sky with a catapult.


Techlord(Posted 2005) [#83]
Uber,

I'll take a gander at Mirage GUI Lib and GLET. PW3D networking and scripting are at the core to support plugins, etc. It can be real tough to integrate network in full working app, however, I'll take a hard look at GLET.

I've had some real world troubles hit me hard, so I've seen my home pc very little in the pass month or two. Hopefully, some time will free itself in the next few weeks.


Uber Lieutenant(Posted 2005) [#84]
If You have difficulty getting time to put into the project, I'll see how much I can do. It can certainly be noted, though, that working on modifying an application that has everything we want minus a few things is going to be easier than building from the ground up. GLET is PersistentWorld3D, except it lacks the online functionality.

I say if you decide you like GLET, then we've already passed the core functionality benchmark for PW3D and we have our editor. Putting the 'multi' into 'multi-user editor' should be relativily easy. PLASMA is clear for take-off.


Techlord(Posted 2005) [#85]
Uber,

Unfortunately, the downloadables for GLET have been removed:( If the source is modular, GLET should pose a problem to integrate BlitzPlay and BlitzScript3D. It also relies on XLNT-GUI which I believe is modular.

I'm about to get a break from the real world. I will definately be able to apply some time to PW3D.


ckob(Posted 2005) [#86]
the download is back up


Uber Lieutenant(Posted 2005) [#87]
And yes, it's very modular. Should we use GLET, it wouldn't make sense to integrate BlitzScript3D, but integrating BlitzPlay/GNet shouldn't be a problem at all. Either way, it just makes much more sense to add on to GLET (and yes, learn the GLET source code) than to do everything from scratch. I'm already looking into the source and figuring out how to network this baby, as well as working on a lobby window interface to integrate into the editor.

Give this serious consideration. Don't shove it aside when you find we'll have to learn the source code's organization and where everything is. This is exactly what we were working on building all along, just without the networking functions which were always going to be optional.


Techlord(Posted 2005) [#88]
Uber,

As soon as I can get the source to compile and execute, I can give it serious consideration. I have to admit that I'm not a fan of dll and decl files, which I suspect to be the cause of failure in the compilation.

The 2D and 3D issues are still a concern, because it different depending on the PC and Graphic Card. Features like transparent windows would be handy in world editing environment.

You are more than welcome to transfer your efforts to GLET as it is a open source project as well. I'm very interested in your progress with integrating BlitzPlay/GNet into GLET. You will have to address the Network Messaging and data sharing issues.

The scripting engine is a very important element for me within PW3D for Plugin Support. Once 'Core' entity control is in, all features could be scripted Plug-ins. BlitzScript3D is relatively easy to integrate and perhaps GLET could benefit from it as well.

I'm not certain how far you progressed with BrodyGUI, but, I'm very interested in seeing your work. I have written a Image-oriented Pixel Perfect Single Surface GUI System based on Jim B's Sprite Master. Full all intense purposes the system has the potential very powerful, but it would take work. I hate gui programming:(

Anyhow, as soon as I can compile GLET I'll give a go at adding BlitzScript3D.


John J.(Posted 2005) [#89]
If you're still looking for a good seamless texture generator algorithm, you can use the algorithms in my Texture Studio program. You can get the source code or compiled exe on the Texture Studio showcase thread here.

Also, you might consider using my BlitzXML library for loading and saving worlds, since XML is a very flexible and widely used format. You can get my BlitzXML library here.


Techlord(Posted 2005) [#90]
John J.

Long time - no see. Thanx a mil.


Uber Lieutenant(Posted 2005) [#91]
Has anything been going on here?

BrodyGUI hasn't progressed at all - actually, I lost it in a formatting and haven't really stepped up to rewrite it. I propose we keep working on it in BLUI. The slowdown isn't that bad, but the editor needs to be reorganized. I'll try to do a bit of reorganizing and email it to Frank when I'm done with that.


Techlord(Posted 2005) [#92]
Uber,

The BLUI slow down is a very large problem. The slow performance on one of my test machines is unacceptable. I was hoping a 3D replacement for the 2D command set would make an appearance, so a BLUI conversion would be painless. After carefully thinking about how BLUI operates, a complete rewrite will be required.

Just let it be known this project is not dead. In waiting for someone else to come up with a 3D GUI Solution, I've maintaining a busy schedule developing TournamentBlitz.com. The network messaging issue is nearly complete on paper.

I will most likely continue Network Messaging testing with the current build of PW3D using BLUI.


N(Posted 2005) [#93]
So has this gotten anywhere in the past ~6 months?


CodeD(Posted 2005) [#94]
Have you seen www.secondlife.com ?? They beat ya to the punch! Maybe, if you asked nicely they would pony up some source code. At any rate, you can buy lifetime for like 10 bucks I think, and if you've ever played SL they've got a great interface for realtime building objects and stuff. It's pretty crazy, actually.

@ NLP, why has your name changed?? Did you do that?


Techlord(Posted 2005) [#95]
Guys after waiting six months for a FREE 3D GUI to surface. I've decided to start crafting one on my own. I totally despise GUI programming, but, I really would like to see this project meet the first milestone.


Picklesworth(Posted 2005) [#96]
You can make a system that overloads the 2d drawing commands with 3d sprite manipulation stuff.
I'm considering doing such a thing for the heck of it.


Techlord(Posted 2005) [#97]
Mr. Picklesworth,

Developing a 3D command set to replace the 2D command set is the goal. However, there are a couple of performance challenges in working with Text and Plotting commands.

I will be designing as a independent GUI Library: MAUI. Perhaps we can discuss more ideas before digging into some code.


Picklesworth(Posted 2005) [#98]
Actually now that I think of it, you could use Kev's WinBlitz3d. I'm doing it for my program, and I think I just finished with the last bit of trouble it'll give me :)
It's a bit more tricky than most GUIs, mostly becuase Windows' API seems to try to make things hard, (this is obvious, if you look at the number of posts I've done in the win32 section), but the end result looks great and works perfectly. (Because, of course, Windows' GUI seems to either perfectly conform to or set the standards in GUIs, such as the Home key, holding Shift to highlight, and all that fun stuff). There's also no problem whether it's 2d or 3d, because the GUI is completely outside of your program. (Which also means that it's fast).

So, if you feel like doing your head in as opposed to developing an entire UI library, I suggest that :)


Techlord(Posted 2005) [#99]
After 6 months of thinking, I've finally decided to write a 3D GUI Lib suitable for Apps and Games. I want to go beyond the typical GUI. GUI in games tend be very animated. This is type of GUI I want in my games. So why not kill two giants with one stone and write one fully functional 3D GUI that can be used in PW3D and Project PLASMA FPS.

Its a lot of work, and to be quite honest I'm not all that excited about the math involved. But, hopefully I can get some assistance.


Techlord(Posted 2005) [#100]
I have officially started to work on the GUI that will replace BLUI. Its called MAUI - Mesh & Animation User Interface. It will be suitable for both Games like Project PLASMA FPS and Applications like PersistentWorld3D.

My vision for MAUI is to develop a full-featured, high-performance 3D GUI System with pixel perfect animated windows-style controls and true 3D GUI Scenes. The highlights of MAUI will be Animation, BlitzScript3D Support, and FREE use.

As Stevie G Quoted:
Blitz is crying out for something like this .... any programer knows that the menus and gui stuff is the bane of our lives!


This is not a "open source" project. However, individuals willing to give a hand can check out this post.


Happy Sammy(Posted 2005) [#101]
Hi ,Frank Taylor

PersistentWorld3D Demo v010305 link does not work. Where can I download this?

Thanks in advance.
sammy


Techlord(Posted 2005) [#102]
SAMMY,

All work on this Project has been put on hold, pending the integration of a new 3D GUI currently under the development.

You can download the previous work. This is subject to drastically change with improvements to the Scripting Engine and 3D GUI.


N(Posted 2005) [#103]
Sammy: What Frank means is that this project is dead and that it should be un-sticky'd.


nawi(Posted 2005) [#104]
Surprise!


Techlord(Posted 2005) [#105]
Noel,

LOL, I'm is not certain why you are so determined to kill this open source project. But as you can see, the project is very much alive. Perhaps you can contribute something useful like a fully functional 3D GUI?


N(Posted 2005) [#106]
I would but I no longer have a B3D license.


Baystep Productions(Posted 2005) [#107]
Broken link?
Maybe... on the demo.
I'd sure like to get ahold of this!


Techlord(Posted 2005) [#108]
PCD GUY

The demo has been pulled. You can download previous work here. Please keep in mind that this is work in progress and currently on hold pending new GUI. Please see the Worklog for more detail.


Baystep Productions(Posted 2005) [#109]
Looks great!


Techlord(Posted 2005) [#110]
A good article on level editing: http://www.gamasutra.com/features/20000323/rouse_pfv.htm


Damien Sturdy(Posted 2005) [#111]
If this isn't being worked on anymore, it should be unstickied.

Your last post would be better in a seperate thread where it would have had more chance of being read.

So, hows that game going Frank? :)


N(Posted 2005) [#112]
His last post was a link taken from another thread.

This project is clearly dead, regardless of whether or not Frank wants to still love its corpse.


Techlord(Posted 2005) [#113]
noel take a visit


N(Posted 2005) [#114]
You trying to support me, Frank?

Work on PW3D has been suspended until new 3D GUI is integrated. See MAUI Worklog for details. Frank Taylor 08/14/05


That doesn't say 'alive' to me. That says 'two month old corpse.' Frankly, none of your projects have been updated in the past two months.

These aren't community projects, nobody else is involved in them. It's just you seeking attention.

Why don't you give the be-all-end-all engines and programs a rest and stop being so naive in thinking that you're capable of designing these as community projects? Look where the other five projects went.

Really, Frank, I respect that you want to do something but you're just being a fool by starting a community project for every idea you have just because you're incapable of accomplishing anything on your own.

Get my point?


Leiden(Posted 2005) [#115]
Frank: Dont even bother trying to have an open minded discussion with Noel, let alone a discussion at that. Yes this thread should probably be unstickied, but its not like it's wasting that much space at all, and perhaps... one day someone new might come along with something additional to offer. I think its good that you are trying to make an effort Frank. Just dont let everyone get down on ya ;)

Noel: Authough it doesnt suprise me one tiny little bit, you have come up with alot of crap that's purely speculation. I dont know about whats going on in your head but you can't make a statement like "It's just you seeking attention" when plain as day you would be 'the pot calling the kettle black' on that one.

P.S. Smirnov says "eat my pi$$".


Techlord(Posted 2005) [#116]
noel,

Your right. Yes - I'm not capable of writting these programs on my own; Yes - I seek attention for these ideas. No shame, in my game:) Its up to the community to contribute, friend.


Uber Lieutenant(Posted 2005) [#117]
You do need to release stuff people can contribute to, though. I was driven to help in this project because I could see it was going somewhere. Unfortunately, it got killed off because it had to remain open-source and the interface libraries we desperately needed to keep the project alive were commercial, and thus weren't allowed to release the source for.

I think the FPS engine is a great idea. People in this community were contributing to it (moreso than any other project at least), it seemed to be going somewhere, but it was made in a way that it needed proprietary programs to make content for that didn't exsist, and thus you had to spawn new projects nobody wanted to help with.

I say scrap all your current projects and revive Project PLASMA FPS Engine. A lot of people could use a good FPS engine for Blitz3D, as long as they can use the map editors they and 3D modelers they want. We don't need a new full-featured map editor or a new script engine. Just a good FPS engine. What do you say?


DH(Posted 2005) [#118]
Don't you even open your mouth Frank ;-)

Make it a supprise attack, a quick and painfull attack!


Techlord(Posted 2005) [#119]
DH,

LOL

Uber,

An FPS is relatively easy to make with Blitz3D. But, I can guarantee you that the source will be noodles and it will not be optimized.

My goal with PPF was to go beyond dropping a mouselook camera in a level, I want to use optimized rendering techniques, advanced pathfinding and AI, fully articulated animated systems, etc. But, in the end I just complicated things. I really should have listened to jfk.

Although I learned much from the Project, I'm not fit to lead it. Perhaps you could start another FPS community project. I would change name entirely, too much turnish on PPF.


Uber Lieutenant(Posted 2005) [#120]
Well, I guess I could start a ground-work, but in some places you made some progress with PLASMA.


Chroma(Posted 2005) [#121]
I bet if we compiled a list of people who haven't finished what they've started some would be removing numerous feet from their mouth~.

I know I'd be on that list.


John J.(Posted 2005) [#122]
These aren't community projects, nobody else is involved in them.

Nobody? I happen to have contributed my polygon reduction algorithm to this project. Why don't you try and help a little instead of continually trying to discourage Frank?

What these "community projects" need is a better system of collaboration, where anyone can quite easily contribute and improve.

How about some sort of CodeWiki?


Techlord(Posted 2005) [#123]
John,

A CodeWiki would be nice. In fact, I've been searching for something along the lines for sometime.

This project is on hold until a decent 3D GUI solution can be found or developed. I ran into some serious network and rendering performance issues when mixing Blitz3D 2D with 3D.

My goal is to make PW3D not only a Level Builder but a Game Engine. A game engine has multiplayer, rendering optimizations, pathfinding, etc, which could all be taken advantage by a Smart Level Building tool. This will produce 100% WYSIWYG results and provide performance in both editing and game play.

Throwing a level Builder together with B3D is not a difficult task. But developing a 'Smart' Multi-user Level Building Application requires some planning. Just imagine how fast and creative a complex interactive level could be developed with multiple level builders being able to collaborate simultaneously!

I would love to see the day. So naysayers can pray this project dies. But, I'm working towards this goal everyday. It may take me 10 years or so alone, but, im going to achieve this goal.


N(Posted 2005) [#124]
http://www.edgewall.com/trac/


Red Ocktober(Posted 2006) [#125]
Just imagine how fast and creative a complex interactive level could be developed with multiple level builders being able to collaborate simultaneously!


yes... i agree... this would be a fantastic tool for indies...

--Mike


Picklesworth(Posted 2006) [#126]
A CodeWiki would be nice

CVS?

Regarding 3d GUI... I recommend using WinBlitz3d. (Sorr yif I already posted this a few months ago...) It's not only a fully proper GUI that does everything as it's supposed to (which I have never seen a custom GUI, no matter how expensive, completely achieve). Also, the GUI would be independant of the app, which means that while the visual portion is experiencing a delay from a big mesh manipulation thing, the user can still use the GUI. As well as that: it's free, it looks nice, it's fully customizeable, and it barely causes any slowdown because Windows's GUI system is much faster than the custom DX7 GUI system belonging to an application that it is running. (And since this is a 3d project, we need all the speed we can get!)

Contrary to popular belief, it's really not very hard to do. In fact, since the project is a community thing, I would gladly fix up all of the GUI problems.


A 3d editor in progress that uses WinBlitz3d:
http://www.blitzbasic.com/logs/userlog.php?user=7206&log=255

The moment that I replaced my previous GUI with WinBlitz3d, the program experienced a speed increase of at least 400%
Startup time was also shortened noticeably, and still is much shorter even with the addition of an absolutely ridiculous script parser.


There are, of course, a few bits and pieces that would need to be fixed up. For instance, the movement pegs that I previously posted would need to be dumped somewhere in the actual 3d scene or redone


N(Posted 2006) [#127]
2 months since the last post by Frank and 4 months since the last worklog entry on the project. It's deader than my social life.


Ross C(Posted 2006) [#128]
Surely not that dead?


Amon(Posted 2006) [#129]
Can somebody give me a reasonable answer as to why this thread is still a sticky?


Ross C(Posted 2006) [#130]
Super glue my friend :o)


Techlord(Posted 2006) [#131]
Can somebody give me a reasonable answer as to why this thread is still a sticky?
Because the concept is too cool to let die! Get to work guys:)


Chroma(Posted 2006) [#132]
Can we unsticky this thread? All those in favor say 'aye'.

AYE!


xlsior(Posted 2006) [#133]
AYE.


H&K(Posted 2006) [#134]
If you only do an active topics search, it only appears when ppl post new things on it.


Happy Sammy(Posted 2006) [#135]
It seems that all open-source project easily die one by one
because of lost interest and some personal preference...

plasma2004 - coding style
PersistentWorld3D - 3d gui

???


Techlord(Posted 2006) [#136]
It seems that all open-source project easily die one by one because of lost interest and some personal preference...


What I found to be the most difficult in working with Open-source projects is the lack of coding standard and documentating code.

With these aspects never agreed upon at the start of the project it is very difficult to maintain the project for long term. This was one of many reason why i wrote Applied Object-Based Programming with Blitz3D.

Other organizational problems like agreement on who is going to do what and the lack of progress timeline also hurt.

Although, it can be dispointing to see a good Open Source Projects go dormant, but, there is some good that comes from them: good experience, code, and media.

I know that with each failed project, I move closer to completing one eventually. Although this project is dormant, the concept is very much alive.


Amon(Posted 2006) [#137]
This thread needs to be removed. It's dead, the images don't work anymore and... it's dead.

The mods should finally call it a day with this Project.


LarsG(Posted 2006) [#138]
yeah.. remove the sticky and let it wither away..

(after the community has abused it a little first though...)


Tri|Ga|De(Posted 2007) [#139]
Yes stop those comunity projects, they never seem to get finished. People lose interest.