Robot Builder

Started by paulscode, September 21, 2008, 12:50:23 AM

Previous topic - Next topic

paulscode

-- This slot is reserved for resources, links, and screen shots --

 

Robot Builder 2D  (Unfinished)
My original 2D version of Robot Builder.

3D Robot Viewer
Applet I created to test my 3D robot.


Robot Odyssey  (Wikipedia)
The inspiration for Robot Builder

The Robot Odyssey Resource
AppleWin emulator and Robot Odyssey disk images

paulscode

#1
Project Overview:

This project is a stepping stone to my ultimate goal - a 3D browser-based RPG which, until I come up with a better name, I am calling "Universe Storage".  The concept for "Robot Builder" is to create IC chips, then wire them up inside a robot to make it do stuff.  It is a little like the concept of an old game I used to play called "Robot Odyssey" (This game was a great way for anyone to learn the basics of logic and electric engineering in a relaxed-pace, fun environment - one of my favorites back in the day.  I recommend googling it).  I have already created a class called "Part", which is managed in a class called "PartManager".  From the "Part" template, I have created the following logic gates: AND, NAND, OR, NOR, XOR, XNOR, and NOT.  I also made TFlipflops and SRFlipflops.  I began creating Robot Builder in 2D, because when I started the project I had almost zero experience programming in Java.  But now after completing the SoundSystem library, I am quite familiar with Java, and would rather put more work into learning to use jPCT in an actual game. 

How this project will fit into Universe Storage is that I want the RPG to be economy-driven.  Characters will have skills, which various activities in the game will increase.  Higher skill numbers will mean better weapons you can use, more quests you can do, and more valuable things you can make. Robots will be useful for assisting players in combat, obtaining items, or completing quests.  It will be possible to construct robots and weapons from parts you make yourself, buy in shops or from other players, or win in quests.  Where the "Robot Builder" concept comes into play, is players will then be able to design chips, and wire them up in their robots and weapons.  They can then either use the weapons and bots themselves, or sell them to other players who aren't smart enough to design their own chips, or who are more interested in other aspects of the game, like leveling other skills, questing, or PK'ing.

This project will be my first attempt to create a 3D robot builder game.

paulscode

I thought I would explain how Robot Builder is going to work, in case anyone was curious about it.  The way the controls are supposed to work is that you open a chip editor and drag flip-flops and logic gates from a toolkit into the editor to wire them up together and create an IC chip.  From there, you would be able to click on the robot and wire the IC chip into it.  The robot would behave depending on the circuit.  If you happened to look at the 2D version of Robot Builder, what you are seeing there is a wall-hugger circuit at work.  Graphically, it would look like this:

Since I never finished the menu system, I programatically hardwired the circuit into the robot just to test the PartManager infrastructure and connecting to inputs and outputs on the robot.

EgonOlsen

The concept sounds interesting...i've never player this game, but i've played Robo Sports on Amiga and Windows. It had programmable robots, too. But you didn't have to build up circuits to control them but create your program out of simple commands like move, shoot, duck, choose weapons, turn, watch...that kind of stuff. It was much fun in multiplayer and i always wanted to remake it. I just didn't have the time/talent to create all the animations and models that this would require.

raft

interesting stuff ;) did you know about robocode ? similarly you build robots and fight them in tournaments. but instead of chips or other building blocks, one writes java code

paulscode

Today I created a robot model (rather ugly, but it'll work for now ;D).  I created a test applet to test the robot's inputs and outputs. sound effects, and screen animation:
http://www.paulscode.com/games/RobotBuilder/22SEP2008/RobotViewer.html

fireside

click here->Fireside 7 Games<-

paulscode

I noticed that the "Applet no sound" bug has reappeared for the above test applet on my two dell laptop test machines.  I suspect it occurred when I rearranged things in SoundSystem to propagate the exceptions back to the constructor.  I'm currently looking into the problem.

EgonOlsen

Sound worked for me in that applet.

Off topic but related to sound: We've played a 3.5h long lasting session of Robombs on five machines and the sound system did a great job on all of them...everything went very well... ;D

paulscode

Ok, I fixed the bug with SoundSystem, and recompiled the above applet:
http://www.paulscode.com/games/RobotBuilder/23SEP2008/RobotViewer.html

I also posted the updated JAR's and source code on the "3D Sound using lwjgl binding of Open AL" topic.

Quote from: EgonOlsen on September 23, 2008, 11:33:46 PM
We've played a 3.5h long lasting session of Robombs on five machines and the sound system did a great job on all of them...everything went very well... ;D
That is REALLY great to hear  :D.  Yes, I've played some fairly long-lasting Robombs games, too, and didn't have any problems.  Development of the SoundSystem library seemed like it ran into a whole lot of glitches, but (finally) it appears to be stable and reliable.

Getting back to Robot Builder, I am going to start comming up with some type of ascii-based map system which allows altitude to be defined (so levels are not all flat).

EgonOlsen

ASCII maps will rule the world... ;D

fireside

#11
Speaking of ascii maps.  Do you guys just use a text editor to make them?  I was thinking about it, and it seems like it would be kind of hard from a design standpoint because you can't put something in the lower right corner until you've filled up the whole thing.  I think I'd rather do something like a grid, but there isn't anything around like that except a spreadsheet. 
click here->Fireside 7 Games<-

paulscode

Quote from: fireside on September 24, 2008, 03:26:15 AM
Speaking of ascii maps.  Do you guys just use a text editor to make them?  I was thinking about it, and it seems like it would be kind of hard from a design standpoint because you can't put something in the lower right corner until you've filled up the whole thing.  I think I'd rather do something like a grid, but there isn't anything around like that except a spreadsheet. 
What I usually do is create a template file to start with which is filled with a grid of spaces (or whatever the "empty character" happens to be).  Then I turn on "Insert" and start plugging away.  Just don't forget to "save as", or you'll loose you're template  ;D

paulscode

My initial attempt at generating a 3D map from ASCII has been successful.  However, matching the float values used in the altitude map with the normal grid map is difficult when only using notepad, because more than one character is required for each square in the grid.  I have decided that I am going to create an altitude-map editor.  It won't be anything too fancy, just a more visual way to generate the ASCII altitude map.

JavaMan

I don't mean to be stupid or anything, but is there some reason why you are using ASCII maps instead of like a 3D modeler program to make your terrain? I don't really know what ASCII maps are but is a more efficient way of making terrain than using a modeler?