Ok, I found someone after all, but I’ll keep this announcement up in case of setbacks
Bad news again! JeffreyTheBattlePig hasn’t done any fixes to game whole time and has now left the project. So I’m in need of co-programmer again!
And please! Be more entusiastic! This project’s been delaying long enough, and I don’t want to cancel it!
So if there are any co-programmers willing to help, please reply, PM or contact via [email protected]
Am I an outcast of some sort?
Just like the rest of us
More seriously, what did you expect?
A co-programmer with expertise of logic bricks, python and libloads.
Even better if I had multiple of them.
I believe in you.
Just keep learning.
You do? So you also learned to accept my usage of vanilla BGE instead of other engines and are willing to help me?
In that case, if you can’t help with my project yourself, do you know anybody else who could? Or could you at least spread the word to other programmers that use vanilla BGE and have expertise with logic bricks, Python and LibLoads?
i think your better of asking here:
maybe someone can volunteer for it.
Well, because of no one responding my announcement, I was considering of reverting the template to this state:
From here there are lot of things to do all over: TNT, !-boxes, death animations, skating, total value of boxes, climbing, bonus platforms, camera paths…
I still have the recent template in storage in case someone is willing to co-program for me after all. But if not, then at least offer me tutorials of how do I implement each element in BGE with Logic Bricks or Python. Though I highly doubt there is any
Either reply this journal or contact me via [email protected]
Not too much to ask!
“co-program for me”, in this case the term would better be “program for me” or “co-program with me”.
I really get a r/ChoosingBeggars feeling from your posts… But why not.
I mean, depending on what you want to do, then there is the documentation:
For this one you kinda need to know what you are after, it answers the questions like:
- What does this method return?
- What can I do with the returned value?
This one has a bit higher level tutorials, not just an API documentation
I would also recommend putting your head out of the ground and taking real steps to advance this project, I don’t know how dear it is to you, but you always sound bitter when you see that no one answers you.
Games are technical by nature. Even the art requires technical skill of some sort.
So regarding the software side (for the gameplay) I would advise you to learn how to develop projects outside of the BGE, and apply back onto your game when possible. This to maybe better understand the context in which your scripts are running, and what this allows you to do or not.
Don’t wait for someone to realize your project.
Any vanilla BGE ones?
Oh wow. No.
I think the problem is that you want a lot of things in your project. with a begginer’s game you need to start small, do something simple and go step by step towards something more complex.
I did a lot for the project, i wrote more than 10000 lines of code, i made loading and saving work and all the mechanics of the game and loading of levels. but eventually i got lost and it was giving me a headache.
you can’t expect a single programmer to do the entire code (down to every single detail) for a game that probably had 10 or 100 programmers, experts of their respective fields, and who worked on it for probably a year.
some features needed are provided by blender, like the graphical interface. others had to be coded from scratch, and i didn’t use bge, i wrote them in python.
you shoul’ve settled for a game not as accurate as the original, with some differences, even a game of your own, with different characters. in trying to emulate crash bandicoot down to the smallest detail, focusing on the small stuff before the big things, the code became more complex than it needed to be, and i understand that someone who’s not very experienced would easily get lost in it.
if you still want to continue the project and do the coding yourself. i recommend that you follow a very good python tutorial, which you can find here:
that’s one of the places where i learned python. the other place was the
python API, and the
python help file that comes with the win version or the online one for gnu/linux. i recommend that you have that open for reference and keep it in your pc.
lastly, you need a copy of the
bge python API for 2.79. i think it was deleted, you should try to find a copy somewhere else and save it to your pc, or use the upbge api, as it just has some differences.
there are also a lot of examples in blenderartists for 2.7.
and know this: you can’t make the game with logic bricks. there was a bug with bfbge that made it imposible to make crash crouch. i made it posible by writing my own set of physics calculations. you can’t save with logic bricks, you will run out of memory for levels without libLoad, and the game would run so slow with logic bricks that it will make it unplayable. it needed python.
Then we should’ve gathered more programmers for the project, so that you don’t have to do just everything, don’t you think.
Getting lost in your own code can become a bit less of an issue if you do the following…
- Structure your code, learn to define functions and learn about placing common functions in their own scripts.
- Learn the art of passing around variables and calling functions in objects from other objects
- Comment, comment, comment; If you start to feel lost, it can help to place a comment once you rediscover what a line does.
- Give your variables decent names, names like var, a, and b shouldn’t be anywhere in the code outside of a small
- Use the maximum feature set the API allows (so as to reduce the code written), BGE has mathutils and other libraries that can really come in handy.
- This might be controversial, but please move to UPBGE if you insist on sticking with the engine, your .blend files should largely translate cleanly and their builds should have the exact same feature set as it’s also based on 2.79. The BF has wiped out all vestiges of vanilla BGE because of its removal, so you get better docs. as well. The better code part with the reduced need to write workarounds.
the problem is the code started simple and then got more and more complex. there are functions, there are HUNDREDS of functions. it is hard to scroll up and down to find them in the file.
the way blender works is by running a single script every frame, it is nothing like normal python. i did a lot of things to optimize, i don’t remember if i got to define the dictionaries in a script and load them into the globalDict to load from the different files, that was to be done last for convenience. but some functions had to be done multiple times across different files for different uses of the same objects. a function made to spawn wumpas was to be different when done by a different object. it would been easier if i made an entire script and got done with it, but new things kept being added to the project and i had to rewrite multiple files everytime. that also happened when i wanted to implement a feature or fix a bug, i had to made changes to all the files line by line.
one example is when the bazooka was added, i had to code the bazooka wumpas breaking crates so a new file had to be created. then new crates got added, and the bonus level, which meant altering all the files all over again.
there are both objects calling functions from files and global variables. blender does not allow for objects calling other objects. when i added music volume i had to put the music on the main file, as it was imposible to access the music file in the object from the level to change volume. blender also does not allow for the calling of actuators in other objects, so every object had to had it’s own script or calling of function.
the problem is not so much knowing what the code does, as how it does it. a code changes a property, then i have to wait, then another file uses that property in an if loop, then changes another property, all of this causes crash to play the teleport animation and effects and show correctly. i could not think of a better way to do it as there were too many steps in the effect.
to fix a bug i followed the code through the files and had to think where it was failing and why.
that was never a problem. yes i’m bad with names, it may be a problem for other people trying to read the code, but the names were distinct enough to differentiate.
i don’t see how that helps. i used bge and python functions, i used random, but for a lot of things it was enough with the bge functions.
i made an issue in the upbge git page for libLoad being broken in 0.2.4. i’m still waiting and i think i’m going to abandon bge if upbge stops.
upbge has a lot of bugfixes and features, but i keep finding bugs that are annoying and would prevent a game from being made.
xray is broken in 0.2.2, libLoad is broken in 0.2.4. and the last thing was that i could not publish a game in 0.2.1 which does not have the bugs of those two versions.
upbge kept adding features nobody asked for like scenegraph rewrite, and breaking essential features.
more programmers would just make all the more confusing mess unless there was a very strong leader with a solid plan/layout
programmers usually focus on different parts of the code in different files. i was able to do a lot by being just the programmer and not worry about making models or animations, but the game was still complex enough to have completely different parts. the way effects work is different from breaking crates, game mechanics, level loading, game saving or hud. i had to do it all, which was not a problem at first, but having to move from one to another to fix different bugs or implement different features meant changing the way of thinking and writing code, eventually i got tired, i had to do other things so i stopped putting so much effort into it by abandoning the project.