Hi! Welcome to the forum for Platinum Arts Sandbox Free 3D Game Maker. I currently have the forums locked as I am attempting to properly update them.

In the meantime please join the new Discord Server!

If you have any questions please e-mail me through the Platinum Arts website.

Program-In-Planning - your thoughts please!

Have any cool screenshots and/or projects to show off? Post your content here!
(If you need somewhere to post your images, why not use our gallery?)
Locked
User avatar
DreamBliss
Member
Member
Posts: 56
Joined: November 28th, 2012, 5:06 pm
Name: DreamBliss
Location: Lost on the Way...
Contact:

Program-In-Planning - your thoughts please!

Post by DreamBliss »

This may not be the best place to post this. So feel free to move it as needed.

NOTE: This is information for a program-in-planning. That means it is in the planning stages. That I will write pseudo-code, then real code. I can only say it will manifest. I can not give any kind of a time frame. I am learning C#, again, and once I have refreshed my memory sufficiently and gone through enough material to be comfortable I can start to code this thing, after of course the pseudo-code is written. This plan is step 1, step 2 is the pseudo-code, step 3 is coding the program itself. This program will only be initially available for Windows. but the code will be made available to anyone who wants to get it to run on another OS. This program will also most likely be written in C# and WPF.

I am at a strange place in my life. I have created a reality for myself I am currently manifesting and coding is a part of that but not central to it. In other words I am a computer artist first and foremost, and a computer programmer secondarily. This does not mean I am better at computer art than programming. It means that my preferred medium for expressing myself creatively is in computer art while my programming knowledge allows me to create the tools I want or need for my art. I have an idea for a GCS I want to make and it is a long-standing dream. I learn best by doing, so creating simple (hopefully) programs of some value and interest to me are the fist steps to manifesting this GCS.

So hopefully you understand a little more about what is going on here. Please read the following and post your thoughts/feedback/suggestions. Keep it constructive! Tell me what you want, why you want it, and why I should include this. Or what you don't want, why you don't want it, and why I shouldn't include it. Make a case for any thought, suggestion or advice you give. I am creating a blueprint here, planning stuff, so this is the best time to work things out. Once code is written in any form things become much harder.

Code: Select all

Program Purpose
To allow the user to install custom content or prepare their own content for installation. Key features are the automatic creation of the .cfg file needed for any package or combination of packages and the automatic creation of an autoexec.cfg file with all information needed to automatically load any custom content.

Program Features
1. Load an archive file of .7z, .zip or .rar.

2. Save to an archive file by calling user's installed archiver.

3. Instantly load .ogz, .obj, .mtl, .jpg, .png, and .cfg from archives. Also allow Browse/Load of these files.

4. Link all related files together (the proper .mtl file is linked to its .obj, for example.)

5. Paths configuration for Cube 2 engine based games (Sandbox, Cube 2. Red Eclipse.)

6. Paths configuration for user's archiver. Possible configuration to user's modeler and image editor as well.

7. Required name for folder (can be user's name) where files will be installed to or loaded from.

8. Map files (.ogz) to this directory in Packages/Base/

9. Model files (.obj, .jpg, .png) to this directory in Packages/Models/

10. Create or Open an autoexec.cfg file off the base of the game directory.

11. Paths written in autoexec.cfg for automatically loading.

12. Automatically create needed .cfg file(s) for all texture, model or map packages or any combination of these. Use customizable default settings.

13. Tabbed interface, one tab for autoexec.cfg editing, one for packages creation/load, one for options/configuration, one for modeling extension.

14. Possible modeling extension
	1. Allows the user to export any imported .obj with its material to .3ds so it will import fully textured.
	2. Displays a measurement or model showing player height.
	3. Allows the user to perform a unified scale of their model based on player height.
	4. The ability to “bake” textures/materials to a mesh.
Looking forward to seeing what you have to say -
- DreamBliss
State what you want for your reality,
But let the universe fill in the details.


My Forums
http://spiritualexplorers.zymichost.com/index.php
User avatar
kddekadenz
Member
Member
Posts: 423
Joined: July 17th, 2011, 11:02 am
Name: kdd
Contact:

Re: Program-In-Planning - your thoughts please!

Post by kddekadenz »

DreamBliss wrote:This program will also most likely be written in C# and WPF.
I think the code of PAS is written in C++.
DreamBliss wrote:I am at a strange place in my life. I have created a reality for myself I am currently manifesting and coding is a part of that but not central to it. In other words I am a computer artist first and foremost, and a computer programmer secondarily.
I would not say that I create a reality, but worlds. In fact I like to create stuff, so I'm interested in both things, too.
DreamBliss wrote:1. Load an archive file of .7z, .zip or .rar.
Why? The program would need to decompress it and load it into the working memory. This would be bad performance-wise.
DreamBliss wrote:4. Link all related files together (the proper .mtl file is linked to its .obj, for example.)
PAS does not need the .mtl, I think. Simply create the UV-Map and export the model as .obj. Then create a new folder in packages/models and add there the .obj and a file (which can be empty) named obj.cfg. You can convert models with Noesis to .md3 which is in terms of filesize and compitabilty better.
For more information, take a look at the Sauerbraten models document: http://sauerbraten.org/docs/models.html
DreamBliss wrote:5. Paths configuration for Cube 2 engine based games (Sandbox, Cube 2. Red Eclipse.)
I'm not sure how that's handled in the Windows version, but for Linux I can set the path in the sandbox_unix.sh.

Code: Select all

SANDBOX_HOME="${HOME}/.platinumarts"
DreamBliss wrote:12. Automatically create needed .cfg file(s) for all texture, model or map packages or any combination of these. Use customizable default settings.
Sandbox automatically creates a mapname-art.cfg in the directory of the map. This includes all the paths to the game art (sounds, textures, models).
I would suggest to create a ingame UI for importing models. You wouldn't even need to change the C++ source code ;)
http://sauerbraten.org/docs/editref.html#mapmodel
DreamBliss wrote:14. Possible modeling extension
1. Allows the user to export any imported .obj with its material to .3ds so it will import fully textured.
2. Displays a measurement or model showing player height.
3. Allows the user to perform a unified scale of their model based on player height.
4. The ability to “bake” textures/materials to a mesh.
1. Like I wrote the Quake model format (.md3 for static stuff, .md5 for animated stuff) are better.
2. What do you mean?
3. Good idea, but I don't know how to approach this exactly. You would need to get the height value of the bounding box of the current player model.
4. This should be handled by third party programs.


To sum up: I would suggest not to use a third party software, but script this inside PAS, so it can be merged with the main branch. Most things are in fact already included, but not acessable with the current user interfaces.
Kelgar is an advanced RPG beeing developed in Sandbox
chocolatepie33
Support Team
Support Team
Posts: 2458
Joined: April 27th, 2010, 5:31 pm
IRC Username: CP

Re: Program-In-Planning - your thoughts please!

Post by chocolatepie33 »

kddekadenz wrote:I think the code of PAS is written in C++.
Yes, but from what I can tell, this is a separate program similar to those auto-scripters built by Leo and Venima from years past. AFAIK language shouldn't really matter here.
kddekadenz wrote:
DreamBliss wrote: 1. Load an archive file of .7z, .zip or .rar.
Why? The program would need to decompress it and load it into the working memory. This would be bad performance-wise.
Among other things, you're trying to make your own version of 7zip or other programs, just with the added feature of auto-detecting a version of Sandbox and extracting. Considering how slow a windows search usually goes, this is, as kdd said, a bad choice.

In general it looks like you're trying to write a program which acts as about 3 or 4 different programs plus attempting to take out a lot of the not-so-hard work in adding custom content to Sandbox.
Julius wrote:Contribute to http://www.opengameart.org NOW!
Save the wiki!
User avatar
DreamBliss
Member
Member
Posts: 56
Joined: November 28th, 2012, 5:06 pm
Name: DreamBliss
Location: Lost on the Way...
Contact:

Re: Program-In-Planning - your thoughts please!

Post by DreamBliss »

Well thank you both for your thoughts. I think you may be right about my ideas for the program so I will give this some more thought. I suppose I could code a script instead, but it would depend on the language I have to use and how easy it is to pick up.

I disagree with the previous poster completely and utterly in regards to their last paragraph. It is not easy to add custom content to Sandbox. Too many .cfg files, too many configurations, too little information on the subject. Easy is a Browse or Load button within the editor.
- DreamBliss
State what you want for your reality,
But let the universe fill in the details.


My Forums
http://spiritualexplorers.zymichost.com/index.php
chocolatepie33
Support Team
Support Team
Posts: 2458
Joined: April 27th, 2010, 5:31 pm
IRC Username: CP

Re: Program-In-Planning - your thoughts please!

Post by chocolatepie33 »

DreamBliss wrote:I suppose I could code a script instead, but it would depend on the language I have to use and how easy it is to pick up.
If you mean a script for Sandbox, then you'd be doing it either in Cubescript (Sandbox's built-in scripting language, which is used to modify menus and such), or in C++ (source code language, used for actual engine changes).
DreamBliss wrote:It is not easy to add custom content to Sandbox. Too many .cfg files, too many configurations, too little information on the subject. Easy is a Browse or Load button within the editor.
True, but you have to think about future changes to Sandbox. Your program now (should it be made and working) may be able to do stuff based on current policy within Sandbox, but what if something in the future changes to Sandbox, e.g. we have a directory overhaul, or something minor, like changing the choice of paths - something which would render your program obsolete? Yes, you would change and update the program, but that would take enough time to cause minor annoyance. That's if you're still around to fix it, as well.

Information on how to add custom content isn't that hard to find if you know where to look. There's plenty of it. The Sauerbraten model configuration page is one for models, along with the Suicizer (of Quadropolis admin fame) "mapmodel prefab". For textures, there's rather basic info on the wiki (which I shall add to, hopefully) and for more advanced users there's the texture prefab, also by Suicizer. Both provide simple information that is clear and easy to understand on adding content.

As for writing configuration files, that's just a lot of typing. Sure, annoying typing, but yes, typing and simple coding.
If you want to create a script or program to simplify all this, sure, go ahead. Make something like this. Just add shader support and voila, something good.

A model scripter would in essence be a checklist of what values (e.g. mdlcollide and such) you want active on your model. However, you'd likely end up being forced to leave mdlscale alone for experimentation. Actually, the idea of a model scripter intrigues me; if you could get it to integrate with other programs (e.g. Blender or Wings3D) that would be great, though that's blowing everything out of proportion. Here's a general plan -

Code: Select all

1. Determine model format and go to corresponding menu.
2. From there, add in required stuff, e.g. model loading commands
3. Add additional though useful options, like mdlcollide (with explanations, mind you)
4. Just a thought; realtime preview?
5. Export code into a text editor so any cleaning up can be accomplished.
Seriously, a browse/load button would be useful for loading and executing configuration files, but you wouldn't be able to just find a model or texture and just load it up. Adding custom content is easy as long as you know how to look for information and aren't afraid of doing work.
Julius wrote:Contribute to http://www.opengameart.org NOW!
Save the wiki!
User avatar
DreamBliss
Member
Member
Posts: 56
Joined: November 28th, 2012, 5:06 pm
Name: DreamBliss
Location: Lost on the Way...
Contact:

Re: Program-In-Planning - your thoughts please!

Post by DreamBliss »

Hey thanks for your thoughts. Saving the thread for future reference. We'll see what happens. As for this...

"Adding custom content is easy as long as you know how to look for information and aren't afraid of doing work."

You do realize, don't you, that mapping is supposed to be fun :P Seriously most mappers aren't working for a game company. Mapping is not a job, or a chore, it's a hobby. Most mappers would prefer to be spending their time building maps.

But I get what you are saying too. There has to be some way to simplify things while keeping Sandbox flexible. Really sounds like a stand-alone, highly configurable, program is the way to go.
- DreamBliss
State what you want for your reality,
But let the universe fill in the details.


My Forums
http://spiritualexplorers.zymichost.com/index.php
chocolatepie33
Support Team
Support Team
Posts: 2458
Joined: April 27th, 2010, 5:31 pm
IRC Username: CP

Re: Program-In-Planning - your thoughts please!

Post by chocolatepie33 »

DreamBliss wrote:mapping is supposed to be fun
You're dragging this off-topic. While yes, using custom content is useful for a good map, if someone prefers to map a lot, then they'll do it with what they have. Look at the works of Arcones and Kid Matthew; they're both great mappers, and they use just what Sandbox provides them. They don't depend on custom content.

Also, if someone's devoted to their hobby, they'll keep on working at their projects until they're satisfied, give up, or move to a different engine, as former member DamienJ did.
Julius wrote:Contribute to http://www.opengameart.org NOW!
Save the wiki!
Locked