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


  • Content count

  • Joined

  • Last visited

Community Reputation

157 Neutral

About Tjaalie

  • Rank
  1. 494

    Why not use std::stringstream?
  2. What do you want to do? It is up to you, members at a forum from which you have no idea who they really are should not have anything to say about what kind of study you want to study (weird sentence, I'm sorry but where I live it is drinking time). For what you may known there all drunken 14 year olds who try to screw you over for live. Just think about what you really want, do you want to make movies? Or do you want to make games? Where I live you can always take a minor. There should be a man (or woman) at your school who is specialized at helping you find the study you want to do, I guess you should pay him a visit. Mind my English, if I screw up the rest of your life don't blame me! Tjaalie,
  3. And your still not resetting pos to zero.
  4. What I can see that is wrong: *Where do you set done to true? *You don't reset pos So it keeps writing stuff to the console because you are in a endless loop. So add: if (pos >= myline.length()) { done = true; } In your loop trying to parse the token. Once again don't forget to reset done to false before you enter enter the parsing loop again.
  5. Depends, I don't know your format requirements. You could join the mesh but it is most likely that the different meshes all use different textures. Your better of exporting it in a format that supports those 'submeshes' and multiple textures. You could also use maxscript and export to your own format.
  6. You could use Apache. I don't know if you can distribute it on a cd, you have to check that out yourself. You would still need to run it in a browser. But you could always write a app that uses the explorer control to display the web pages and start a local server (trough apache).
  7. your welcome. As a side note, for a game so small as a simple pong game you may want to distribute it in a zip archive or something. Since people downloading the are just going to try it, most are just not going to install something if they want to test it once. So to increase your user base you may want to distribute it in a zip archive. And use a installer for bigger games.
  8. From a look on your blog I think you are using visual studio. Just switch to release (change the dropdown box in the menu that now states 'debug') and press the build button. The exe is in <project directory>/Release if I remember correctly (haven't used visual studio for quite a while. For a installer just google for 'free installer creator' or something). But I think visual studio comes with a installer just look for it in your start menu, although I'm not totally sure about that. EDIT: I heard some good things about the Nullsoft Installer but since I'm a Linux user I never used it.
  9. Quote:Original post by rip-off Any project that isn't abandoned after a day or two has source control. I have a little machine on my network (P120 with 48Mb RAM, barely squeezed Ubuntu server onto it [grin]) that I use as a SVN server. When programming I like to reinvent the wheel. But that computer must be from before the discovery of the real wheel! lol
  10. Quote:Original post by capn_midnight I absolutely use local source control for personal projects! Far too often I get an idea to make a big change to a project, only to end up breaking it completely. Revision control lets me go back to the good ol' days when my projects actually worked and I wasn't too big for my britches. That is actually a really good reason to use version control. I'm one of those guys that designs on the way, so sometimes when I make some decisions that I later regret I'm able to switch back! I'm so totally convinced right now. I'm going to convert all my projects (witch I'm actually still working on) to git. I'm so convinced that I might actually just use git to keep track of my whole computer (no I'm not going to do that, although I wonder what 'git add /' might do:P).
  11. Quote:Original post by deathkrush Tjaalie, If you are used to TortoiseSVN, then KDE has something very similar: KSvn. It integrates into Konqueror. I'm more of a gnome guy:P but I know of a few scripts that allow you to integrate svn into nautilus. But since I'm trying to convert all my projects to makefiles and text editors (the Linux way) it is just as easy to add a 'commit' target into my makefile so when I want to commit my changes I just do 'make commit'. As I see now git is really easy to use, the only problem I has was that I needed to write a simple program to keep track of the build number. Not that that was a problem (I already wrote such a application when I started developing on Linux). Here is the source if anyone is interested: /* * main.cpp * * Create a simple header with a version varriable. * * copyright (c) 2009 charlie gerhardus */ //includes #include <iostream> #include <fstream> #include <sstream> //entry point int main(int argc, char* args[]) { //vars std::string varname = "c_version"; std::ifstream infile; std::ofstream outfile; unsigned int buildnum = 0; //varname? if (argc > 1) { varname = args[1]; } //has build number file? infile.open(".buildnum"); if (!infile.good()) { std::cout << "warning: no buildnum file found, creating one!\n"; outfile.open(".buildnum"); outfile << buildnum; outfile.close(); } else { infile >> buildnum; buildnum++; outfile.open(".buildnum", std::ios::trunc); outfile << buildnum; outfile.close(); } //write var outfile.open("version.hpp", std::ios::trunc); outfile << "const char " << varname.c_str() << "[] = \"" << buildnum << "\";"; outfile.close(); //done return 0; } It makes a hidden file (or when its there it updates it) in the current working dir, and also writes to a file called 'version.hpp' witch contains a const char string containing the build number. Since I had no need for an integer version of the build number it is not there, but it is very easy to add. usage: ./buidnum <version string var name>
  12. What I think I will do is: 0. (optional) Script 1. assembler like script 2. bytecode that vm can execute This way I can work on a assembler like scripting engine first and the vm. So I get more visual output sooner (moral boost!). I got everything ready to create a normal scripting engine tough. I never read how real scripting engines work and mine works totally different. First I convert the script into a list of tokens (I know this is what others do too), next I have a class that I can use to define lines. First I add labels into the class (witch are words representing a token id), the line is defined in a simple script like it works like this: operators: & | - and and or, used to specify if a token must follow an other token or that it must have one of the two. ( ) - open and close, so you can create nested or lists. ! - previous token can be repeated. now when you want to create a simple integer definition line: parser.add_rule("tok_type_int & tok_name & tok_endofline", line_defint); when I parse the script it will contain a list of lines with a line id. In order to parse a function definition some more advanced is needed: parser.add_rule("(tok_int | tok_string) & tok_name & tok_open & (tok_close | (((tok_int | tok_string) & tok_name)! & tok_close)) & tok_endofline", tok_deffunction); this will allow you to parse lines like this: int test_function(int intparam string strparam); I got an other class that can 'solve' math, it just sorts the math in such a way that ()'s and other hight priority operators are in the right order. However because it is also rule based (just as the parser) it can be used for more then just solving math (like expressions within a if statement).
  13. Thank you that looks really nice. Didn't expect to be introduced to new software so quick:P
  14. Hello to all, I'm working on a small project on my own and its actually growing pretty large. Now is my question to you all, do you use source control when you are working on something on your own? I used to do it back when I was using windows, but I never used it on Linux. So who what and where are you using to keep track of your sources... I prefered svn when I was on windows, just because it integrates so well with explorer. On the other end, it would be really easy to add a few lines to my makefiles and integrate it to my projects. Someone got something to say on the subject? Maybe recommend something different then svn (keep in mind I'm on linux). Thanks to ya all,
  15. Dear Thread reader, Now I finished all my helper classes for my scripting engine I need to make a design decision. With the help of all the helper classes I'm able to create a simple to mildly complex calculator program in just a few lines. It can execute calculations like this '5+3*8/(7+9)' thanks to my friendly tokenizer, parser and solver class. Now that I'm implementing the actual scripting class I'm faced with a design decision. When I parse my script should I first convert it into some kind of asm code and then into actual script byte codes? I think this will make the compiling process slower but makes it easier. This will also allow for a 'asm { code here }' kind of statement (although this would be useless since the use of a scripting engine is just that you can use some higher level language so it would be stupid to implement a feature like that). So what kind of approach do you prefer? I think I will go with intermediate language (I think g++ works in the same way) since the project is purely for a fun learning experience and speed (let alone compile speed) doesn't matter really. Tjaalie, PS: Don't say: "Use <insert, better then my scripting engine will ever be scripting engine's name>, your reinventing the wheel!" because the whole purpose of me writing my own scripting engine is because I want to reinvent the wheel.