Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > CopperCube Open discussion
General advice please...

veganpete
Registered User
Quote
2021-03-19 11:49:32

My game is getting pretty complex now. I'm not using any code, just lots of behaviours and actions attached to various nodes.

I'm finding it more and more difficult to keep track of what's going on in my game - trying to remember which node is responsible for which particular behaviour or action.

It's very time consuming having to scroll through the tiny UI boxes (there are only 3 lines visible at any time) and I'm introducing new bugs to my game with every change I make because it's confusing, not being able to see more of the visual-code at the same time (you have to close one node's action/behaviour box before you can open another).

Do other people encounter this problem? Is there a simpler way of using the Scene Graph Editor - or is it not really meant to be used solely for making the entire game without scripting?

It's becoming impractical (almost impossible now) for me to continue with my game but I can't see a way around it - just thousands of tiny instruction boxes all over the place, it's brutal, lol.

I spend time neatening it all up (using node folders) and re-typed everything (to keep as many relative actions and behaviours in the same place as I could). I've managed to keep track of it all for a while but after making a few changes to a few nodes, here and there I'm just completely lost now.

I don't want to abandon my game, it's a years work and it seems like it could be quite good with a bit more effort. I spend hours on coppercube every day but recently I've had to restore my back-up files and can't seem to progress much further.

My last resort is to write out the entire thing on paper so I can see it at a glance - but obviously that's gonna be a lot of work and will not be too practical whenever I make changes to the game.

Kinda stuck and disheartened at the moment and just want some advice/encouragement please.

Thanks.


hadoken
Guest
Quote
2021-03-19 13:37:37

I am sorry to hear about your difficulties but I am very grateful that you are raising this point and sharing your experiences with us. I think the problem came up here on the forum recently with screenshots of an impressive amount of confusing action/behavior. Please don't give up, this is an issue that might affect everyone here at some point.

I think once you get familiar with the possibilities and mechanics of CopperCube, you can get surprising results very quickly. Great for small projects, but once the size of the project grows, as your story proves you'll surely need to seriously think about the structure of the project to keep track of it.

I like your approach of using folders and empty geometry objects as organizer nodes very much. Definitely a good step for up to medium-sized projects. For even more extensive works, you can't get around scripting in my opinion. Clicking together actions and behaviors makes it easy to get started with game creation in CopperCube and helps to eventually learn and understand the principles of programming. Finally you would have to transfer more and more game mechanics over into javascript code to better manage all several parts like controls, animations, player-stats, menus, opponents, level design, scene management, score system etc.

One important principle you could also keep in mind is a somewhat modular composition of your game, so that work that has already been done once could be reused later in the form of templates for new projects in order to save effort and not having to reinvent the wheel every time anew.

As you mentioned, for more extensive projects, you should definitely better prepare some detailed written plan of the project. This way you can also work on your project without sitting in front of the screen all the time and end up making faster progress by not having to experiment so much, but sticking more to working through the previous set steps.

Thank you for the problem description, because after now having learned a lot about CopperCube and its possibilities I am starting to think about creating more extensive projects myself that would go beyond simple demos. Without your thoughts I would also probably get just as deep into chaos. Now I am curious how I will manage to prevent this after following my own advice ...


veganpete
Registered User
Quote
2021-03-19 14:33:35

Thanks Hadoken! Some decent tips there for me to try - especially the modular approach.

hadoken wrote:
One important principle you could also keep in mind is a somewhat modular composition of your game, so that work that has already been done once could be reused later in the form of templates for new projects in order to save effort and not having to reinvent the wheel every time anew...


I'll definitely try to save out key aspects as individual files, so they can be merger back into future projects and/or worked on individually. I just realised that if I save something as a "coppercube prefab", it also exports/imports all the associated behaviours and actions with it! That will make things so much easier to work with (and to share with the community). Thanks a million!!

One other thing I forgot to mention (which makes it a lot easier for me to manage and edit) - I open 2 instances of the same game.ccb and dock them on the left and right sides of the screen.

I use the one on the right as a reference for making changes to the one on the left (so I don't have to keep going back and forth all the time). I just have to remember to save and close the correct instance so I don't accidentally lose the changes (which has happened a couple of times).

I also rename the freshly saved game.ccb every time I've made any major changes (I keep the previous versions as backups). That way, at any point, I can always go back to a previous version - the idea being that I'd never lose too much work in one go. If I branch off too far in the wrong direction, I can always go back and pick up from a better point, rather than struggling through.


marcw
Registered User
Quote
2021-03-19 15:23:39

Hello everybody,

Thank you to both of you for sharing your thoughts and feelings about CopperCube.

Here are the links relative to Veganpete's huge project :

https://www.ambiera.com/forum.ph...
https://www.ambiera.com/forum.ph...

My humble advice to Veganpete : Do take time to relax.

I read your detailed comments in your threads (your step by step progress in the development of your game and your replies to the testers feedbacks and suggestions).

You are an amazing one-man-band.

:-)


just_in_case
Moderator
Quote
2021-03-19 15:52:10

Yeah, it can be a headache to work with lots of actions and behaviors. It has been put as a feature request by many people before including me.
While writing this reply I got an idea for something which can help reduce the load a little bit will try to execute the Idea tomorrow and will get back to you. Goodnight!



vegan_pete
Guest
Quote
2021-03-19 18:02:47

wrote:

My humble advice to Veganpete : Do take time to relax.

I read your detailed comments in your threads (your step by step progress in the development of your game and your replies to the testers feedbacks and suggestions).

You are an amazing one-man-band.

:-)


Hey, thanks marcw for the kind comments and advice! I've leaned so much from coppercube and the forum, it's crazy. Definitely a great vibe from the community and feedback. I kinda like the fact that coppercube is a bit quirky sometimes because it's also logical and consistent.

wrote:

While writing this reply I got an idea for something which can help reduce the load a little bit will try to execute the Idea tomorrow and will get back to you. Goodnight!


Thanks just_in_case, sounds really interesting! Will look forward to seeing what it is. Good night.

Thanks for all the encouragement and feedback - really helpful.


just_in_case
Moderator
Quote
2021-03-20 10:07:23

@Veganpete I have posted the action in the Anouncement section here
https://www.ambiera.com/forum.ph...


DouweDabbe
Guest
Quote
2021-03-21 06:27:10

you can divide your scene nodes in the explorer with folders like this:

playscene-->

world - (landscape/sun/nature/buildings/skybox) or world - tile1..tile 36 and then for each tile (landscape/nature/buildings)
give everything in "world" a single rootnode for uniform scaling and placement.

GUI - status / navigation / actions / messages

views - Cameras

avatars

Controls - triggers / guidepoints or navigationmeshes
keep these out of the world for easy management and to read them in your script for pathfinding with pure unscaled unlayered coordinates also your LOD function goes in here.

if you have this structure as a list, then
you can on paper or file keep track where
what action and behavior is used.

Intro / Help / Inventory / Finale / Settings are all seperate scenes.

Cut up your development is seperate chunks such as a proper app wide GUI, inventory system, AI, Conversation system, the world and all its decorations, Camera views attached to players / avatars and vehicles
Do not develop in your main application file, do that somewhere in a separate "Testing" subfolder.

This is the system that i have come up with sofar
veganpete, i hope my solution has some roots in there for you...


blackwater
Registered User
Quote
2021-03-21 20:14:12

Some good advice already!
And it's surely needed. As said, many of us struggle with this issue, and i have also presented some ideas for Niko to make it easier.
But we have to try being smart with what there is, so sharing advice on this one is really beneficial for us all!

What i do:
I also try to organize as neat as possible with folders. Makes it easier to find things quickly. Folders can also carry behaviours affecting everything in it, which could save some effort.

I am no programmer at all. But I do understand some parts of code and how to use it. So, i use it when ever possible.
A lot of stuff is put on the rootnode "Scen1", much of it dealing with what have to happen before the start of the scene which can easily be put in javascript:
In the first image: all those definitions of variables.
In the second image, i define all the objects to be hidden from the start.

Side note: I have made the cameras in the scene transparant, because otherwise they block the whole view in the editor, which is really annoying.

🔎︎

🔎︎



veganpete
Registered User
Quote
2021-03-22 08:35:17

just_in_case Thanks a million - you're a star! That's definitely going to help me. I've been hoping for something like this. I'll take a look at it today. Thank you so much.

DouweDabbe Great advice for the structures list! I have been using folders with titles for the root nodes and functions but I'll definitely add more empty folders to attach specific actions and behaviours. Good idea with a subfolder for development and testing. I'll start to do that from now on and it will surely help me to avoid introducing bugs to the main application. Thank you.

blackwater Thanks for the advice! I'll definitely try to add more Javascript as I progress and attach it to the folder nodes to make it easier to access/edit them - and that variable definitions script of yours looks like a great starting point for me.

Lots of great advice here and encouragement. Thanks again everyone for taking the time to help with this. I really appreciate it and all of these suggestions will definitely help my coppercube workflow at lot.

Another thing I started doing recently - is to drag the properties boxes side-by-side at the start of each session, that way I can see more of the text on-screen at the same time and can click quicker between the two panels without having to scroll too much inside the boxes....

🔎︎



DouweDabbe
Guest
Quote
2021-03-25 12:29:09

Hmmmm, looks Good


gree
Registered User
Quote
2022-11-11 13:11:57

Thanks @Robo for showing this in his Saturn 7 Video:

Basically he names the elements with some variables.
Via js he splits the names and gets the value he sets within the name. 14:50 - https://www.youtube.com/watch?v=...

Thread:
https://www.ambiera.com/forum.ph...

The video is full of nice tricks - @Robo did an amazing job.


VP
Guest
Quote
2022-12-22 11:58:02

Thanks Gree - I don't use any scripts at all though - I only ever use the scene graph visual editor (drag and drop).


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