• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Zalewa

3D multiplatform game, but not in C++

3 posts in this topic

Hi!

I bet this has been beaten to death already, but I burned myself so many times that I need to create this topic before moving further.

TL;DR on Why not C++
I know how to program in C++, I've been programming in C++ for years. But I strongly believe that the most important rule of C++ is to not use C++ unless there is absolutely no other alternative. In C++, instead of creating programs, you create code. In C++ if your program crashes, you're left with a cryptic memory dump and no idea why it crashed. In C++ you have to cast magic spells in order to get simple functionality like callbacks working, and passing a pointer to an object as a parameter of such callback is another kind of nightmare. When you discover that the object got deleted by the time the callback gets handled, all hell breaks loose. In other words: I don't want C++.

Story About a Python and an Ogre
Recently I've been thinking on doing a 3D game that operates in only 2 dimensions (think of recent iterations of Civilization, or a fancy Arkanoid clone with models instead of sprites). I even have a "work in progress" of something simple that I pulled together in 2 weeks and it works. I used Python, Ogre3D and CEGUI. Right now, I have most of the functionality that I wanted, however I discovered that getting Python-Ogre to work on Linux is a bitch that hits you hard and where it hurts the most (in simple words: it's difficult).

Furthermore, I couldn't find any audio library that would be up-to-date and support 3D world positioning. Folks recommend OpenAL, but AFAIK development on Python bindings for that were discontinued. It's a shame because I worked with OpenAL before and I liked what I saw.

What I'd like to have
I'd like to create a game that operates in a 2D world, but uses 3D engine for rendering, as it gives more flexibility with various graphical effects. Besides, operating with 3D models is easier than operating with sprites.

My wishlist:

- OpenSource compatible.
- OS independent (Linux/Windows)
- Interpreted language as the MAIN language of the program.
- I don't want to have to reinvent the wheel again with functionality like string trimming. Nor with regexes. Nor with dynamically resizeable byte arrays or simple IO operations (mkdir). Nor with timers of any sort. Nor with functions that discover where program configuration and save files should be located on a given OS. Nor with callbacks. All of these are solved by Python, or by Qt library in C++.
- I don't want to worry what will happen if my user tries to use his language diacritic signs in the name of the save file, or in anything. This problem is already solved by Python, so it's another reason to stick with it.
- 3D rendering engine that uses OpenGL, and is capable of rendering text, 3D models, animation, lighting, billboards and all the fancy stuff. Basically, I find Ogre3D sufficient for my rendering needs, though it's lacking when it comes to Python-Ogre and Linux.
- .OGG and .WAV support for audio. Audio positioning in a 3D world.
- Networking (again, Python has this basically built-in).
- Mouse operable GUI (I'm content with how CEGUI works with Ogre3D).
- JSON parsing. It's like XML but not stupid. It's also built in to Python.

So, what do you guys recommend?

Edited by Zalewa
0

Share this post


Link to post
Share on other sites

It seems for every reason you have not to use Python or Ogre3D you find another why you like them.

 

I realize, and I am guilty of the same, that working with what you are familiar with, is always easier. 

 

However,  if you are wanting to try something different, yet familiar, easier while being all encompassing, "One" of the languages I use, because of speed and simplicity, while at the sametime being capable of doing what you want...   Is Blitz3D.  Look into it at www.blitzbasic.com.  Free trialable version ( Non-Compilable ),  Cheap if you want to buy full version.

 

So far, it has done everything I have wanted it to do.  Comes with a couple of samples as well.

1

Share this post


Link to post
Share on other sites

I'm sorry, I failed to mention that all my projects will be open source so preferably all the libraries should also be so. My bad.

 

The thing about Python-Ogre is that it is almost the perfect solution for me. I have only two major issues:

 

1. Horrific difficulty to get this to work on any Linux. Even Ubuntu doesn't have an official package or any PPA for that, or at least I failed to find one.

 

2. Apart from the completely one dimensional audio library in PyGame, I couldn't find any other audio library that would be still supported. PyGame audio library forces you to calculate sound positioning and distance yourself and it only supports mono and stereo, no surround. In the end I can accept these obstacles and limitations, but I would prefer not to have them in the first place.

0

Share this post


Link to post
Share on other sites

I think you should at least look at the site I suggested.  The language is a blend of C++ and Basic.  Graphics rendering is very simple for both 2D and 3D.  So far I have found it's limitations to be so small, That I have had no problem working around them.  The trial version is free and does not expire.  Trial version will allow you to run your programs, but not compile them.  It is also limited to memory usage size.  But is adequate to allow you to get the feel for it.

 

  Since I am only a hobbiest, designing and writing for my own pleasure and freinds, I found it very easy to learn.

 

After a few brief self tutorials,  I designed and wrote my first game in the language in 2 days.  ( I have written games in the past, but the simplicity of the language made testing while writing very easy )

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0