First game, An RPG

Mistakenly posted this in the artwork section, embarassing.

Hello, need a helping hand, (lotsof) on our game.
Me and my friends had all the dreams and free resources to make a game like Final Fantasy Dissidia or Type O,
but we realized know we are very new at this, and tying up many elements require alot of work.

Our goal this year would be to

  1. Release a free blender -based game
  2. The game is short and finished (at least bug free)

The game will be a JRPG dating sim of sorts, where we’ll be solving a few things.

  1. Writing a GDD and document our effort
  2. Design a basic game engine to collect and build upon as suggested by some other aspiring artist
  3. Basic interaction buttons
  4. Basic fixed camera interaction with layered painted images like old psx games (Resident Evil, parasite eve)
  5. A simple no physics engine, just walking and press button to talk, physics will be handled in animation or later iteration
  6. Some python scripting study and maybe compare it to other solutions, based on its efficiency, speed and clarity in usage
  7. Basic menu and statistics for characters.
  8. and many more we haven’t experienced/// :smiley:

As for characters and designs, it is something i will trust to my friend,
but i will definitely ask around here when it comes to the technical sides.

Graphics will be simple but again, we have no idea on how to calculate things to optimize performance vs quality.
I hope to get some response and help, and maybe get to know each other here. Thanks!

First issue encountered is basically a simple styled menu in blender…


But not using planes or logic bricks.
Friend actually designed a menu earlier on but it failed to upload… the menu is made in inkscape, ready with its own button down,hover and various basic behaviour native to the program.
I am thinking that the 2d vector object will save up alot of space if implemented cross platform than a cube/plane/surface in blender
with a material connected to various states already.

Or perhaps it is something i can do by python script separately and link it to the 3d ingame after i finished it and compile it into a single executables?

thoughts and critics are welcome.

Is there any script where i can call up things like
A. buttons
B. windows
C. Slider
d. Text Input box
e. Cursor/selector square
f. texts

…without calling up on polygonal objects linked with materials in 3d view?

I read “first game” and “rpg” in the same sentence…

Good luck!

If you need support maybe make a thread in the “Support and Discussion Forum” here in the game engine section (:

Unity would do it way better. With all of it’s GUI. I know I suck for saying this on BGE turf. But Unity5 has TONS of its old pro stuff now free, like pathfinding, post processing stuff, tons of shadows (point lights, baby!), global illumination, sweet baking, reflection and light probes, the builds (mac and pc are one build, web build, bunch of different mobile builds). . . and more that I can’t remember. Seriously, it’s hot.

in Unity you can make a button like this in C#:

void OnGui()
{
     if(GUI.Button(new rect(0,0,100,100),"Play Game"))
     {
          //do what the button wants
     }
}

It’s THAT easy
But good luck in BGE!

With BGUI, the same can be done very easily!

I am very grateful for the responses…
i hope me and my friends can get maximum support on this project. Direct or indirectly.

Sure! Will do, and i just checked your project Faith…I might just need to refer to your finished products for any possible solutions.
Not that they are the same, but i think it shares a few things i need :slight_smile:

Ah yes, with the recent Unity and UE being free or royalty only, everyone is moving away.
I’m still interested in that part how C language tend to do things simpler than Python and how it doesn’t collect garbage of sorts…Or is it just more complicated and invites the more hardcore programmers? :>

So, one question, Is this the code (GUI.Button) not definable/creatable in BGE?
I thought it is short in Unity because it’s already have a native built-in GUI so the you can call the function.

So, why not create a custom GUI widget base in the library BGE and save it and call it anytime we need a GUI?

Or perhaps it is possible to link with cross platform engine like CEGUI/PyCEGUI or Renpy to do the GUI calling anytime we need
to jump to the menu?

I am determined to release a short .exe game with Blender this year and learn most of it.
Until then we’ll see about Unity and Other engine.
If anything we aim to do something like Atlus persona franchise, minus the fighting and battle stats…
just casual character relationships and a branching storytelling engine…
Calling up normal things like menu, different scenes, 2D movie players and several endings.
Nothing to complex aye?

[ATTACH=CONFIG]368431[/ATTACH]

Then maybe we’ll built more on that. Perhaps make something like Gamebryo (Catherine’s engine) but with Python and for personal/fan use.


I seriously am very interested in why not Python and why it’s C++ (in lotsof engines)

Please enlighten me. :wink:

@@agoose77
Your confidence permeates me, PLEASE ENLIGHTEN ME! (on fire)

Meanwhile i found this…
apparently the gui.menu is similar functions with gui.window , or is that custom too?

gotta make some mockup first.

P.S. i know Unity were good and i was a graphic side of a recent gamedev with my friend, but we’re looking for
better, faster, and more efficient solutions for our ideas. Definitely with more feedback and accesibility.
I won’t be comparing engines but focus at the things we can solve at hand.

Agoose: With BGUI, the same can be done very easily!

I never got that far with python and BGE.

Or is it just more complicated and invites the more hardcore programmers?

Well, I find it to be more simple. Like python has to have indents and a literal new line for a new line of code, where I think all C languages (at least C and C#) you just put a ; to end a line of code. You could write the whole program on one line.

So, one question, Is this the code (GUI.Button) not definable/creatable in BGE?
I thought it is short in Unity because it’s already have a native built-in GUI so the you can call the function.

Well, I don’t think there is a “GUI.Button” in Blender. Yeah, they just made it so easy to get the GUI class thing stuff. I never had a REAL education in programming (except Matlab), so people correct me if I’m wrong.

Meanwhile i found this…
apparently the gui.menu is similar functions with gui.window , or is that custom too?

All of that video looks custom, the description says the gui stuff is in a project “may”. I don’t think that is actually in blender’s … api? er, is that the right way to say it? I think the creator of that video was doing just what you said: “So, why not create a custom GUI widget base in the library BGE and save it and call it anytime we need a GUI?”

Definitely with more feedback and accesibility.

You cannot beat the Blender community. Unity doesn’t really have much of one.

I seriously am very interested in why not Python and why it’s C++

Isn’t python clunky and slow? I thought Blender itself was written in python so the engine is too? Maybe I’m wrong. I definitely prefer C over python. But maybe blender just poisoned me against python (like how the code was a little long to get a keyboard event). :o

SO. Many. QUOTES.

but we’re looking for
better, faster, and more efficient solutions for our ideas.

I agree with the “faster” part about BGE, but “better” and “efficient” is something else. :slight_smile:
If you want to do something faster and with smoother workflow use BGE, otherwise re-think it.

Bump these quotes! :smiley:

Thank you, all your opinion is very detailed, much appreciated.

I see your point about C being more efficient, writing an entire program in a single line is nifty, i do worry about it’s readability of course.

And yes, Unity is quite recent. I wonder why Blender community is v.tight even though it’s mostly built on non-profit.
Ton is quite the community master.

As for clunky and slow, could you show me an example of this keyboard event?
I used python on Maya, so might i understand and the case could be useful for my learning…

And I’m still waiting for @agoose77 to iterate his answer.

Surely there is a way to pull out the BGUI template and make it to act as the GUI base.
I read abit on old games from PSX and until some of the latest release, a franchise could use the same standard library for years!
Plus a few bits authoring tools, and you could already make some custom looking games!
…Well that’s an engine for you.

My plan was as simple as pulling out the code that constitute the basic window-making in python, and use it
as a text box and various other things, i suppose. Something like CSS. Maybe make a custom authoring tools in the engine as a plugin that i can pull out anytime to make some serious sounding texbox and graphic images to move around.

[ATTACH=CONFIG]369284[/ATTACH]
Yeh, let’s not get carried too far.

Yeah, blender is the choice for rapid prototyping i see…
Perhaps prototype in blender/python and then repackage in C and other engine??
Just maybe.

I definitely need some short game that runs under a few hours, and sized around …say… 1 GB at most?

Just putting out the numbers so i can outline the solution.

Another question, is GDD that important for a three man project?
I happen to be in charge of it, just for the learning geekery, but i am not sure what should i serve because i spent my entire career working with short notes and never a full, 20 page or so (as predicted by a friend, if it is to be fully comprehensible and usable again in the future) design document.

GDD is important for the team members, to understand the game mechanics in deep and know what should be done and is expected.
That’s the whole point of this document. If you are making a game alone you need just a note reminders of what “cool things” you might put in the game. With a team is completely different.

I definitely need some short game that runs under a few hours, and sized around …say… 1 GB at most?

My game is with a few hours gameplay and is ~1GB. This is faaaar from a small game. How big is your world and how many quests you have is the easiest part of this kind of games. No matter the size of the world you should do LOD system, no matter the quest list you should do a quest system, no matter the number of enemies you should do a battle system…and so on. So the scale of the game does not make it big and hard to do, its the gameplay it self.

 w = bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.WKEY] 

That’s how I learned to get the w key in Blender.

Unity has much easier ways to get input. As you may know it has a launcher that allows the player to enter their own keybinds.
If the dev uses that input:

Input.GetButton("Jump")
Input.GetButtonDown("Jump")
Input.GetButtonUp("Jump")

But you can use a raw way which I never do:

Input.GetKey(KeyCode.Space)
Input.GetKeyDown(KeyCode.Space)
Input.GetKeyUp(KeyCode.Space)

You can even use Input.GetAxis for Joysticks or the movement directions. Like you can set the forward and backward movement to “Input.GetAxis(“Vertical”)”. This gives you a float number.

I love Unity. So easy. :eyebrowlift:

Oh, and the python indent thing. In C# you can split the line if it is too long. I don’t remember being able to do that in python.

When I get on my Unity computer, I will show you how I do player movement.

My plan was as simple as pulling out the code that constitute the basic window-making in python, and use it
as a text box and various other things, i suppose. Something like CSS. Maybe make a custom authoring tools in the engine as a plugin that i can pull out anytime to make some serious sounding texbox and graphic images to move around.

That would be really cool. I did get sick of using a plane with a “mouse over” and “lmb” sensor

Edit: Okay, I looked at an old game I did in Blender, and python wasn’t horrible. But I never did anything more than 200 lines of code then.

The Input.GetAxis returns a float, and you can input that float into a vector and move the player with that vector.

Like so:


Vector3 direction = new Vector3(Input.GetAxis("Horizontal"), gravity, Input.GetAxis("Vertical"));
player.Move(direction * Time.deltaTime * speed);

Unity’s Input.GetAxis can be used for a joystick, but what I just wrote in code above can use it on a keyboard too.
If you pressed ‘s’, the float would give you a negative number for the vertical axis. And pressing ‘w’ would give you a positive float.

I do have Unity, I meant that I am on my old 2004 computer, so I can’t look at Unity on this hunk of junk.

Currently i just found out a few things about HUD and GUI overlay as a scene in BGE.

This can be tricky. I never liked it. Are you still having to do the Hud with planes?

Note: The up axis is the Y-axis in Unity.

What GUI exactly is?Tell me pal how can I make moment Sonic Unleashed like item shop game scene
http://starmen.net/eb64/images/store.jpg in EarthBound 64(don’t worry dude i’ll make lisa 3d model including this shop in tazmily vilage-i think about importing conversation phrases from Sonic Unleashed voice actors involed like in Citizens of Earth).

Sorry for the late reply - I don’t check all the threads I reply on, so it helps to send a PM sometimes.

Well, I find it to be more simple. Like python has to have indents and a literal new line for a new line of code, where I think all C languages (at least C and C#) you just put a ; to end a line of code. You could write the whole program on one line.

You can in Python, if you’re interested. Using ; at the end of a line allows it to continue new statements on the same line.

I just used BGUI for a large commercial project, it made my life a lot easier. I can’t share anything visible unfortunately.

BGUI allows you define a GUI in code. It supports buttons, labels, frames, list boxes, images (and VideoTexture) and input fields. I added my own support for scrollbars, checkboxes and a bpy-like widget system (the latter is available as a pull request from the GitHub repo as a pull request.

See here for the code https://github.com/Moguri/bgui

You should decide already, just talking leads to nothing. Do it with BGE or not, its your call.

You can in Python, if you’re interested. Using ; at the end of a line allows it to continue new statements on the same line.

I didn’t stick with python long enough to know that :3

BGUI allows you define a GUI in code. …

Back to that, I guess my whole point is that Unity has it built in with tons of references online. Not that Blender can’t do it, just that the vanilla Blender doesn’t have it.

You should decide already, just talking leads to nothing. Do it with BGE or not, its your call.

I think they are choosing Blender.

Well, that argument applies in many areas. Unity doesn’t have native support for a first person shooter set on Mars, but it can be used to develop one. Implementing BGUI in your project involves creating one sensor, one controller logic brick and from there, customising your scripts. Unity is the same, it requires configuration to produce the UI you want!

shall i submit some concept art and one 3d model here?
Fassad EarthBound 64 design and hover car
http://i.imgur.com/PYKY99X.jpg

I really apologize if you don’t notice concrete concept art,but I’m working on animation called “Flint within Hover Car in Death Desert”.