Jump to content
xisto Community

TheFury

Members
  • Content Count

    71
  • Joined

  • Last visited

Everything posted by TheFury

  1. Can you explain the mechanics of the game, its rule set, its setting, if you are going to attempt to DM a forum game, the least we all need to know is what is acceptable part of the game. It is pointless for me to spend 30 mins working out a character like a cyborg with cannons for arms if this game is going to be medieval. So at a minimum, i would need the following information. With that i could then work out a character that would have a fair chance of being acceptable for this game. Setting: PC Classes: PC Races: The Rule set we are playing by:
  2. start what exactly, you did not outline the game, its mechanics nor its rules and how one can join in or participate.
  3. I have a 6 terabyte raid in my media centre and 5 of those are full, things like TV and DVD's soon add up and they take a lot of space, incidentally that is my entire music, dvd, tv, family home movies and pictures all jammed onto it and lets just say, backups are a *****. I could see a use for 3 of those disks in my household, 1 for data and 2 for image backups, you can never be too save when it comes to making backups.
  4. Because most people will buy or harvest the email addresses themselves and not grow their own list over time, and because it is spam, their mail servers will eventually end up on a spam list, or better yet, it is aganst the TOS of most hosting companies to send spam and you will loose your hosting account. However, those who are honest and have some ethical manner in which they operate, will have grown their own lists and will be happily sending the emails from their own servers.
  5. This type of ethical discussion is outside my areas of study, which are mostly applied ethics in the areas of political and environmental sciences, if i had the time i would read up on things and give you a broader response, however i see your dilemma not so much as an ethical one but more of a philosophical one. Kant and Hobbs both have absolutes within their respective ethical frameworks and would be a great place to start any study into this (cant think of anyone who does not off the top of my head, maybe some hard core utilitarian), also i found this in my Uni library, Through the Moral Maze: Searching for Absolute Values in a Pluralistic World by Robert Kane this might also be helpful and a good read into this entire arguument.
  6. I would have to agree here, i use Centos, Virtuialmin, webmin and usermin on all my servers, it is super easy to setup, configure and support multiple user accounts and multiple domains. Really the choice is simple, you want a server OS, you want Linux, but be prepared to have a steep learning curve no matter what OS you choose.
  7. You are correct, there is no longer a classic menu style.
  8. For me, if i was back at school, coding a major project, i would head straight for Ruby, Lua or any other language that lends itself to rapid development. Lets face it, you just do not want to be writing hundreds of lines of support code to get to the point where you start to develop the content part of your program. Take the following snippets for example and tell me which one you would rather code? Both of these functions write to file a player in an MMO style game. The first is in Ruby and the 3nd is in C, In C you have to be careful with how you write stuff to file and it is easy to make a mess of it, in Ruby you call YAML and it deals with it all for you. Also, think about things like memory management, in C you have to allocate the destroy memory yourself, do it at the wrong time and you seg fault or worse still, you have a memory leak and you use up all the system resources and you take out the OS as well when you crash . In Ruby you do not have to worry about memory management, and cleaning up is done with a garbage collector. It took me 2 months to be comfortable working in Ruby, not because it is hard to learn, but rather because i was doing object orientated coding for the first time, and it took me a while to get used to using classes, methods, inheritance and all those neat things you just do not use when you code procedurally. You will learn enough of the syntax to be able to write code in no time at all. The main thing i suggest is to nut out your programs design first, then worry about programming language and then coding it. The latter two will take you next to no time at all if you have a great design. def save_player dMob return if dMob.nil? File.open(sprintf("players/%s.yml", dMob.name.downcase.capitalize), "w") do |f| YAML::dump dMob,f endrescue $log.error "Unable to write to %s's pfile", dMob.name $log.error $!end AND: void fwrite_char( CHAR_DATA * ch, FILE * fp ){ AFFECT_DATA *paf; int sn; short pos; SKILLTYPE *skill = NULL; fprintf( fp, "#PLAYER\n" ); fprintf( fp, "Version %d\n", SAVEVERSION ); fprintf( fp, "Name %s~\n", ch->name ); if( ch->description[0] != STRING_NULL ) fprintf( fp, "Description %s~\n", ch->description ); fprintf( fp, "Sex %d\n", ch->sex ); fprintf( fp, "Class %d\n", ch->Class ); fprintf( fp, "Race %d\n", ch->race ); fprintf( fp, "Languages %d %d\n", ch->speaks, ch->speaking ); fprintf( fp, "Level %d\n", ch->level ); fprintf( fp, "Played %d\n", ch->played + ( int )( current_time - ch->logon ) ); fprintf( fp, "Room %d\n", ( ch->in_room == get_room_index( ROOM_VNUM_LIMBO ) && ch->was_in_room ) ? ch->was_in_room->vnum : ch->in_room->vnum ); fprintf( fp, "HpManaMove %d %d %d %d %d %d\n", ch->hit, ch->max_hit, ch->mana, ch->max_mana, ch->move, ch->max_move ); fprintf( fp, "Gold %d\n", ch->gold ); fprintf( fp, "Exp %d\n", ch->exp ); fprintf( fp, "Height %d\n", ch->height ); fprintf( fp, "Weight %d\n", ch->weight ); if( !xIS_EMPTY( ch->act ) ) fprintf( fp, "Act %s\n", print_bitvector( &ch->act ) ); if( !xIS_EMPTY( ch->affected_by ) ) fprintf( fp, "AffectedBy %s\n", print_bitvector( &ch->affected_by ) ); if( !xIS_EMPTY( ch->no_affected_by ) ) fprintf( fp, "NoAffectedBy %s\n", print_bitvector( &ch->no_affected_by ) ); /* * Strip off fighting positions & store as * new style (pos>=100 flags new style in character loading) */ pos = ch->position; pos += 100; fprintf( fp, "Position %d\n", pos ); fprintf( fp, "Practice %d\n", ch->practice ); fprintf( fp, "SavingThrows %d %d %d %d\n", ch->saving_poison_death, ch->saving_mental, ch->saving_physical, ch->saving_weapons ); fprintf( fp, "Favor %d\n", ch->pcdata->favor ); fprintf( fp, "Balance %d\n", ch->pcdata->balance ); fprintf( fp, "Glory %d\n", ch->pcdata->quest_curr ); fprintf( fp, "MGlory %d\n", ch->pcdata->quest_accum ); fprintf( fp, "Hitroll %d\n", ch->hitroll ); fprintf( fp, "Damroll %d\n", ch->damroll ); fprintf( fp, "Tattoo %ld\n", ch->tattoo ); fprintf( fp, "Armor %d\n", ch->armor ); fprintf( fp, "Remorts %d\n", ch->remorts ); if( ch->wimpy ) fprintf( fp, "Wimpy %d\n", ch->wimpy ); if( ch->deaf ) fprintf( fp, "Deaf %d\n", ch->deaf ); if( ch->pcdata && ch->pcdata->outcast_time ) fprintf( fp, "Outcast_time %ld\n", ch->pcdata->outcast_time ); fprintf( fp, "Password %s~\n", ch->pcdata->pwd ); if( ch->pcdata->rank && ch->pcdata->rank[0] != STRING_NULL ) fprintf( fp, "Rank %s~\n", ch->pcdata->rank ); if( ch->pcdata->bestowments && ch->pcdata->bestowments[0] != STRING_NULL ) fprintf( fp, "Bestowments %s~\n", ch->pcdata->bestowments ); fprintf( fp, "Title %s~\n", ch->pcdata->title ); if( ch->pcdata->homepage && ch->pcdata->homepage[0] != STRING_NULL ) fprintf( fp, "Homepage %s~\n", ch->pcdata->homepage ); if( ch->pcdata->min_snoop ) fprintf( fp, "Minsnoop %d\n", ch->pcdata->min_snoop ); if( ch->pcdata->prompt && *ch->pcdata->prompt ) fprintf( fp, "Prompt %s~\n", ch->pcdata->prompt ); if( ch->pcdata->fprompt && *ch->pcdata->fprompt ) fprintf( fp, "FPrompt %s~\n", ch->pcdata->fprompt ); if( ch->pcdata->pagerlen != 24 ) fprintf( fp, "Pagerlen %d\n", ch->pcdata->pagerlen ); fprintf( fp, "\n" ); /* * If ch is ignoring players then store those players */ { IGNORE_DATA *temp; for( temp = ch->pcdata->first_ignored; temp; temp = temp->next ) { fprintf( fp, "Ignored %s~\n", temp->name ); } } if( IS_IMMORTAL( ch ) ) { if( ch->pcdata->bamfin && ch->pcdata->bamfin[0] != STRING_NULL ) fprintf( fp, "Bamfin %s~\n", ch->pcdata->bamfin ); if( ch->pcdata->bamfout && ch->pcdata->bamfout[0] != STRING_NULL ) fprintf( fp, "Bamfout %s~\n", ch->pcdata->bamfout ); if( ch->trust ) fprintf( fp, "Trust %d\n", ch->trust ); if( ch->pcdata && ch->pcdata->restore_time ) fprintf( fp, "Restore_time %ld\n", ch->pcdata->restore_time ); fprintf( fp, "WizInvis %d\n", ch->pcdata->wizinvis ); if( ch->pcdata->r_range_lo && ch->pcdata->r_range_hi ) fprintf( fp, "RoomRange %d %d\n", ch->pcdata->r_range_lo, ch->pcdata->r_range_hi ); if( ch->pcdata->o_range_lo && ch->pcdata->o_range_hi ) fprintf( fp, "ObjRange %d %d\n", ch->pcdata->o_range_lo, ch->pcdata->o_range_hi ); if( ch->pcdata->m_range_lo && ch->pcdata->m_range_hi ) fprintf( fp, "MobRange %d %d\n", ch->pcdata->m_range_lo, ch->pcdata->m_range_hi ); } if( ch->pcdata->deity_name && ch->pcdata->deity_name[0] != STRING_NULL ) fprintf( fp, "Deity %s~\n", ch->pcdata->deity_name ); if( ch->pcdata->clan_name && ch->pcdata->clan_name[0] != STRING_NULL ) fprintf( fp, "Clan %s~\n", ch->pcdata->clan_name ); fprintf( fp, "Flags %d\n", ch->pcdata->flags ); if( ch->pcdata->release_date ) fprintf( fp, "Helled %d %s~\n", ( int )ch->pcdata->release_date, ch->pcdata->helled_by ); fprintf( fp, "PKills %d\n", ch->pcdata->pkills ); fprintf( fp, "PDeaths %d\n", ch->pcdata->pdeaths ); if( get_timer( ch, TIMER_PKILLED ) && ( get_timer( ch, TIMER_PKILLED ) > 0 ) ) fprintf( fp, "PTimer %d\n", get_timer( ch, TIMER_PKILLED ) ); fprintf( fp, "MKills %d\n", ch->pcdata->mkills ); fprintf( fp, "MDeaths %d\n", ch->pcdata->mdeaths ); fprintf( fp, "IllegalPK %d\n", ch->pcdata->illegal_pk ); fprintf( fp, "AttrPerm %d %d %d %d \n", ch->perm_str, ch->perm_int, ch->perm_dex, ch->perm_con ); fprintf( fp, "AttrMod %d %d %d %d \n", ch->mod_str, ch->mod_int, ch->mod_dex, ch->mod_con ); if( ch->desc && ch->desc->host ) fprintf( fp, "Site %s\n", ch->desc->host ); else fprintf( fp, "Site (Link-Dead)\n" ); for( paf = ch->first_affect; paf; paf = paf->next ) { if( paf->type >= 0 && ( skill = get_skilltype( paf->type ) ) == NULL ) continue; if( paf->type >= 0 && paf->type < TYPE_PERSONAL ) fprintf( fp, "AffectData '%s' %3d %3d %3d %s\n", skill->name, paf->duration, paf->modifier, paf->location, print_bitvector( &paf->bitvector ) ); else fprintf( fp, "Affect %3d %3d %3d %3d %s\n", paf->type, paf->duration, paf->modifier, paf->location, print_bitvector( &paf->bitvector ) ); } fprintf( fp, "Coordinates %d %d %d\n", ch->x, ch->y, ch->map ); if( ch->pcdata->nextquest != 0 ) fprintf( fp, "NextQuest %d\n", ch->pcdata->nextquest ); for( sn = 1; sn < top_sn; sn++ ) { if( skill_table[sn]->name && ch->pcdata->learned[sn] > 0 ) switch ( skill_table[sn]->type ) { default: fprintf( fp, "Skill %d '%s'\n", ch->pcdata->learned[sn], skill_table[sn]->name ); break; case SKILL_SPELL: fprintf( fp, "Spell %d '%s'\n", ch->pcdata->learned[sn], skill_table[sn]->name ); break; case SKILL_WEAPON: fprintf( fp, "Weapon %d '%s'\n", ch->pcdata->learned[sn], skill_table[sn]->name ); break; case SKILL_TONGUE: fprintf( fp, "Tongue %d '%s'\n", ch->pcdata->learned[sn], skill_table[sn]->name ); break; } } fprintf( fp, "End\n\n" ); return;}
  9. Does God Exist? I think that this is the wrong question to be asking on the grounds that there is no way to prove for or against any position on the grounds that there is no direct evidence to support either claim. However, i think a better question might be: Should i believe in a God if one does exist? I think for this question there is at least a rational answer and one that can be worked out mathematically. Pascal's Wager makes an attempt at answering this very question: SEE: https://plato.stanford.edu/entries/pascal-wager/ for original text, there are many other sites which deal with the subject of Pascals Wager.
  10. Windows 7 and Andlinux. Best of both worlds and no need to reboot ever.
  11. Forget about learning a language, that is the wrong way to go about learning to program. Learn the fundamentals of programing, algorithm design and pure maths, then design a program and then choose the best language for the job. If you understand the fundamentals of programming, you can then pick up any language you like and learn it in no time at all. Ultimately pick the highest order language that will fulfill the requirements of your design, why use C/C++ and assembler if Ruby or Lua will achieve your design goals, its all about writing the least amount of code. After all, this is a school project, and you should be trying to MIN/MAX, Minimum effort for Maximum results.
  12. Ruby is an awesome PROGRAMMING LANGUAGE and anyone who thinks that it is only good for scripting simple tasks is being very naive and does not truly understand the subtitles of this debate. Ruby is main stream and there are a lot of companies that use if in production environments. It has its strengths and weaknesses like any programming language and is very useful in certain applications. I mostly work with C/C++, but lately i have worked on a number of Ruby apps, and in certain applications it is brilliant, text handling is just one thing it does well, and for anyone who has worked with strings in C and then tried Ruby will understand just what i mean. No writing 100's of lines of handler code to do simple things, not convoluted iterations over pointers to search for elements in a string, just simple clean methods to do these things. http://forums.xisto.com/no_longer_exists/ Follow the link for Alexa rankings of sites that use Ruby on Rails, interestingly Twitter is on the top of the list, i think that alone shows the true power the Ruby has.
  13. Can you show your compiler output, errors and warnings along with the code, so that we can work out what your doing wrong and replicate it, the more information you show, the easier it will be to show you whats wrong and why. Also, make sure to bookmark this site http://www.cplusplus.com/ it has just about everything you will ever need to know about any reserved work in C/C++.
  14. here is a nice colour parser. /* xterm 256 color code parser by Igor van den Hoven No restrictions on use. 02/11/2009*//* Use <aaa> to <fff> for RGB foreground colors and for RGB background colors yse <AAA> to <FFF>. Use <g00> to <g23> for grayscale foreground colors and <G00> to <G23> for grayscale background colors. With xterm256 disabled ASCII colors are emulated.*//* Syntax: <xyz> with x, y, z being parameters Parameter 'x': ASCII code 0 - Reset all colors and codes to default 1 - Bold 2 - Dim 4 - Underscore 5 - Blink 7 - Reverse 8 - Skip (use previous code) Parameter 'y': Foreground color Parameter 'z': Background color 0 - Black 5 - Magenta 1 - Red 6 - Cyan 2 - Green 7 - White 3 - Yellow 8 - Skip 4 - Blue 9 - Default*/#include <string.h>#include <stdlib.h>#include <stdio.h>#define BUFFER_SIZE 10000void substitute_color(char *string, char *result, int xterm256){ char buffer[BUFFER_SIZE], *pti, *pto; int cnt; pti = string; pto = string != result ? result : buffer; while (*pti) { switch (*pti) { case '<': if (isdigit(pti[1]) && isdigit(pti[2]) && isdigit(pti[3]) && pti[4] == '>') { if (pti[1] != '8' || pti[2] != '8' || pti[3] != '8') { *pto++ = '\033'; *pto++ = '['; switch (pti[1]) { case '2': *pto++ = '2'; *pto++ = '2'; *pto++ = ';'; break; case '8': break; default: *pto++ = pti[1]; *pto++ = ';'; } switch (pti[2]) { case '8': break; default: *pto++ = '3'; *pto++ = pti[2]; *pto++ = ';'; break; } switch (pti[3]) { case '8': break; default: *pto++ = '4'; *pto++ = pti[3]; *pto++ = ';'; break; } pto--; *pto++ = 'm'; } pti += 5; } else if (pti[1] >= 'a' && pti[1] <= 'f' && pti[2] >= 'a' && pti[2] <= 'f' && pti[3] >= 'a' && pti[3] <= 'f' && pti[4] == '>') { if (xterm256) { *pto++ = '\033'; *pto++ = '['; *pto++ = '3'; *pto++ = '8'; *pto++ = ';'; *pto++ = '5'; *pto++ = ';'; cnt = 16 + (pti[1] - 'a') * 36 + (pti[2] - 'a') * 6 + (pti[3] - 'a'); *pto++ = '0' + cnt / 100; *pto++ = '0' + cnt % 100 / 10; *pto++ = '0' + cnt % 10; *pto++ = 'm'; } else { *pto++ = '\033'; *pto++ = '['; cnt = pti[1] - 'a' + pti[2] - 'a' + pti[3] - 'a'; *pto++ = '0' + ((pti[1] > 'd' || pti[2] > 'd' || pti[3] > 'd')); *pto++ = ';'; *pto++ = '3'; *pto++ = '0' + (cnt && pti[1] >= pti[2] ? pti[1] >= pti[3] : 0) + (cnt && pti[2] >= pti[1] ? pti[2] >= pti[3] : 0) * 2 + (cnt && pti[3] >= pti[2] ? pti[3] >= pti[1] : 0) * 4; *pto++ = 'm'; } pti += 5; } else if (pti[1] >= 'A' && pti[1] <= 'F' && pti[2] >= 'A' && pti[2] <= 'F' && pti[3] >= 'A' && pti[3] <= 'F' && pti[4] == '>') { if (xterm256) { *pto++ = '\033'; *pto++ = '['; *pto++ = '4'; *pto++ = '8'; *pto++ = ';'; *pto++ = '5'; *pto++ = ';'; cnt = 16 + (pti[1] - 'A') * 36 + (pti[2] - 'A') * 6 + (pti[3] - 'A'); *pto++ = '0' + cnt / 100; *pto++ = '0' + cnt % 100 / 10; *pto++ = '0' + cnt % 10; *pto++ = 'm'; } else { *pto++ = '\033'; *pto++ = '['; cnt = pti[1] - 'A' + pti[2] - 'A' + pti[3] - 'A'; if (pti[1] > 'D' || pti[2] > 'D' || pti[3] > 'D') { *pto++ = '1'; *pto++ = '0'; } else { *pto++ = '4'; } *pto++ = '0' + (cnt && pti[1] >= pti[2] ? pti[1] >= pti[3] : 0) + (cnt && pti[2] >= pti[1] ? pti[2] >= pti[3] : 0) * 2 + (cnt && pti[3] >= pti[2] ? pti[3] >= pti[1] : 0) * 4; *pto++ = 'm'; } pti += 5; } else if (pti[1] == 'g' && isdigit(pti[2]) && isdigit(pti[3]) && pti[4] == '>') { if (xterm256) { *pto++ = '\033'; *pto++ = '['; *pto++ = '3'; *pto++ = '8'; *pto++ = ';'; *pto++ = '5'; *pto++ = ';'; cnt = 232 + (pti[2] - '0') * 10 + (pti[3] - '0'); *pto++ = '0' + cnt / 100; *pto++ = '0' + cnt % 100 / 10; *pto++ = '0' + cnt % 10; *pto++ = 'm'; } else { *pto++ = '\033'; *pto++ = '['; cnt = (pti[2] - '0') * 10 + (pti[3] - '0'); *pto++ = '0' + (cnt / 6 != 2); *pto++ = ';'; *pto++ = '3'; *pto++ = '0' + (cnt / 12 ? 7 : 0); *pto++ = 'm'; } pti += 5; } else if (pti[1] == 'G' && isdigit(pti[2]) && isdigit(pti[3]) && pti[4] == '>') { if (xterm256) { *pto++ = '\033'; *pto++ = '['; *pto++ = '4'; *pto++ = '8'; *pto++ = ';'; *pto++ = '5'; *pto++ = ';'; cnt = 232 + (pti[2] - '0') * 10 + (pti[3] - '0'); *pto++ = '0' + cnt / 100; *pto++ = '0' + cnt % 100 / 10; *pto++ = '0' + cnt % 10; *pto++ = 'm'; } else { *pto++ = '\033'; *pto++ = '['; cnt = (pti[2] - '0') * 10 + (pti[3] - '0'); if (cnt / 6 == 2) { *pto++ = '4'; } else { *pto++ = '1'; *pto++ = '0'; } *pto++ = '0' + (cnt / 12 ? 7 : 0); *pto++ = 'm'; } pti += 5; } else { *pto++ = *pti++; } break; default: *pto++ = *pti++; break; } } *pto = 0; if (string == result) { strcpy(result, buffer); } return;}/* Compile for an example display of xterm 256 colors*/int main(int argc, char **argv){ char buf[BUFFER_SIZE], tmp[BUFFER_SIZE], out[BUFFER_SIZE]; int x, y, z; /* Foreground */ buf[0] = 0; for (x = 'a'; x <= 'f'; x++) { for (y = 'a'; y <= 'f'; y++) { for (z = 'a'; z <= 'f'; z++) { sprintf(tmp, "<%c%c%c><<880>%c%c%c> ", x, y, z, x, y, z); strcat(buf, tmp); } strcat(buf, "\n"); } } substitute_color(buf, out, 1); printf("%s\n", out); substitute_color(buf, out, 0); printf("%s\n", out); buf[0] = 0; for (x = 0; x < 24; x++) { sprintf(tmp, "<g%02d>%02d<088> ", x, x); strcat(buf, tmp); } substitute_color(buf, out, 1); printf("%s\n", out); substitute_color(buf, out, 0); printf("%s\n", out); /* Background */ buf[0] = 0; for (x = 'A'; x <= 'F'; x++) { for (y = 'A'; y <= 'F'; y++) { for (z = 'A'; z <= 'F'; z++) { sprintf(tmp, "<%c%c%c><<878>%c%c%c><880> ", x, y, z, x, y, z); strcat(buf, tmp); } strcat(buf, "\n"); } } substitute_color(buf, out, 1); printf("%s\n", out); substitute_color(buf, out, 0); printf("%s\n", out); buf[0] = 0; for (x = 0; x < 24; x++) { sprintf(tmp, "<G%02d>%02d<088> ", x, x); strcat(buf, tmp); } substitute_color(buf, out, 1); printf("%s\n", out); substitute_color(buf, out, 0); printf("%s\n", out); return 0;}
  15. Assuming that you know how to program in C, the way to colorize text within a C program is to use ansi escape sequences. See: https://en.wikipedia.org/wiki/ANSI_escape_code Basically you set up a bunch of defines that you put in a header and include it in any .c files that need color in them. /* These are the ANSI codes for foreground text colors */ #define ANSI_BLACK "\033[0;30m" #define ANSI_DRED "\033[0;31m" #define ANSI_DGREEN "\033[0;32m" #define ANSI_ORANGE "\033[0;33m" #define ANSI_DBLUE "\033[0;34m" #define ANSI_PURPLE "\033[0;35m" #define ANSI_CYAN "\033[0;36m" #define ANSI_GREY "\033[0;37m" #define ANSI_DGREY "\033[1;30m" #define ANSI_RED "\033[1;31m" #define ANSI_GREEN "\033[1;32m" #define ANSI_YELLOW "\033[1;33m" #define ANSI_BLUE "\033[1;34m" #define ANSI_PINK "\033[1;35m" #define ANSI_LBLUE "\033[1;36m" #define ANSI_WHITE "\033[1;37m" #define ANSI_RESET "\033[0m" #define ANSI_BOLD "\033[1m" /* For bright color stuff */ #define ANSI_ITALIC "\033[3m" /* Italic text */ #define ANSI_UNDERLINE "\033[4m" /* Underline text */ #define ANSI_BLINK "\033[5m" /* Blinking text */ #define ANSI_REVERSE "\033[7m" /* Reverse colors */ #define ANSI_STRIKEOUT "\033[9m" /* Overstrike line */ Then you can use these colors like this, printf ( var, "%s this is red text", ANSI_RED); This is by no means a really elegant way to do things, if you want something better you would need to write your own colour passer, that itterates over text and extracts color coders and then outputs correctly, the way i achieve this is to have my own output functions that do all this for me. That way i can do somethign like this, MY_printf ( var, "This is <G26> grey text: ); The MY_printf function iterates over the char * removing the <G26> and replacing it with the correct escape sequence.
  16. Why ask when you can google and find out for yourself, Here is the developers website http://hiisi-proxy.blogspot.de/ the one thing i fond kind of interesting is that an Asian software developer would name his software after a Finnish mythological creature.
  17. I have looked at it and even had a play with it, but i have been using firefox now for just about forever and it would take something special to get me to change. Chrome is just not that for me, Kudos to those who like it and use it, anything is better than M$ xplorer.
  18. Are you talking about in the public school system? The private school system? At home? And ultimately who would be doing the teaching? I can see a mass of problems with all of these situations and IMO it should be left the the parents of the child to decide which religion they should be taught. A child of 10 is in no way capable of making any rational decision in regards to complex issues such as religion, so teaching them aspects of 3 or more religions is only going to lead to confusion in them, let alone trying to teach them aspects of 30 or more religions. Most liberal democracies have the separation of church and state for every good reasons, the state is in no such position to promote one particular religion over another and the school system being a part of the state is then not a vehicle to push religion. In a liberal democracy, it is the responsibility of the parents to decide which religion their children learn, its a system that has worked well for 100's of years and one that is more than capable of working into the future.
  19. While america might have been formed with the notion of equality for all, it is also a racist and repressive society, which has been responsible for the genocide of Native Indians, slavery, racism against blacks, hispanics, asians to name but a few things. The notion of a bill of rights or human rights is an honerable thing to have, but the question then is, what things do we consider to be of intrinsic value such that they need protecting. 1. Freedom of speech: gives every crackpot the right to express their views, even racist child raping anti Semitic Hitler worshipers. 2. Freedom of religion: as above, it gives The Church of the racist child raping anti Semitic Hitler worshipers a right to exist. 3. Freedom of petition: allows corporations to lobby the government to push their views which may be opposite to the will of the people and against the greater communal good. 4. The right to bear arms: This might have been needed in 1600's when bears were a problem, but in a modern society guns really have no place, all they do is breed crime and violence. Ever wondered why there are so many gun murders in the USA, take a look at your bill of rights. here in Australia, we have fairly tight gun control and because of this, we have much less gun related violence. 5. Prohibition of excessive bail and cruel and unusual punishment: Gitmo and waterboarding anyone? The death penalty? Liberalism, Socialism, Communism, Fascism, insert your ism here, all have good points and bad points, Democracy (Liberalism) is not the necessarily the best political system, it has many failings the least of which, the very idea of voting puts people into a prisoners delema situation. Which is why you find in places like the USA, very few people bother to vote. Which is kind of ironic considering the very few people participate in the freedoms the US they consider to be important. So getting to the OP's question. Why does the US try and educate its citizens to hate communism. 2 things, fear of things that are different to them and also because it takes power away from the people who posses it, US CORPORATIONS.
  20. LOL way to necro a year old thread, However, strong words like "BEST" are not the way to decide on what programming language is suitable for the task your working on. Programming languages are tools, and like other tools, some are better for a job than others, sure you could fix your car with a tomahawk and adjustable wrench, but it is much more efficient to use the correct sized spanners to undo nuts and bolts. Making software is exactly the same as fixing your car, firstly you need to define your problem and then find the best tool for the job. All programming languages can be used to make games, but depending on the type of game and how much experience you have as a programmer, one tool may be more efficient than another. I have used C, C++, Lua and Ruby in games programming, mostly i use C, not because it is the most suitable for the game i am programming, but because someone else had written a networking subsystem that i could use, and i do not have enough of understanding of network communications to write my own from scratch. So define your problem and then look for the best tool for the job, because learning a new language is not all that difficult if you can program all ready and can understand basic programming concepts.
  21. I shot him an email, you should here from him in a day or so, good luck with the project.
  22. Its like comparing a Big Mac and a Wopper, they are both hamburgers and both will make you fat. LOL In reality they can both do the same sorts of things in slightly different ways and it just comes down to what language you have learned as a programmer. There are a lot of advantages to using ruby and rails for a web game, mostly you can separate out the logic from the page rendering and have a true server/client setup, which IMO scales better. http://forums.xisto.com/no_longer_exists/ this explains it better than i ever could
  23. I know a really good ruby programmer, who might be able to help you out at a VERY reasonable price, i will get in contact with him and point him in this direction. Making a web game with rails and mongrel is kind of trivial i guess.
  24. IT would seem that you do not really understand the scope of what your wanting to do, so i will offer you some suggestions based on that premise. Firstly, making a game, is not a trivial undertaking, you need to be multi skilled in many different facets, like programming, web mastering and how to run a server. So here is my list of things to learn.1. LINUX BASICS: you need to have a solid grasp of the basics of Linux, you need to know how to navigate about using the command line, where to things, editing files, svn/cvs, ssh and ftp. This is a BARE MINIMUM, you could toss onto that instalation of software and basic server configuration if you ever plan on running your own server/VPS, which, if your game is successful or you require features that most webhosts will not allow, is something you will eventually need. Also, FORGET WAMPSERVER, i would never recommend anyone use this, because it does not teach you PROPPER linux basics that your going to need to survive when your running your own server. Use either Andlinux, or Cygwin. Both of these install as windows applications but are fully fledged linux environments. I have used Andlinux for a long time now for the development of my game server, 60K lines of C code and growing.2. PROGRAMMING: If you do not understand how to do all the above, you will find it pretty hard with this part. All i will say here, is get some books, take some programming classes, learn math and work hard at it. This is by no means a trivial thing to do. I am self taught, have been programming for 10 years now, and im always amazed at how much i do no know.3. DESIGN YOUR GAME: This is something you should do before you even look at what tools to use for a game, designed out all parameters of your game on paper first down to the finest of details, by having a design document which clearly lays out all critical elements of your game, you will be more likely to have a game that is cohesive. A design document will also show prospective team members what your game is about and to give them a ready reference to look to when making decisions about new features. 4. INTERNSHIP: There can not be enough said about this, Before you start out on your own project, JOIN AN EXISTING PROJECT and learn some of the above skills. There are literally 10000's of games being developed by people on the web, and you can be assured there is someone doing something similar to what you would like to do already. So rather than reinvent the wheel, join them, most game devs are happy to take on interns, to show them the ropes, to teach them some basics and hopefully see their games advanced closer to a completed product.My last comment is do not give up, this is not going to happen over night, its going to take you 2 years before you have enough of a skill set to even start out on your own, and then it will take you 3 or more years to bring your game to a stage where it is ready to be played py people. My own game has been underdevelopment now for about 3 years, and hopefully by Christmas this year it will be ready for beta testing. Making a game is hard work, its slow and oftentimes painful, but if you do it as a hobby and at your own pace, it can be very rewarding.
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.