Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 31

Thread: A PGD Challenge without Scoring and Judges?

  1. #11
    Quote Originally Posted by SilverWarior View Post
    I like your idea but you do have to realize that AI development is far from easy. Sure making AI which controll simple movments is easy but if you wan't anything more than that it does becomes quite demmanding. So I'm afraid that many pepole with low programming skils would simply avoid participating in this challenge.
    AI is as complicated as you make it. The game for such a challenge must be simple enough to allow for simple AIs. This is a game development forum after all. If a person can't make a simple AI, I fail to see how that person can make an entire small game in one month.

    Quote Originally Posted by SilverWarior View Post
    Anywhay do you volunteer yourself to write such a game to alow us to do this challenge?
    I do have an idea of making game similar to Colobot where the goal of the game is for you to write boots AI. In Colobot you need to write boots ai using C++ so I thought of using Pascal Script for my game.
    But before I can do that I still need to learn a few things about the game development before I would be able to finish any of my game ideas.
    I may do it or at least help with creating the game and API, but like everybody else, I have other things to attend.
    I'm not familiar with Colobot, but judging by the few screenshots I saw, it looks much more advanced than what would be needed for this challenge. But in general bot games have been popular for many years. There even was a bot game that used Pascal Script a few years back.
    For this challenge I imagine a game similar to the Ant game for the Google AI Challenge. The biggest challenge for making the game would properly be to create an interface to allow entries made in various Pascal dialects. I would say that at least Delphi, FPC and Oxygene must be supported. One solution would be to use a client/server paradigm and use sockets for communication.
    Imagine I've written something clever here inspiring you to make something awesome. If that happens give me credits

  2. #12
    Simplest way to handle AI bots i have seen, is to use use writeln(), readln(). Host application starts all bots, and writes/reads to each, using those simple console commands. First communication could be from host, who could assign turn number for each bot. Bots writeln() their moves and wait for enemy moves with readln(). Host writeln()'s other bots where he moved, and so on. Point being, you don't need TCP or anything complicated.

  3. #13
    Quote Originally Posted by pstudio View Post
    I'm not familiar with Colobot, but judging by the few screenshots I saw, it looks much more advanced than what would be needed for this challenge.
    Yes Colobot does have some decent looks but the main reason for this is to make it atractive for other pepole to actually use it. From waht I know Colobot was made by a higschool proffesor as a way to atract students into C++ programing. And it can be actually used even by the pepole who never had any prior programming experience. While in most cases you don't need to do any complicated AI in colobot (just MoveTo, Grab, Drop, TurnLeft, TurnRight, Shoot are enough to end most missions), but if you want you can write a preety damn compilcated AI (several bots working in groups).

    Quote Originally Posted by pstudio View Post
    There even was a bot game that used Pascal Script a few years back.
    Can you please remember the name of that game. I have been searching many times to find any such game which would use Pascal language for AI development and I had no luck finding any.

    Quote Originally Posted by pstudio View Post
    The biggest challenge for making the game would properly be to create an interface to allow entries made in various Pascal dialects. I would say that at least Delphi, FPC and Oxygene must be supported. One solution would be to use a client/server paradigm and use sockets for communication.
    Quote Originally Posted by User137 View Post
    Simplest way to handle AI bots i have seen, is to use use writeln(), readln(). Host application starts all bots, and writes/reads to each, using those simple console commands. First communication could be from host, who could assign turn number for each bot. Bots writeln() their moves and wait for enemy moves with readln(). Host writeln()'s other bots where he moved, and so on. Point being, you don't need TCP or anything complicated.
    I don't think ReadLn and WriteLn would be the best choice for this. Yes they can be quickly implemented but they do pose some limitation (the amount od data it can be transmited using this approach). Lets say that you try to develop some more advanced AI that can contoll several units as a group (to cooperate). For doing this nicely you need to be able to retrive the current status for all of theese units (get information about their surroundings) at once and then send varios commands to all of theese units.

    If you ask me I think it would be best to use Dynamic Link Libraries (DLLs). From what I know all of Pascal Development tools are capable of compiling Dynamic Link Librarry.
    But for this to work the game itself should alow the DLL to retrieve needed information so that decisions can be processed and then returned back using some standardiesd procedure. And if you allow theese DLLs to actually be able to store some presistant data you can even write yourself procedures whoch would alow you to actually compile yourself a map so that you can coordinate your units better.

  4. #14
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    the AI you are referring to is comprised of many systems operating together, you have various path finding and steering algorithms for creating 'intelligent' movement from place to place in the environment, this usually operates as a service to higher level code such as state machines, priority lists, scripts etc

    Interaction between entities happens at different levels, to calculate the path for the player to take to walk around an enemy, avoiding intersection of geometry is a lower level from game like interaction such as instructing an enemy to attack the player.

    Also you'd use/have different approaches/restrictions depending on how many AI entities you plan on processing and the kind of environment that they inhabit.

    IE a dynamic destructible environment requires more work for AI to manage than a static environment. Some situations allow you to cache paths across maps, others not so much.

    At the highest level it's all game specific, imagine skyrim and enemy AI casting appropriate spells for the situation etc
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  5. #15
    Quote Originally Posted by SilverWarior View Post
    Can you please remember the name of that game. I have been searching many times to find any such game which would use Pascal language for AI development and I had no luck finding any.
    Sorry, I can't remember the name. Thinking back I Think the game used Delphi Web Script. It was a 3D game where you hd to write the AI for a fighting robot.

    Quote Originally Posted by SilverWarior View Post
    If you ask me I think it would be best to use Dynamic Link Libraries (DLLs). From what I know all of Pascal Development tools are capable of compiling Dynamic Link Librarry.
    But for this to work the game itself should alow the DLL to retrieve needed information so that decisions can be processed and then returned back using some standardiesd procedure. And if you allow theese DLLs to actually be able to store some presistant data you can even write yourself procedures whoch would alow you to actually compile yourself a map so that you can coordinate your units better.
    I'm not sure Oxygene can be compiled into linkable libraries. You would also have to make sure that there's no licitation on OS.

    Quote Originally Posted by phibermon View Post
    the AI you are referring to is comprised of many systems operating together, you have various path finding and steering algorithms for creating 'intelligent' movement from place to place in the environment, this usually operates as a service to higher level code such as state machines, priority lists, scripts etc

    Interaction between entities happens at different levels, to calculate the path for the player to take to walk around an enemy, avoiding intersection of geometry is a lower level from game like interaction such as instructing an enemy to attack the player.

    Also you'd use/have different approaches/restrictions depending on how many AI entities you plan on processing and the kind of environment that they inhabit.

    IE a dynamic destructible environment requires more work for AI to manage than a static environment. Some situations allow you to cache paths across maps, others not so much.

    At the highest level it's all game specific, imagine skyrim and enemy AI casting appropriate spells for the situation etc
    If it is a game like the Ant game then yes; it is built of multiple sub systems. However the game could be anything. If it is a simple board game the fode needed to make a working AI will also be simple. I define a working AI as a program that can make a valid move each turn. It may not be a smart move but at least the game can continue running.
    I will however point out that it will of course not be easy to write a really good AI. It is an AI challenge afterall.

    You make some valid points that need to be considered if we were to hold an AI challenge. But do you have an overall point I'm missing? It's not clear to me if you think the AI challenge is a bad suggestion or if you're simple pointing out things that must be considered.

    Anyway, the AI idea was just a suggestion. A more traditional game making contest is fine by me. Mayor we could also try a more jam like approach and lower the time the challenge will last. Maybe a week or weekend challenge?
    Imagine I've written something clever here inspiring you to make something awesome. If that happens give me credits

  6. #16
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    Quote Originally Posted by pstudio View Post
    You make some valid points that need to be considered if we were to hold an AI challenge. But do you have an overall point I'm missing? It's not clear to me if you think the AI challenge is a bad suggestion or if you're simple pointing out things that must be considered.
    Only points to be considered, my overall theme is that it would be difficult to judge different examples of AI against each other due to the large number of disciplines involved.

    Here's my idea for a compo :

    take a simple working pascal game with available source.

    People submit their own modifed/extended version of the game.

    --

    Would make for a tight compo with a nice even playing field.

    --
    A text adventure compo would be good too, just to see the range of ideas
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  7. #17
    What I'm saying is that while AI challenge would be nice for some of us it won't be for others. Since making of even easy AI requires good knowlege of programing and understanding how computers are processing information it would be quite hard for a newbie programers to do anything useful.
    You need to understand something. The best way for us as comunity to atract new members is to organize this kind of challenges so that everyone has atleast a decent chance of sucsseding.
    I myself have now been learning of pascal programing for about 10 years and I still have quite a lot of problems designing AI for one of my games (making proper decision to chose which goods to buy and where to sell them, deciding how planetary colonies eveolve, etc).

  8. #18
    I am with @pstudio here. I even suggested the same idea in the other thread. The game really does not have to be that complicated. I remember such contest in the 8 bit Atari times.
    I think the biggest problem is that someone must have to prepare the core mechanism. We could do it all togheter, we could host this project on some site and commit changes there.
    Last edited by wodzu; 06-01-2013 at 09:29 AM. Reason: Corrections.

  9. #19
    Quote Originally Posted by wodzu View Post
    We could do it all togheter, we could host this project on some site and commit changes there.
    That is very easy with Google docs today. People can write the same file at the same time, and that's huge benefit over clumsy to setup SVN and similar. You don't need to start a real project page for it either, but share 1 folder for more people with edit rights.

  10. #20
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25
    Well the AI bot ideas is something to consider for a future event I guess. Of course if someone wanted to co-ordinate, run and organize a separate PGD event such as an AI competition with it's own "arena" platform to run it on that could be something that could be discussed. Why not create a separate thread to see what level of interest there is? The community could support more than 1 type of event if there is enough people willing to participate.

    So for a "game jam" style of challenge for the next PGD Challenge event, show of hands who would be in for that? And when is a good time?
    Jason McMillen
    Pascal Game Development
    Co-Founder





Page 2 of 4 FirstFirst 1234 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •