Posts Tagged ‘BGE’
Because there are many doubts about BGE, Blender Game Engine, I decided to make a “review” about. Please understand that I just made one game with it, and made it without directly working with python, so it may be a lot better using it.
So, “Is it worth work with BGE?” to answer this question, first we have to understand how programming in Blender works. Blender has a system called Logic Bricks and their functionality is simple.
We have the sensors, that say what will trigger the action. The Controllers that are the condition that will say if the action will happen, and the Actuators that are the action itself. Beginning, middle and end, looks pretty straight forward doesn’t? And well, they are indeed very simple to understand, so I can say that anyone, knowing or not how program, can use Logic Bricks, being maybe, the simpler to “program” 3D engine currently available.
But this simplicity comes with a price. One of the biggest problems with Logic Bricks is that they are too simplistic. Because they are design with the logic “beginning, middle, end”, you can’t continue the logic after the end without make some tricks, making your logic much larger and complex.
Another problem is that you can’t use native variables, like object position, nor manipulate them directly, having to use python or tricks for that, making simple common tasks like make an property equal to another, overly complex.
One good thing that I have to mention is how smooth everything looks. The graphics are nice, the movements are fluid, everything looks and feels good. Because Blender is free, maybe be a cheaper option if you want project shadows in your game. Also, Blender have a truly awesome shader editor, enabling pure artists to make their own shaders.
A big issue when you finished your game is how you going to distribute, because, even with Blender Player,
the people who will play your game will still have to have Blender installed. * There are alternatives to this, even making a functional web-player, but they are still being develop.
So, the main question is, it is worth making a game with BGE? And my answer is: it depends. First, I must say that is very simple to represent what you thinking with it, making a great prototype tool, but going beyond and make something that is suppose to work in some way is hard. Therefore, what I recommend is, watch a tutorial, try it out, with some hours you will already get it how to make a game with it, and if you don’t liked it, just wait a little more, there are many developers working and improving it, it will be better someday.
*I have been informed of people who got Blender Games to work even without Blender installed, but also, I have been informed of people that couldn’t play the game until they installed the newest version of Blender. I had searched for an answer but nothing definitive. Maybe it work with just python installed, if I find something more about, I will update this.
In the end I decided give a try to the Blender Game Engine instead of Unity3D and sadly, I regret a little.
I’m learning a lot, but I miss a lot programing in unity than use blender logic bricks, they are usable, but still are very primitive.
But Blender have nice things, like, everything seens so smooth and make shaders with it is wonderful.
This will be my 4th LD (excluding miniLDs)
Hoping for a theme like ‘End of the world’ or ‘Outer space’, something which could be scifi.
But we will see! No point getting too attached to a particular theme, I’ve made that mistake before.
Game Engine: BGE
Also, big night. Hung over and on about 3 hours of restless sleep right now. Got just less than 4 hours for a powernap O_o
But close enough!
Certainly didnt get around to a few major features that Id really hoped for (like being able to steal a car – kinda important in a game that references Grand Theft Auto)
But I’m certainly happy with what I did get done over the weekend. ‘Super Theft Auto’ is a good start for an interesting little mini game.
You can play the current version of the game at the following link after installing the plugin (links/instructions are on the page- the only major OS not supported is OSX):
[LINK] (youll also find it on the CharityGameJam games submission screen of course)
Theres also a link on the page to a .blend download of the setup for the computer VideoTexture scene, youll need Blender 2.64a if you want to mess around with it.
- A game within a game – You start in a 3D world with a 3D computer, the (kinda) NES style game plays on the screen of the Funkytron computer (press space to zoom in and focus on the screen to actually see what youre doing)
- Large city area to explore (sadly only on foot at this stage)
- Pedestrians wander around the city (they make good target practice)
- Cars driving around (rare and very basic implementation)
- Gun ammunition to pick up
- Basic scoring system (you can score points for killing people)
I have version 0.5c of ‘Super Theft Auto’ now available for public testing/playing/things.
The game is my take on having a game like GTA2 on the NES (or at least a 3D Funkytron console) I havent really kept as close to the NES specs as I would have liked, but I think its turning out ok so far, its been a lot of fun to work on if anything.
Theres not much to the gameplay. I still need to add some major features in. But theres some initial pedestrians now, a title screen, various other much needed improvements – I can see this actually being a game sometime in the near future. I really need to add the car system in though, the map is quite large (spent too much time working on that tonight). Its too much to explore fully on foot.
You can find the game embedded in this page – [LINK]
Youll need to install the ‘Burster’ web plugin to use it (unfortunately Mac is not supported), but Linix and Windows (64&32bit) will both run it fine. The plugin is a ~26mb download, and is easy to install. Theres instructions & links to download it on the page I made for the game.
Feedback would be great, I know theres not much of a game, but Ill take any crits or suggestions. Also knowing if the Burster plugin install is a smooth process for you would be great as well. I hate having to install a plugin to play a game as much as the next person, but Ive tried to make the page as helpful as possible.
Anyway, its past 2am where I live, and Ive been running on 2-3 hours sleep all day (was a bit night saturday night). Im starting to see random flickers/objects in my vision, so a good indicator to get sleep I believe! Plus programming in this state is so slow and frustrating Id be better off sleeping.
Im not sure how much Ill be able to get done in the final hours tomorrow, but I hope to at least implement a few more crucial features (like death and a points systems) – We will see!
Missed posting at the 24 hour mark! ~19 hours to go, close enough.
Making some more progress, but the past few hours have been slow and problematic. I ran into one large problem, which was a kind of ‘grey’ area cause by modules/functions Ive never used in combination before (not sure if anyone has tbh). The main problem came down to the default use of ‘mipmaps’ in the BGE and Blender itself. Basically, mipmapping doesnt work well with sprites. It ‘blends’ the pixels of textures and the results are blurry, ugly sprites for super low-resolution stuff, ie the image below shows the effect:
This is fine in Blender itself, you can simply globally disable mipmapping, problem solved. But the issue existed when I then tried to run the game in the Burster plugin (for web-browser play), mipmapping was on by default – and theres NO way to turn it off. So the all-important browser version of the game was completely fuzzy.
My initial idea was to completely redesign the ‘architecture’ of the game. Splitting the Scene into two independent scenes, one for the 3D computer area, one for the mini-game area being projected onto the screen. I wasnt even sure if the VideoTexture module would work between scenes (which is the only reason why I didnt setup the game like this initially), but after a bit of hair-pulling coding I managed to get it sorted. I then applied a pixelated shader, which was applied to the mini-game scene so it would be pixelated, even though mipmapping was permanently enabled.
The new problem: The shader was applied to the scene, but the VideoTexture plugin wasnt ‘seeing’ the now pixelated version of the level, so the screen was still blurry even though almost everything was running exactly as Id planned.
After some more hair-pulling moments, another much simpler solution came to mind, all I had to do was increase the texture size to sharpen the pixel edges (compromising with slightly larger file-sizes). Major derp moment. This solution took 5 minutes to implement (thankful this is still early on and I dont have hundreds of textures to edit) whereas the previous failed method took almost 2 hours. Gah! At least the scenes are better organised now, the ‘architecture’ of the game is much more solid so its not a complete loss…
Either way, I just need to sort out a sprite animation issue and I’ll have a playable demo up and running for people to try out.
Heres a look at the shader too, it worked pretty well and I’ll probably use it in future projects. You can see it in the background scene, a kind of ‘distant city’ view which is the current WIP city for the game. I wont be using anything like this in final game now (happened completely by accident) but I thought it looked a bit interesting.
Im about done for today’s work on the game. Made some progress, theres a player sprite which runs around, and a basic environment (road with buildings either side and an intersection) along with some cars that randomly spawn and can drive into you (blood splatter included), now I have other things to tend to
A friend of mine might be getting involved with the game while I’m away for the next 10-20 hours, so progress might be made (hes been working on music for it today). Then tomorrow will be time to sit down and start finishing things! Ive purposefully aimed pretty low with this game, I’ll just get as much done as possible and enjoy it.
Either way, the game Ive been wanting to make for this is effectively ‘GrandTheftAuto re-imagined for the NES’. I hope to have at least 1 gun, cars to drive/steal, blood to splatter and sidewalks to drive down, maybe even some simple kinds of missions. We’ll see!
Might also mention, I 3D’ized the gamepad texture recently released as well, so now theres 2 controllers in the scene (which adds to it nicely I think!)
Was into the idea of this Charity Jam right from the moment I first heard of it. Maybe its the awesome theme, maybe its the fact that its for charity (which already doubled the initial funding goal) – Just noticed McFunkypants has increased the funding goal because of this, good move
Either way, I’ve gone ahead and started my day by donating, every bit helps, so I suggest anyone who is able to donate.. To donate!
Now for the game jam side of things. I like the idea of the template, but wanted to use the BGE (Blenders Game Engine) for this LD (as I do for most Ludum Dares), so yesterday I thought Id come up with my own 3D template, you can see the end result below.
*Edit* Removed gif, was unoptimized and bugging out my browser, click the pic above to see it^
This version was more of a ‘proof of concept’ for myself, as I wasnt sure how well the screen projection would work (if at all). So yes, that game you see on the screen you *can play*. Its effectively a 3D game, looking like a 2D game, projected onto the flat 2D screen of a 3D Funkytron in a 3D game world <- this is the kind of thing I think up when I say to myself “lets keep this miniLD nice and simple!” -_-’
Everything worked as I wanted though, VideoTexture (the BGE module responsible for projecting that realtime display onto the Funkytron screen) works wonders. Then, to further complicate everything, I decided it would be a good idea to use the Burster plugin with this game. For those who dont know BGE too well, or havent heard of Burster, its effectively a web plugin which lets you use run your BGE games in-browser. It complicates things because Burster has a bunch of restrictions, mainly on what python functions/modules you can use. A bunch of them are blocked for security reasons.
Thankfully, it works, so you can play this template version right now! Controls for the game, along with instructions and links to download burster are all on this page - http://www.delta-edge.com.au/GameTest/game_test.html
Feedback on if this works for you would be great! Also just basic feedback on how annoying/easy it is to download/install Burster and get the plugin running would also be handy. Thinking of using this plugin for future Ludum Dares depending on how it goes for this one.
The only downside to Burster is no Mac support, but 32/64bit Linux & Windows are both supported.
Also, as with any Ludum Dare, I’ll be providing the source code/files for the project, starting with the template (would be great to see others using this!)
Template download: http://www.mediafire.com/?qkfr3ijlfoqwkqz (Youll need Blender 2.64a to open the .blend file and edit the game) – This game is using the Blender Game Engine (BGE)
So thats all for now. The LD starts in <1min, so I have a game to make! I’ve got a friends going-away party happening tonight, so Ill really only have the next few hours and the final 24 hours to work on a game, most of today Ill be afk. And Ill post about what type of game Im planning later as well!
Well, that weekend was a crazy 48 hours. A lot of it is a blur (Im going to enjoy watching my own timelapse since I cant remember 75% of everything I went though)
The best thing though – Success!!
This was my 3rd Ludum Dare to date, yet the first where Ive actually finished an entry. I was cutting it close too, last night I got to sleep around 4am, and at that stage it was T-8 hours, and I still didnt have a proper level or any puzzels to solve. So after sleeping 3 hours I had a very compressed burst of productive work to get the final level design and features down (I was still finishing off a pretty important feature at T-10mins) O_o
Either way, it was an enjoyable experience and I was very glad to get something finished which I could call a ‘game’. I might venture away from a 3D game for the next LD however… So-much-work…
Im keeping this post quick, cause Im actually struggling to stay awake at this point.
You can check out the entry with the link below (Windows 32 & 64bit versions only atm) Ill have a linux one up soon hopefully, and mac potentially soon as well. And a timelapse soon too!
And now for voting! Good luck to everyone, I look forward to playing a bunch of games
And w00t! – For LD getting 1000+ games on its 10th birthday