Go to Post There MUST BE room for mistakes. That’s one of the best ways to learn. - Ken Leung [more]
Home
Go Back   Chief Delphi > Other > FIRST-related Organizations
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 18-07-2004, 07:43
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
[FVG]: High-level design

In response to Mtrawls pleas (whines ), I've decided to create this thread. We need to decide on a high-, top-level structure. This includes things like class relationships, general program flow, etc.

I'm not sure how much we can discuss yet. I've just started to read the CS documentation, and we'll be slightly forced to work with however it does. But, if you have any input, go ahead, say something... I'll try to create some stuff after a while.
__________________

Reply With Quote
  #2   Spotlight this post!  
Unread 18-07-2004, 10:38
Mike Ciance Mike Ciance is offline
Registered User
FRC #0025 (Raider Robotix)
Team Role: Alumni
 
Join Date: Apr 2003
Rookie Year: 2002
Location: North Brunswick, NJ
Posts: 693
Mike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant future
Send a message via AIM to Mike Ciance
Re: [FVG]: High-level design

Quote:
Originally Posted by Texan
In response to Mtrawls pleas (whines ), I've decided to create this thread. We need to decide on a high-, top-level structure. This includes things like class relationships, general program flow, etc.

I'm not sure how much we can discuss yet. I've just started to read the CS documentation, and we'll be slightly forced to work with however it does. But, if you have any input, go ahead, say something... I'll try to create some stuff after a while.
i know only a small amount of C, and i dont have thatmuch programming experience all together, but i guess the program flow would be something like:
>get player 1 input
>getdata robot 1 stats
>move robot 1
>calculate AI 2
>getdata robot 2 stats
>move robot 2
>calculate AI 3
>getdata robot 3 stats
>move robot 3
>calculate AI 4
>getdata robot 4 stats
>move robot 4
>getscore
>display score

of course many of these are really sets of commands, but still, a basic structure is what we need right now. also i'm sure there is stuff i missed.

hey, look who listed stuf without the code for once
Reply With Quote
  #3   Spotlight this post!  
Unread 18-07-2004, 14:34
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
Re: [FVG]: High-level design

Well, seeing as the thread was started in my honor, I guess I'll respond (or maybe it was just to get me to shut up? )

But, it seems to me so long as you ignore the graphics for now, and just concentrate on how the simulation will proceed, knowledge of CS is mostly irrelevent. I'll try to get things started off.

One of the most obvious elements you will have is Robot. What must Robot include, i.e., how does your game define a robot? Does it need a DriveTrain, or will you just hardcode certain speed parameters into it? Should it have a Color type, controlled by Match, to determine what alliance it is on? Should it keep a record of its past success, or its score -- or maybe you want some larger Score object to keep everybody's score? There are different design decisions like this, that all depend on how object oriented you want it, your tastes, and how you design the rest of the system. So most of this process will have to change as it evolves, if that sentence makes any sense, which is doubtful.

Okay, then you'll need a Match element. afflictionblade has detailed some of what could be Match->Step (). (Oh, and keep in mind that how you have it, the AI for robot 4 gets to decide his move after everyone else has made thiers, meaning he always has more information than the others.) But Match will need other things. It will need some control like what is provided by FIRST, e.g., to disable robots who break certain rules, to start and stop matches, etc. A Timer. Something akin to a Ref. ...

But rather than start from the robot like I did, you need to also start from the top. So let's think about the Tournament structure for a moment. Like I mentioned earlier, it will need some Scheduler. Some larger Score element perhaps. Etc.

Also, now that I think of it, -- how do you plan to handle autonomous mode? It seems it would be vastly easier to just forgo that formality, since programming it would be quite difficult indeed, at initial inspection. Well, I don't want to do all of this, afterall it is your project. This is just a tiny start to get you thinking along the lines I think you should be thinking in ...

/end whine (and by the way, whine hardly is not effective)
Reply With Quote
  #4   Spotlight this post!  
Unread 18-07-2004, 15:33
Mike Ciance Mike Ciance is offline
Registered User
FRC #0025 (Raider Robotix)
Team Role: Alumni
 
Join Date: Apr 2003
Rookie Year: 2002
Location: North Brunswick, NJ
Posts: 693
Mike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant futureMike Ciance has a brilliant future
Send a message via AIM to Mike Ciance
Re: [FVG]: High-level design

Quote:
Originally Posted by mtrawls
(Oh, and keep in mind that how you have it, the AI for robot 4 gets to decide his move after everyone else has made thiers, meaning he always has more information than the others.)
>get player 1 input
>getdata robot 2 stats
>calculate AI 2
>getdata robot 3 stats
>calculate AI 3
>getdata robot 4 stats
>calculate AI 4
>getdata robot 1 stats
>move robot 1
>move robot 2
>move robot 3
>move robot 4
>getscore
>display score

this way all decisiosn have been made before any robots move, and AI also takes robot stats into account
Reply With Quote
  #5   Spotlight this post!  
Unread 18-07-2004, 15:37
Joshua May's Avatar
Joshua May Joshua May is offline
Go Bears!
FRC #1110 (Binary Bulldogs)
Team Role: College Student
 
Join Date: Nov 2003
Rookie Year: 2003
Location: Berkeley, CA
Posts: 1,306
Joshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond reputeJoshua May has a reputation beyond repute
Send a message via AIM to Joshua May
Re: [FVG]: High-level design

Would it be poswsible to use multithreading to allow for each of the four robots to think at once?
__________________
The FIRST Wiki - openFIRST - Ultimate Robot Challenge - URC Wiki
I currently have 50 GMail invites, PM or email me for one.
UC Berkeley Class of 2009

2005 Las Vegas Regional Autodesk Visualization Award
2005 Las Vegas Regional #8 Seeded Alliance with 988 and 1505
2006 Southern California Regional #15 seed
Reply With Quote
  #6   Spotlight this post!  
Unread 18-07-2004, 16:57
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: [FVG]: High-level design

Quote:
Originally Posted by HHSJosh
Would it be poswsible to use multithreading to allow for each of the four robots to think at once?
Theoretically. I'd really like to, however, refering to my "I don't know CS very well yet" thing: at least what I've read so far, you actually have to call a certain function which is part of CS. This function then takes control of program flow, and the only way I currently know of when it gives it back to you is when a key is pressed. There must be other ways to get it, I just don't know them yet. Using multithreading, we could always initialize the robot threads before giving CS control of the parent thread. The only thing we'd have to figure out then is how to tell CS what the updated positions are. Hopefully that's not hard...

==EDIT==
Oh, yeah. This was to make you stay our of our discussion...

jk
__________________

Reply With Quote
  #7   Spotlight this post!  
Unread 18-07-2004, 18:16
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: [FVG]: High-level design

Multi-threading would be cool, if we can keep them sync-ed.

In a game, here's what we do:
#Load objects, robots, fields, etc.
#check everything to make sure it's OK
#initialize
##check connection (if applicable)
##check server (if applicable)
##send robot model to other players (if applicable)
#begin pre-game
#wait for OK from players
#begin game
LOOP1 {
#Auton (if applicable)
}
LOOP2 {
#Send Pos data to AIs (if applicable)
#Get input (from players or AIs)
#Check input
#Create robot pos data (from CS)
#Send data to robots
#robots do their thing
#Get pos data from robots
#Run engine
##Physics
##Render
}

I'm also thinking that if voodoo controls are going to happen, we're going to need a radically different object model than what we currently have.
Reply With Quote
  #8   Spotlight this post!  
Unread 20-07-2004, 13:02
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: [FVG]: High-level design

Quote:
Originally Posted by Astronouth7303
I'm also thinking that if voodoo controls are going to happen, we're going to need a radically different object model than what we currently have.
?

What was the "current" model we had? And what was wrong with it that it won't work with voodoo?
__________________

Reply With Quote
  #9   Spotlight this post!  
Unread 22-07-2004, 15:27
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: [FVG]: High-level design

The current object model. Under "Cementing Auxillary File Formats". The Vodoo controls are robot-specific, which means that they must be provided in an object by the robot DLL and/or have a 3ds file.
Reply With Quote
  #10   Spotlight this post!  
Unread 24-07-2004, 06:07
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: [FVG]: High-level design

In the interest of posting more... jk

Hey, somebody (meaning Mike/someone commisioned by him), sketch up what the UI should look like. Just as a general idea.
__________________

Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Official 2005 Game Design] OK, so YOU design the 2005 game... dlavery FRC Game Design 37 26-10-2004 23:15
What does the Chairman’s Award have to do with a robot contest? Ed Sparks Chairman's Award 32 15-02-2004 13:39
How do you design your robot? Gui Cavalcanti General Forum 23 16-11-2003 18:33
KSC awards archiver 1999 4 23-06-2002 21:59
Team 401's design jonnywalk Technical Discussion 2 30-01-2002 23:02


All times are GMT -5. The time now is 17:24.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi