FIRST FRC Game Simulator for the HL2 Engine

Introducing…

http://img392.imageshack.us/img392/1773/firstmodlogovi0.png

Background
A while back I saw a need for something that would allow drivers to practice without having a robot to drive, and for teams to test out and train new drivers without risking damage to robots they do have. So as my Senior Project for my school, decided to create a game simulation that utilizes the HalfLife 2 Game engine to make a 3D recreation of a FIRST Robotics match at a regional event.

With the assistance of a partner to help me with the coding aspect of the project, I have begun work on this project, which should be done late this spring.

The Project

The simulation itself will be based off of the 2006 Aim High game (it was one of the more simple games to recreate and due to limited time constraints I just picked that) though the code structure will be expandable to allow for the inclusion of other FIRST games as well. The software it will run on (for the time being) is “Garry’s Mod”, which is a sandbox mod for HL2, this allowed for easier coding in the limited time alloted for Senior Project (my future plans are to expand the software to be it’s own HL2 mod). Using the HL2 Havok physics engine, we plan on creating a close to realistic representation of the 2006 game, complete with a to-scale map and robots based off of real ones!

The map is being build using the blueprints from the 2006 game field and is 100% accurate to the dimensions of its real life counterpart.
The robots use 3D models of actual robots from the event, as well as functional characteristics and stats from each, which will correspond to their performance on the simulated playing field.
The Software will also be expandable to allow for the additions of other robots and maps.

All scoring will be done according to the 2006 rules, and there will be simulated positions for each team. If you choose to be the robot driver, than you can opt to use a viewpoint from the driver station. Alternatively, you can be a copilot, or just someone watching in the stands.

The game will have multiplayer support so that you can play with other drivers either on a LAN, or hundreds of miles away.

The FIRST Community

This brings me to the reason I’m posting here. Though we have the mapping, coding, and other aspects of the software under control, we could still use some help with models. I have a 3D model of our teams 2006 robot, but that only gives us one. Not knowing much about any other teams robots gives me limited details to work with for including other robots into the game (which, truly is essential for an accurate simulation.

YOU can Help!

So I ask you, the FIRST community, does anyone have 3D models of their 2006 Aim High robots? If you do I would greatly appreciate it if you wouldn’t mind sharing it with me, along with some of the stats from your robot that year so I can include it into the game. I’m not looking for super detailed (though I would certainly take any if you have them), just something that I can use to represent other robots that played in the 2006 game. Robots will be used with their corresponding team name and numbers and all credit will go to their creators.

Any help is greatly appreciated!

Release information

The program is still in an early BETA stage, but I am planning on bringing a working version of it with me to the Championship Event so you can all see it (probably in the Team 703 pit area, but possibly elsewhere depending on space restrictions). After that the final version will be released early June.

Thats all, please feel free to post any thoughts, feedback, ect. about the project, I’m always open to suggestions. Also, here’s some images of some of the work we’ve done so far (though these ones are a bit out of date, expect newer ones soon).

http://img395.imageshack.us/img395/2629/playingfield2hq5.jpg
http://img359.imageshack.us/img359/7706/playingfield3yv4.jpg
http://img395.imageshack.us/img395/2057/playingfield1ks3.jpg

Thanks!

Chris Bale
Team 703

Sounds like a very intersting project, and I hope you finish it. It would be a fantastic tool for teams.

Unfortunatly, I don’t have any models of 2006 robots.

You, sir, just broke the awesome gauge. Our Aim High robot was pretty bad, but I’ll see if we can get a model to you anyway.

I think 174 (The Arctic Warriors) did something like this with Overdrive. I was able to download a map for this year’s arena from their site. They had some code available if anyone wanted to see it, so if you can find them you might want to check it out.

Looks very cool otherwise, now I wish we used Inventor for our robot designs.

This sounds AWESOME!
I have to check our servers and talk to our 06 captains, but I think we could go for this!

sounds like a great project! Let us know when your’e done!

just a side note: from what I remember making CS maps with hammer: the Hollow tool sucks.
Look at that spiral it created for you on the first pic.

From what I remember the better technique is to section of the square into trapazoids, with the sloped side towards the inside of the whole.

it will perform better and take up less polygons…

Great work so far! I know how hard it is to model something according to real measurements! (I tried and failed to model my school for a DE_ map :stuck_out_tongue: )

Good luck!

-Leav

Yes, definitely! Use something like the cut tool (Whatever it’s called, second from the bottom) and manipulate the vertexes. Don’t carve unless it’s something simple like blocks.

But it looks like it will be really fun to play! The best part is that we can build our own bots right in Garry’s Mod, too :smiley:

i have a model of our 2006 robot, i dont know anything about moding in source… but what format do you need or want the model in? its currently inventor but very large.

Folks,

See the picture here to learn a little about an up and running 6-player simulation (not perfect by any means, but usable and fun) of this year’s Overdrive game.
http://www.chiefdelphi.com/media/photos/30906

It was written using C# and calls to XNA graphics libraries that are also usable in XBox360 consoles.

Aside from the differences in the graphics engines, etc. it sounds like there are some opportunities for collaboration afoot.

Blake

this looks so coo, Im upset I never saw at VCU. dang that would have been cool to play. dang dang dang oh and dang

Ideally some form of 3Ds Max format would work best (Only software I have heard of that can export models to HL2 games), however I believe I can use Inverter format as well (I have been told there is a way to convert from Inventor formates into 3Ds formats), the only issue will be the slight inconvenience of converting the formats.

Yes, I had seen that posted a while back. When I first saw it I was like, darn it, they got to Chief Delphi before me, I knew I should have posted this last week. :yikes:

I would agree with you on the collaboration part though. I decided to use the HL2 engine because it was what I had readily available to me for the primary purpose of using it for my Senior Project, but with some discussion, we could combine our efforts and find a platform that works for the most people (or even make similar software for multiple platforms). I think there is a lot of potential with the concept. Collaboration for the win! :slight_smile:

Score 1 for the old guys. :wink: :smiley:

Good - Dave and I will stay in touch. I’ll probably stay out of the “engine” topic except to say that the XBox360 possiblities offered by XNA are pretty seductive…

I think that this is the best compliment we received yet!

If you can explain how to convert an inventor file to the file type you need, I can see if I can make a model of our '06 robot and convert it for you…

and the same would go for other teams. I’m sure a lot have them in inventor, and they’d probably be happy to convert it for you.

XNA has the benefit of being free for everyone to develop for, and is based off of C#, which is relatively easy to learn. Halflife 2 of course benefits from one of the most advanced graphics and physics engines in the 3d market.

I think both FIRST simulation engines can have their place. There are many ways that these applications can be used, and each can focus in a different direction. These simulations could be used for spreading FIRST to larger markets through an online game, helping teams plan their strategies early in the build season, teambuilding excercises, etc etc.

What model formats does the Halflife engine support? If people produce their robots in a common format both engines could use, that would help both simultaneously. XNA reads in only Autodesk FBX and DirectX .x formats, but with Blender (3d modelling software) I can import from 3DS, OBJ, and a bunch of other formats. 3DS might be the best format all around seeing how common it is.

I could see about exporting our 3 models into 3ds if you would like, cbale.

Dave

I like what I’m seeing so far! I wish I could help out in some way technical, but programming has never been my forte. If you guys need a public relations or whatnot, don’t hesitate to contact me.

As mentioned above, both simulations could be useful. The HL2 version as a “marketing” tool for FIRST, getting the word out. The XNA version maybe to use “internally” as a training and strategic tool for teams.

I’ll answer your question converting at the bottom of the post as it applies to both.

The Half Life engine supports it’s own format VMF (Valve Model Format), however 3Ds Max is capable of both exporting to this format, as well as creating collision meshes for it (Might require a free extension, I have to get a few more details from a friend).

So basically anything in a format 3Ds Max can read would be ideal, (unless someone wants to be REALLY helpful and just convert them to the Valve format, not a big deal though). :rolleyes:

I have found several things related to converting Inventor Files to 3Ds Max.
The first seems to be a feature for 3Dsmax that comes with Inventor if you have both installed on the same PC:

http://www.cadforum.cz/cadforum_en/qaID.asp?tip=3943

The second one is more of just a plugin for 3Ds Max 9 (which doesn’t help me any since we’re still using version 7 because we don’t have the godlike system requirements to run 9). :frowning:

http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=9093251

Thanks allot you guys, glad for the help! :slight_smile:

Here’s a few questions:

  1. What are the capabilities of Garry’s Mod as it relates to Aim High? How about networking?
  2. How easy or difficult is it to articulate a robot with moving parts?
  3. What would it take to get this to the public? Being a Half-Life mod I would imagine it would take Halflife2 (heavy system reqs right?), plus Garry’s Mod, plus whatever additional Mod info you’ve written for scoring, anything else?
  4. What are your plans with this after you complete your senior project?

Don’t think I’ll be able to make the Atlanta finals… make sure to take plenty of pictures and video once you get it up and running :slight_smile:

  1. Garry’s Mod is a sandbox mod that allows you to use various effects, such as physics and constraints and apply them at will to spawnable props and such. You can create your own scripted entities using one or more models (with animations if needed). It is fully compatible with online mode on Steam.

  2. If needed, models with various moving parts can be implemented as several different models that just work together. Smaller features such as wheels could be done but would probably be easier (and less laggy) as animations. The other reason I picked Aim High was because most of the robots used spinning parts as opposed to arms and mechanisms that changed positions, this is a lot easier to script.

  3. As far as distribution of the mod goes, I have an SVN server setup for hosting the files relating to my modification, currently it is just private access for me and my partner but it could easily be modified to share publicly. As a Half Life 2 Mod, the only thing it would require is one of the Half Life 2 Related Source programs (like HL2, CSS Source, ect.) this in it of itself is not very system intensive. Garry’s mod is a cheap addition to HL2 and hopefully is only temporary for use for the Senior Project, after that is done I would like to make it into it’s own Stand-alone HL2 mod so it would remove the need for Garry’s mod. This mod itself would likely be less system intensive as it would not need to utilize all of the Physics and graphical effects that HL2 and Gmod use.

  4. As mentioned above, after the senior project is complete (and I have a bit more free time) I would like to make the mod into it’s own separate HL2 mod which would remove the need to have Garry’s Mod installed as well as eliminate some of the higher level system requirements. The coding would also be converted to C (or it might be C+, haven’t read the documentation in a while) to allow for this.

If you have any other questions feel free to ask, I have to go get some sleep now though, don’t want to be late for the regional tomorrow. :smiley:

With the advanced physics and great graphics, HL2 could make for a highly realistic simulation of FIRST games.

Sounds like the HL2 FIRST mod will be a veritable playground of fun! Perfect for testing of mechanisms and ideas during build phases. I can see this effort being a great way to bring others in the gaming community to see the fun of FIRST.

Ahh, so your senior project will be purely written in Garry’s mod scripts? That’s one powerful mod, to allow all of that just in scripts!