FINISHED(Python learning project) Project Sedimentary

Let me start. I have successfully failed at two (if not more) game projects. I know exactly why. It’s because I lacked skill and my ideas were too big.

So I decided to start ANOTHER game project. You may be already saying to yourself, “This is going to be a failure, like the other projects.” Well, I have a good idea this time. Not an idea as in a story for a game or big game idea. Just an idea that will help me learn more. You see, I know that the blender foundation uses the names of fruits for their projects’ code name’s. So I decided to name my projects after rocks. The first two, Granite and Quartz, failed. But then I was thinking, and I thought about the 3 categories of rocks: Igneous, Sedimentary, and Metamorphic. I decided I could use these for the names of projects, but how?

Well, I knew I was a newbie in need of learning so I decided to do this.

Igneous (1st)- This game will have little or no story to it (unlike granite and quartz). This game will be a side scroller. All models will be made by me. This game will hopefully be completed. I will use logic bricks in this and as little python as possible (as I do not know python :P). This game will partly be a learning project. It might be short.

Sedimentary (2nd)- This game will also have little or no story. It will be a learning project for python. It will be a strategy game with few or no complex models/textures. All scripts will hopefully be written by me. This game will be made of mostly python. It will PROBABLY not be sold.

Metamorphic (3rd)- This game will have highly detailed graphics. Complex meshes and textures. Will have a lot of story. Might have a team. Probably will be sold.


Okay, now onto the topic of this thread. Project Igneous. Like I said above, it will have little or no story. It is about a cannon being held up by three balloons. You have to get past stuff and solve puzzles. I will have screenshots up soon.

Something about a rock…haha good ideas!

I would join Metamorphic.

hahahaha, why is there such a huge jump between sedimentary and metamorphic, it’s like:

Just finished learning python, not worth selling
to
Full game with BGE, detailed graphics, huge story, will be sold

That doesn’t really make sense to me :stuck_out_tongue:

Good luck dude, I think you’re goals for the future are a little too high, but you will realize that soon enough :slight_smile: See ya!

Okay, maybe Project Metamorphic won’t be EXTREMELY good. But it will be good enough. And I already have a lot of experience in BGE.

What do you mean by a lot of experience. A game worth selling usually has python, I mean, it’d be really hard and tedious to make a game without python that’s worth selling.

ColorCube would be a great example of a game worth selling using only logic bricks. The artist who made it probably would have preferred to use python, but because of the game competition limitations, he didn’t. Also this game was incredibly simple, gameplay wise, but the logic was intense. This artist was incredibly smart for making a game like this without python. The game didn’t have story, the graphics were considerably simple, it focused on gameplay.

Honestly, I don’t think you can pull something like that off after making one game with python. You say you have a lot of experience with BGE but you don’t know python? How is that possible? You should work on many projects before you consider making a game worth selling. It’s about a learning experience that can help you out later in life, not about making money ASAP.

hahahaha, why is there such a huge jump between sedimentary and metamorphic, it’s like:

Just finished learning python, not worth selling
to
Full game with BGE, detailed graphics, huge story, will be sold

Agreed. Don’t worry about the other two. Make one simple game for now.

@3dmedieval- Project Igneous will be free and simple. I won’t do the other 2 until I am COMPLETELY finished with this.

@Linkxgl- I am pretty good with logic bricks, and I try to learn python but it’s hard for me. I am pretty good with all the various things in BGE (except python.) “Lots of experience” may not have been the correct thing to say. What I meant was that I am not a newbie in BGE, but I am not professional either.

And if I feel like I am still not ready to make a complex game after I finish this one and the next one, I will probably start other, simpler game projects.

Always a good idea to start very small scale, then you’ll quickly learn the amount of effort it takes to arrive at a polished finished game. The joy of working with the Blender game engine is 90% of your development time will be taken up fixing bugs and finding workarounds for engine limitations (speaking from experience here). This is where most people get fed up and give in.

The engine has come a long way since I started working with it though. You can almost run the entire engine through python scripts now without needing any actuators. My advice would be to do as much as possible in Python as it then makes it very easy to reuse your old code. The ability to use external modules means you can have all your coding outside the engine where it can be worked on separately.

As you finish small projects you’ll find you then have the knowledge to build on for larger projects and can port a lot of your older coding over to build on. Once you have a library of different code snippets for various functions you’ll be able to build up larger scale projects in much less time, rather than starting from scratch with logic bricks again.

Oh I see, I understand what you’re talking about now. It’s not the games in order that will be made, they are just like “levels”. Once you gain enough experience you will move on to the next bigger project, which is the next rock stage I guess…

Well, I wish you good luck. :slight_smile:

Agreed, which is why Project 52 (the game I’m working on) is purely python scripting. In fact - up to date, the game does not even have one logic brick actuator, and most of the sensors are python script as well, using the events module!

game.blend (523 KB)

Sorry I haven’t responded in awhile. I have been really busy so I didn’t have a lot of time on the computer. I made a (really simple) game. The object of the game is to stay on the green block for 30 seconds. Move with right and left arrows. Jump with spacebar. Restart with “R”. There’s a trick to winning, let’s see if it can be found :). Just push “P” to play whenever you open it.

And since this game wasn’t quite as big as I had suspected, This will also be the thread for Project Sedimentary.

Nice. Congratulations on your complete game. I have not figured out the secret, but I think it might have something to do with flying back and forth. Fun!

Thanks, 3dmedieval. I’m glad you like it. :slight_smile: But, now that I think about, out of all the game projects I have tried doing since I got blender (almost a year ago) , I have NEVER completely finished a game. Well, I might start on the next project soon.

I will now be starting on project sedimentary. This will be mostly python (except for a few sensors/controllers/actuators here and there…maybe.) What I will be needing are links to python tutorials for complete beginners.

I BEAT THE GAME! I R GUY DAT B33T G@M3!

Nice game, pretty interesting… I thought it was going to was to be the canon with 3 balloons. :stuck_out_tongue: That would have been a lot more interesting, just saying.

This game was pretty fun also, don’t get me wrong :wink: Good job, I am happy for you and I’m glad you were able to finish this project, you should be proud of yourself. I haven’t really seen many beginners on the forum finish a game, so when I see one I’m very surprised and happy. Good work :slight_smile:

Thank you, Linkxgl. I’m glad you like it. The cannon with 3 balloons was my original idea, but it had a ton of bugs way too big for me to squash. I might work on that game later in life.

I have a (few-ish) questions about python… here is a mouselook script I found (can’t remember where so you might not want to use it.)

import bge

1Why do I have to use that?

cont = bge.logic.getCurrentController()

2What does cont mean?3 What does it mean by “CurrentController”?4 I think that logic means it starts using logic in the bge, right?

obj = cont.owner

5What does owner mean? 6Why do I have to put obj there?

mouse = cont.sensors[“Mouse”]

I think I know what mouse means…

leftRight = cont.actuators[“Motion”]
upDown = cont.actuators[“Motion1”]

7Why does it say “leftRight”/upDown"? 8Why does the second word start with a capital letter but the first doesn’t?

width = bge.render.getWindowWidth()
height = bge.render.getWindowHeight()

9Why do I have to put “render”?

pos = mouse.position
xPos = int(width/2) - pos[0]
yPos = int(height/2) - pos[1]

10I’m guessing pos means position? 11Why is the width/height being divided by 2?12 And what do the numbers in brackets at the end mean?13 Why is a “-” being used instead of an “=”

leftRight.dRot = [0.0, 0.0, xPos*0.0005]
leftRight.useLocalDRot = False

14DRot means rotation? 15Why is one named dRot and the other DRot? 16Why is it false?

upDown.dRot = [yPos*0.0005, 0.0, 0.0]
upDown.useLocalDRot = True

17If that says that the yPos is being multiplied by 0.0005, then what do the 0.0 and 0.0 mean?18 Why is this True?

cont.activate(leftRight)
cont.activate(upDown)

I think I know what that means…

if not mouse.positive:
xPos = 0
yPos = 0

19Does this mean that if the mouse isn’t moving then the camera stops?

if pos != [int(width/2), int(height/2)]:
bge.render.setMousePosition(int(width/2), int(height/2))
else:
cont.deactivate(leftRight)
cont.deactivate(upDown)

20This last part is gibberish to me…21 What does ! mean?

Before you say anything, I am SORRY for the wall of text AND the massive amount of questions. PLEASE do not post a link. If you guys answer these questions it would solve A LOT of my problems. I don’t know why, but I don’t feel like I am getting anywhere by just trying to find tutorials. I think this would help me a lot in python.

Also, the more you guys answer these questions for me, the sooner I can develop more complex games. :slight_smile: And you guys would also make me very happy. :slight_smile: :slight_smile: :slight_smile:

I like how you’ve separated your learning the BGE steps. I think you will learn a lot that way.
Check out this link. A lot of it is explained there.

Looks like you got a lot to learn about programming. 0.o

The answers to your questions won’t make sense if you don’t know what you’re asking about.

I noticed you didn’t know what variables were. Variables are actually very, very basic in programming, if you don’t know what those are you need to be reading or watching guides.

I’m sorry to say, but you seem very clueless to what you are looking at, and us answering those question won’t do you very good.

If you want I got many python tutorials in my signature, and I explain everything. When looking at this again after you look through them, you’ll understand more of the script.