• 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
azonicrider

Should I give up?

34 posts in this topic

I'm currently developing a game with Perl and SDL, but I've lost motivation for a reason.

I've realized it will be quite hard to distribute the game. I have to somehow include Strawberry Perl and SDL in the installation wizard, and I would be surprised if I could get that to work error-less. Even then, the Strawberry Perl package is quite big, and the file size will probably throw-off users.

Do you think I should convert to a language thats pre-installed in computers, to not deal with this? (such as C)
0

Share this post


Link to post
Share on other sites
No matter what language you use, there is always something that has to be distributed with it.

With C/C++ programs, you'll have to distribute the proper library DLLs and make sure the user has the right version of the C/C++ runtime installed. Then there are video card drivers. The DirectX user redistributable, etc...

So nothing will change. Just the name of the language!
2

Share this post


Link to post
Share on other sites
Check out some of the games you can buy on Steam. There are Flash games, Unity games, XNA games, even a couple written in Java in addition to all the normal native code apps. If you make a fun game it doesn't matter the technology used or the amount of pre-reqs that need to be installed for it. That kind of thing only runs the first time you play the game.
0

Share this post


Link to post
Share on other sites
I for one automatically install Flash/C++ Redistribuable/DirectX/.NET/Java and even XNA redistribuables when installing a new PC. I would think twice about installing a "Strawberry Perl" package that I never heard about though. Edited by Dunge
0

Share this post


Link to post
Share on other sites
[quote name='lawnjelly' timestamp='1349022783' post='4985394']
I think azonicrider is right to an extent .. end users are easily put off installing stuff. If your game needs a 15 minute download from a third party and separate installation just to run, they'll probably move on. I know I do. If I see a 'your java needs to be updated' or flash or whatever, I'm like 'forget it'. So there is a good argument for considering your market before deciding what dependencies to rely on.
[/quote]Yep you understood what I meant. I doubt distributing the Strawberry Perl folder is enough, its more than likely having to use the Perl exe, then Command Prompting the 5 minute SDL installation.
0

Share this post


Link to post
Share on other sites
[quote name='azonicrider' timestamp='1349020042' post='4985379']
Do you think I should convert to a language thats pre-installed in computers, to not deal with this? (such as C)
[/quote]

Find out what's needed to make an installer first. Maybe you can even make a folder that contains everything you need without an installer, it's worth a shot. There are probably people that have done a game with it before, try the IRC channel mentioned here: [url="http://sdl.perl.org/"]http://sdl.perl.org/[/url]

If it doesn't work or gets too big and complicated, then yes it's probably a good idea to try out another language. Already being familiar with SDL should help you use it from C easier.
0

Share this post


Link to post
Share on other sites
Yea I won't give up yet. I bet I could mickey-mouse a Wizard together, that includes the bare essentials I need from the Strawberry package, and my game files.

I've found out that SDL is just a module folder, so I don't need to worry about retrieving that from CPAN(the Perl network) using Command Prompt.
0

Share this post


Link to post
Share on other sites
It's possible, in C#, to embed .dlls in your application and have no need for separate installs (theoretically). Perhaps you could look into that idea for Perl?
0

Share this post


Link to post
Share on other sites
In the end, if the game is fun and people want to play it, they will do what they need to do. People will buy proprietary controllers, get new video cards, even buy entire new computers to play fun games. Guild Wars 2 only cost $60.00, but I spent several hundred upgrading my CPU, RAM, and Video card, just so I can squeeze every little ounce of speed out of my aged system while playing the game.

There is a game mod I was messing around with a couple months ago called DayZ, and OMFG, I swear you need a degree from MIT plus all the stars in alignment just to get it installed and running, yet there are tons of people who have gone through the hassle, just to play the great game.

Like you, I have also had trepidation about what to do once a project is complete. Trying to figure out a good distribution method, how to take payments, advertising, as well as worrying about piracy prevention... It is quite overwhelming.

No. Do not give up.
0

Share this post


Link to post
Share on other sites
You could learn C and write a simple front end. All it would need to do is call the necessary scripts from the command line.
For example it could do the following:

Download a copy of perl from internet.
Install it on target system.
Set up scripts folder on system.
Modify system paths to point to scripts.
install another exe that autoloads you game scripts
Make desktop icons that link to the script loader exe, parameters passed with the link tell the loader what to load.

From the users perspective all they would have to do is double click the exe, and presto all done.
0

Share this post


Link to post
Share on other sites
This is why people favor languages like C, C++ and C# for game development. You can theoretically write a great game in any Turing-complete language, but some are just more conducive to game development than others. For instance, writing a game in C++ is a hell of a lot easier than writing it in assembly language.

What language you choose is mainly up to you, your goals and your target platform(s). I suggest C# a lot (as I love it and I'm biased, for one), since Mono has made it a true cross-platform language and there are excellent DirectX wrappers (SlimDX, SharpDX, etc) and OpenGL wrappers too... even wrappers for CUDA and PhysX... so if you know what you're doing you can get all the benefits of C# and run it damn near anywhere.

Again, this is just MY personal bias/opinion, but I couldn't imagine trying to write a game in a language like Perl, Lisp, Python, or some scripting language, etc... though some other people pull it off smoothly, I'm just [i]heavily [/i]in favor of the "curly-brace" style and C-like syntax in more "conventional" languages. And I like the lower-level features and capabilities it gives me to communicate directly with hardware and rendering APIs... Edited by ATC
0

Share this post


Link to post
Share on other sites
I have a slight experience with .exe files.
[quote name='ATC' timestamp='1349058588' post='4985620']
This is why people favor languages like C, C++ and C# for game development. You can theoretically write a great game in any Turing-complete language, but some are just more conducive to game development than others. For instance, writing a game in C++ is a hell of a lot easier than writing it in assembly language.

What language you choose is mainly up to you, your goals and your target platform(s). I suggest C# a lot (as I love it and I'm biased, for one), since Mono has made it a true cross-platform language and there are excellent DirectX wrappers (SlimDX, SharpDX, etc) and OpenGL wrappers too... even wrappers for CUDA and PhysX... so if you know what you're doing you can get all the benefits of C# and run it damn near anywhere.

Again, this is just MY personal bias/opinion, but I couldn't imagine trying to write a game in a language like Perl, Lisp, Python, or some scripting language, etc... though some other people pull it off smoothly, [b]I'm just [i]heavily [/i]in favor of the "curly-brace" style and C-like syntax in more "conventional" languages.[/b] And I like the lower-level features and capabilities it gives me to communicate directly with hardware and rendering APIs...
[/quote]Perl borrowed tons of C syntax, and uses curly braces.


What really is quite strange, is I'd have the most trouble with Perl on Windows. Perl is already pre-installed in Linux and Mac, and I'd just have to set-up the SDL files into the correct location.
0

Share this post


Link to post
Share on other sites
In terms of using games with lots of pre-reqs and/or uncommon languages have you heard of Severance: Blade of Darkness? It's written in Python and most (all?) of the game is actually compiled at runtime. Did this effect the awesomeness of the game? Not at all, it was such an amazing game and it was packaged with everything you needed to run it. Most people didn't even realised it wasn't written in a common language.

As long as you're working with a language that you can accomplish your goals with then stick with it. And we look forward to seeing the end product in IOTD!
0

Share this post


Link to post
Share on other sites
[QUOTE]Do you think I should convert to a language thats pre-installed in computers, to not deal with this? (such as C)[/QUOTE]

C is not pre-installed in any computer, per-se. In fact, what do you even mean by "pre-installed in computers"?

C needs a compiler to work(and a linker, usually, and parsing, and a preprocessor, text-editor, etc., etc., etc.). C compilers are not pre-installed in most factory bought computers.

The only things you can basically use in most computers in this department of "coding" is HTML/CSS and Javascript. Everything else must be manually/automatically installed for use.

So I don't get your sentence there at all ... if you want an easily playable and downloadable game file, make the process of installing/playing it faster and easier.

You said, [QUOTE]I have to somehow include Strawberry Perl and SDL in the installation wizard, and I would be surprised if I could get that to work error-less. Even then, the Strawberry Perl package is quite big, and the file size will probably throw-off users.[/QUOTE]

So don't use Strawberry Perl then, if you think it will turn-off possible users of your software.

There is no direct integrated language in a "machine", (assuming you mean a processor) and you need to download the necessary programs and data to write, compile, and create software. This goes for every other language as well. The processor doesn't work with C, Perl, or anything like that.

A processor works with machine language (and that's not really even a "language" at all), and all the higher-level tools/programs to convert to it are unavoidable and tweakable at best for the best possible situation. Edited by Pointer2APointer
0

Share this post


Link to post
Share on other sites
Along the lines of what Pointer2APointer was getting at. If you can compile your game so it's not an interpreted script, but rather native code you won't need to distribute the runtime.
First google: http://stackoverflow.com/questions/2948405/how-to-compile-a-perl-script-pl-to-a-windows-executable-exe-with-strawberr
0

Share this post


Link to post
Share on other sites
Take a break. I'm developing a large game called "Ant Farms 2" and we started to get burned out so we made a little game called "Match". Match is almost done and prjected to make a little profit. Were refreshed and ready to work on Ant Farms 2 again. Match has taken us roughly a week to make but provided a great break from Ant Farms 2. Edited by mholmes
0

Share this post


Link to post
Share on other sites
[quote name='Pointer2APointer' timestamp='1349124365' post='4985864']
C is not pre-installed in any computer, per-se. In fact, what do you even mean by "pre-installed in computers"?

C needs a compiler to work(and a linker, usually, and parsing, and a preprocessor, text-editor, etc., etc., etc.). C compilers are not pre-installed in most factory bought computers.
[/quote]
The C code itself is obviously unusable for most Windows users (OTOH gcc comes preinstalled with basically every Linux distribution), but it is pretty clear he is talking about binaries made from compiled C code, which may only rely on built-in and system libraries, which means it'll work on *any* Windows computer. But this is not quite true - any moderately complex game is going to be using external libraries (from DirectX to an asset-loading manager) which may require additional .dll's or frameworks to be bundled along. There is no perfect solution - if you use anything other than system, standard, or built-in features, the user's gonna need them somehow.
0

Share this post


Link to post
Share on other sites
[quote name='Pointer2APointer' timestamp='1349124365' post='4985864']
[QUOTE]Do you think I should convert to a language thats pre-installed in computers, to not deal with this? (such as C)[/QUOTE]

C is not pre-installed in any computer, per-se. In fact, what do you even mean by "pre-installed in computers"?

C needs a compiler to work(and a linker, usually, and parsing, and a preprocessor, text-editor, etc., etc., etc.). C compilers are not pre-installed in most factory bought computers.

The only things you can basically use in most computers in this department of "coding" is HTML/CSS and Javascript. Everything else must be manually/automatically installed for use.

So I don't get your sentence there at all ... if you want an easily playable and downloadable game file, make the process of installing/playing it faster and easier.

You said, [QUOTE]I have to somehow include Strawberry Perl and SDL in the installation wizard, and I would be surprised if I could get that to work error-less. Even then, the Strawberry Perl package is quite big, and the file size will probably throw-off users.[/QUOTE]

So don't use Strawberry Perl then, if you think it will turn-off possible users of your software.

There is no direct integrated language in a "machine", (assuming you mean a processor) and you need to download the necessary programs and data to write, compile, and create software. This goes for every other language as well. The processor doesn't work with C, Perl, or anything like that.

A processor works with machine language (and that's not really even a "language" at all), and all the higher-level tools/programs to convert to it are unavoidable and tweakable at best for the best possible situation.
[/quote]How come I can run C and C++ programs without installing anything, yet when I run a program written in Java or Ruby, I need to install the compilers for those languages?

[url="http://en.wikipedia.org/wiki/C_%28programming_language%29"]http://en.wikipedia.org/wiki/C_%28programming_language%29[/url]

[quote]C is one of the most widely used programming languages of all time,[sup][url="http://en.wikipedia.org/wiki/C_%28programming_language%29#cite_note-5"][6][/url][/sup][sup][url="http://en.wikipedia.org/wiki/C_%28programming_language%29#cite_note-6"][7][/url][/sup] and there are very few [url="http://en.wikipedia.org/wiki/Computer_architecture"]computer architectures[/url] for which a C [url="http://en.wikipedia.org/wiki/Compiler"]compiler[/url] does not exist.[/quote]
(I don't know if you guys are against quoting Wikipedia)

UglyDavis, yea I understand that. I did the same thing with Python before, and I could probably get it to work with this Language.
0

Share this post


Link to post
Share on other sites
[quote name='mholmes' timestamp='1349130083' post='4985894']
Take a break. I'm developing a large game called "Ant Farms 2" and we started to get burned out so we made a little game called "Match". Match is almost done and prjected to make a little profit. Were refreshed and ready to work on Ant Farms 2 again. Match has taken us roughly a week to make but provided a great break from Ant Farms 2.
[/quote]Interesting.
0

Share this post


Link to post
Share on other sites
You could try out lua-based [url="https://love2d.org/"]LÖVE[/url] framework (pygame-like), it uses SDL internally and has easy project distribution options for Windows, Linux and Mac.
As an example of creating a windows .exe:

[CODE]
copy /b love.exe+project.love game.exe
[/CODE]

Where [b]love.exe[/b] is Love2D framework with integrated lua interpreter, [b]project.love[/b] is the packaged project and [b]game.exe[/b] is the name of the final executable file. It's very painless, opposite to distributing pygame-based (python) games which require too many steps for an end-user. I've switched from python + pygame because of it's awful distribution options (cx_freeze, py2exe, etc).
0

Share this post


Link to post
Share on other sites
I think, it depend on yourself.
what's the goal of you making this game.
practice your perl?
or practice your game programming.
if it's the first. that will be every important to you. because. you can effort the difficult and get archivement.
but if you just wanna go the road of game programming. C/C++ AS3 etc. maybe more sutiable for you.
every language has it's good at field. just as our human being. every body have their good at thing.

so. go your way. pratice more. more failed. closer to the success.
0

Share this post


Link to post
Share on other sites
[quote name='azonicrider' timestamp='1349143049' post='4985926']
How come I can run C and C++ programs without installing anything, yet when I run a program written in Java or Ruby, I need to install the compilers for those languages?

http://en.wikipedia....mming_language)
[/quote]

C and C++ are natively compiled. Generally, the shared runtime libraries are already installed by default.


Ruby and Java are interpreted languages. They require an interpreter to run programs. (Yes, Java is interpreted by the JVM)
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