Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > CopperCube Open discussion
My development workflow

j9907
Registered User
Quote
2019-05-15 04:53:25

Back when I was working on my project I devised this workflow. It is efficient and is ideal for a large-scale project like mine was:

1. Split each level into sections. For instance, if you have a house with 5 rooms, have each part separate from each other as separate meshes (bathroom as one mesh, bedroom as another, etc..). This also speeds up the lightmapping process, assuming you are using CC's built-in lightmapper (I do). Then just import each section individually (make sure each mesh is lightmapped in it's own CCB file) and voila! Obviously make sure the scale and position values are the same...

2. Have each section in it's own folder node. This allows you to dynamically disable all of the scene nodes in each section when you aren't in those areas. It helps performance!

3. Each level should be in it's own CCB file! I've heard numerous stories about projects corrupting when you use a single CCB for everything. It's also quite messy and it's slow to load when you have everything in the same file...

4. This is a common practice for development: Have a central directory for all of the assets. Mine is located in a folder on the C drive and all of the stuff (sounds, models, level geometry) are all in their own directories. Don't have all of the files for your project spread across various folders (the songs in My Music, the assets in My Documents, etc..) since this makes it hard to reconstruct your environment if, God forbid, you have to format your drive! You would have to copy the files in all the same directories, whereas if you used a central folder in the beginning, you only have to copy the whole folder to the C drive root! :) Much better and easier... It's only logical to do this...

5. Optional: I use cloud storage for my project. I use the sync client so whenever I save a file, it mirrors the changes to my cloud drive. I can also step through older backups of each file if I want to...


That's all I want to say! I'm sure you will all agree this is a logical way to work with this engine. Well, I hope this helps guys..


srfstudio
Registered User
Quote
2019-05-15 15:09:03

These are great pointers, this should be pinned so that users can find it easily, cheers! I'm doing all things from your list as, I believe, most developers creating game projects ...except for number 4 :D Kudoz for being able to pull that one off, my files are centralized in a specific game folder but sub-folders: it's a hell on earth :)

Not having a visible path for static objects in CC editor really makes things stupidly hard. I do have something like Game > Models > StaticModels > SpecificModel but then it's: v1, v2, v3, NewV3, v4, v4Retopo, NewLowV4, v3Backup, v2NewBackup...

Thank all Deities for Total Commander & Sort By Date, without it I wouldn't even know what version of what I'm currently working on because I almost always go back to older versions. When I'm not happy with the results I go back to previous versions but some aspects of a new version are still good so I keep that newer files anyway so that I can remember what I did but than I forget what those aspects were because I worked on another thing so when I come back it's just chaotic version numbers with little notes... it's disgusting :)

I would also add:

6. Always create a single Master-Level with your character, dummy-objects & all fundamental mechanics: floors, stairs, enemy/enemies, doors, object-pickups, GUI functions, event-triggers, npc-talk-mechanics... everything you will have in your game so that you can just copy that and than add real environment & objects per level.

7. CopperCube specific: Always avoid using 'Execute JavaScript' except for unique objects or code that consists of 2 lines max. Use your custom Behaviors & Actions for everything you can no matter how small. I have 1 action for 30 different buttons for spell casting in my game, I had about 20 tweaks/fixes for spell casting, if I had to go through each button and change 'Execute JavaScript' in every one of them each time I would have hanged myself in a bathroom :)


j9907
Registered User
Quote
2019-05-16 09:23:33

haha, for recommendation 4 I have the following directories:

ccb - it stores the CCB files for the levels

levels - it stores the level geometry and textures (with sub-directories for each one obviously)

models - this has 2 sub-directories: "objects" and "characters".

Objects stores the interactable objects

Characters stores the game characters you can talk with and such...

movies - self-explanatory!

prefabs - prefabs of the objects / characters

sound is split up into the following sub-dirs:

dialog - Spoken dialog
sfx - Sound effects
zmusic - Music

I mostly use OGG files, but I am in the process of replacing everything with standard uncompressed WAV files! The dialog is mono (obviously) since stereo dialog is pointless in many cases...

And then in the root of the project folder I have a boatload of random stuff, such as Gimp project files...


I also have a second development directory from June of last year which stores all of my .Blend files for the characters or levels...


It's a very convoluted and complex setup admittedly, but it is 100% ideal for me.


Create reply:


Posted by: (you are not logged in)


Enter the missing letter in: "I?ternational" (you are not logged in)


Text:

 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


   






Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact