Thats a good idea :thumb: .Quote:
Originally Posted by Devion
But, I'm going to wait for Jacob to come back. Becuase I think he may want to work on the engine. :) Besides, he knows the most about Direct X (at least more than me ;) ).
Printable View
Thats a good idea :thumb: .Quote:
Originally Posted by Devion
But, I'm going to wait for Jacob to come back. Becuase I think he may want to work on the engine. :) Besides, he knows the most about Direct X (at least more than me ;) ).
Might as well start making a milestone checklist.. 2 actually.. one tech, one content. And use K.I.S ;) (Keep it simple)
Ex.:
Tech:
- Render fully textured room with reflections
- Fully textured room with shadow casting
- Room with bouncing ball (Physics)
- Positional Sound
- Sound reverb
- EAX Support
Content:
- Story
- Storyboard split in 'acts'
- Game script (story wise) per 'scene'
etc.
This is going to be a *****-post with some pointers. Thou are warned :]
Looking at that test.rar there are few things that bothered me a bit, mostly code layout and type declaration. I know this is a test so I'll ignore the type dims but..
VB Code:
Public Function Initialise() As Boolean On Error GoTo ErrHandler: Dim DispMode As D3DDISPLAYMODE '//Describes our Display Mode Dim D3DWindow As D3DPRESENT_PARAMETERS '//Describes our Viewport Set Dx = New DirectX8 '//Create our Master Object Set D3D = Dx.Direct3DCreate() '//Make our Master Object create the Direct3D Interface D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode '//Retrieve the current display Mode
Looks a lot better when
VB Code:
Public Function fbInitD3D() As Boolean On Error GoTo ErrHandler 'Describes our Display Mode and Port. Dim DispMode As D3DDISPLAYMODE Dim D3DWindow As D3DPRESENT_PARAMETERS 'Create our Master Object and D3D Interface. Set Dx = New DirectX8 Set D3D = Dx.Direct3DCreate() D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode
Which gets me to a few pointers:
- We need to set a certain rulebase regarding type definitions, function naming, etc.
- Layout.. use tabs.. use a LOT of tabs if necessary.. having everything splattered against the left makes code look chaotic.
- Commenting.. Each module/form should have a top comment saying basically who edited it last, what was edited and when. (WWW) - Also place comments above code .. not behind it as it might be obscured by the width of the code window.
- Option Explicit.... needs no explanation.. if someone is wondering why option explicit I'm going to pull out an IRC trout and slap 'm :)
- No Variants without damn good reasons.. The most common mistake:
^ A is a variant...VB Code:
Dim A, B as string.
- For I/O matters... no Open "x" for input as #1 or #2.. or #5.. use Freefile.
My 2 million cents ;]
I know the one I posted is garbage, but I did it in a hurry. :).
Ulli's Code Formatter can help us with the indentention if need be.
Thats a good post, its some good ground rules.
That variant problem, I had acctually found that out when I was make my Instant Message Client/Server. My VB teacher had told us that would could do that, shows how much she knows :p.
Aye. But who needs a code formatter if the code has been properlly formated from the moment it was written down :)
--
Anyway: Since I don't have a job yet within the team I'm up for making a sorta PAK file with directory and compression support. (no zip file but it does kinda sound and look that way).
Black and White logo pre-design idea
How's about Plant: Invasion (like you said before), and would it be hard to put Earth in the background instead of a moon-like planet for the first one? Otherwise they are great :)
I'll see if I can make a better one.. not all to happy with this one yet :)
A day left till jacob is allowed back in I guess? We need to have discussions things on MSN.. so people don't get banned :)
Not really. Try today. ;)Quote:
Originally Posted by Devion
k1ll3rdr4g0n, the whole time I was banned I was making some DX tutorials. I'm far from finished, but hopefully that should help you out when I get done. Also, on and off, I was making a 3D engine.
I can setup a Flash based chat (MySQL driven), or a Java (IRC driven) chat (both web based of course). So then nothing is delayed like this again.Quote:
Originally Posted by Devion
And Jacob, we are going to be using bsp for the maps correct?
Yep, bsps are perfect. ;)
I can setup an irc server with ease if needed.. and/or anything else required :]
Okay, I'm posting this from a bunch of ideas I had for CC (otherwise known as MWBG).. Basically GUI and Script thingies..:
Large post ahead :)
Code:<!-- GUIMenu_MainMenu plus Children -->
<?
<MWBG>
<!-- MAIN -->
<Menu ID="GUI_MainMenu">
<Background>%FS_TEXTURES%\Menu\MainMenuBG.jpg</Background>
<DefaultCursor>%FS_TEXTURES%\Menu\Mouse_norm.jpg</Cursor>
<ImageMask>FF00FF</ImageMask> <!-- Purple -->
<BackgroundMusic Loop="Yes" RestartOnMenuChange="No">%Fs_MUSIC%\Menus\Theme.mp3</BGMusic>
<Font>Impact</Font>
<FontShader>%FS_SHADERS%\Menu\Metal.shader</FontShader>
<Widgets>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_Tutorial">
<Text>Tutorial</Text>
<Location XAlign="Middle">0,200</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_JoinServer">
<Text>Join Server</Text>
<Location XAlign="Middle">0,250</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_CreateServer">
<Text>Create Server</Text>
<Location XAlign="Middle">0,300</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_Options">
<Text>Options</Text>
<Location XAlign="Middle">0,350</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_Quit">
<Text>Quit</Text>
<Location XAlign="Middle">0,400</Location>
</Widget>
</Widgets>
</Menu>
<!-- OPTIONS -->
<Menu ID="GUI_Tutorial">
<Background>%FS_TEXTURES%\Menu\MainMenuBG.jpg</Background>
<DefaultCursor>%FS_TEXTURES%\Menu\Mouse_norm.jpg</Cursor>
<ImageMask>FF00FF</ImageMask> <!-- Purple -->
<BackgroundMusic Loop="Yes" RestartOnMenuChange="No">%Fs_MUSIC%\Menus\Theme.mp3</BGMusic>
<Font>Impact</Font>
<FontShader>%FS_SHADERS%\Menu\Metal.shader</FontShader>
<Widgets>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_ControlsOptions">
<Text>Control Setup</Text>
<Location XAlign="Middle">0,200</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_VideoOptions">
<Text>Video Options</Text>
<Location XAlign="Middle">0,250</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_SoundOptions">
<Text>Sound Settings</Text>
<Location XAlign="Middle">0,300</Location>
</Widget>
<Widget Type="Button" OnClickScript="" OnClickMenu="GUI_MainMenu">
<Text>Back</Text>
<Location XAlign="Middle">0,300</Location>
</Widget>
</Widgets>
</Menu>
</MWBG>
?>
Code:Usage of the GUI XML file..
All the GUI Menu attributes should be under
<MWBG><Menu ID="*">
The ID of the Menu gives it a tag that can be access with the OnClickMenu of buttons.
Menu Properties
- Background
The background property specifies a background that will be rendered when the menu is active.
The value is just a location to the texture. Background has one parameter 'Resize' which if set to "Yes" will
stretch the texture to fit the screen, if set to No it will center the image.
- DefaultCursor
Set the default mouse cursor image.
- ImageMask
Set the masking color (transparent color) of an texture. Default is 0 (Black)
- WidgetGraphics
Set the directory where widget graphics can be found.
Requires Theme.cfg to set the properties of the widget.
- BackGroundMusic
The music that will play on the background while the menu is active. the Music value is the location of the file.
Properties are: Loop and RestartOnMenuChange which both are self-explanatory. (Yes or No as value)
- SoundEvent
This is the SoundEvent. When the mouse is over the button or object and when it's clicked it can generate
a sound event. SoundEvent doesn't have a value. Just 2 parameters called OnHover and OnClick both values are
filenames to wave files.
- Font
Set the default font for buttons (TTF or Bitmap font). Font Value is the name of the font or path to the font. Font only supports one paramter called Shader which allows setting a shader to be overlapped on the font texture.
- DefaultMenu
Set the Default menu when the user presses escape. Normally this should be the parent of the menu.
- Widgets
The Widget group is a certain object that will be rendered on the screen. There are several different types of
widgets available in the GUI Class.
Parameters for Widget-tag
Type - See below
OnClickScript - On click on the widget it will fire this script.
OnClickMenu - On click on the widget it will fire a MenuChange with the value.
(OnClickMenu="GUI_MainMenu" or.. OnClickScript="C:\Script.cfg")
Visible - Set the visiblity of the Widget. ("Yes" or "No")
Transparency - Set the transparency of the object: Default = "0"
Types:
Button - Can be clicked to initiate a menuchange or script start.
TextBox - A textbox where the user can fill in his own text.
ListView - To show multiple data with columnheaders that can be sorted.
Slider - A horizontal slider for change high-value data the easy way.
Image - A image that can be changed.
CheckBox - A Checkbox
Hidden - A hidden widget to store temporary data.
UpDown - A up down value widget for when a slider isn't good enough.
ListBox - A ListBox
ComboBox - A ComboBox
The following Child properties are supported
Text - For buttons and such this will set the text.
Location - Set the location of this widget based upon X,Y Pixel coordinates with a few extras.
(No Default, Value = X,Y) - Location has 4 parameters called XAlign, YAlign, XOffset, YOffset
which support the following values.. XAlign: Left, Middle, Right. YAlign: Top, Middle, Bottom
XOffset has a value of which the L,M or R gets offset by X amount of pixels. The same goes for
YOffset.
Variable - Set a Keyholder variable for this widget. If the value changes on the widget it will
save it's value to the specified key.
InitValue - Initial value for the widget. If Variable is used in this widget it will take that value.
DefaultValues - Allows to set a default value for this widget (doesn't work with Buttons and such). For
listviews these values should be comma-delimited.
Columns - For the listview. This allows to set the columns for the listview. Comma-delimited.
Code:Additional Script commands MWBG:
These script commands are to be used for in-game. Usage outside in-game state might give a few errors or 'problems'
Generic Functions:
- Echo(TextString) : Shows a message on console/top screen.
Actor Support Functions:
- SetWayPoint(WayPointName, X, Y, Z) : Set a waypoint.
- FireAtLocation(ActorName, X, Y, Z, AllowMove) : Actor will try to fire at location (AllowMove = "YES" or "NO")
- FireAtTarget(ActorName, Tag) : Actor will try to fire at tag (could be an actor/object etc)
- MoveActor(ActorName, X, Y, Z) : The Actor will walk to the designated area (Walk on it's own speed)
- MoveActorToWayPoint(ActorName, WaypointName) : The actor will walk to the designated area (set by waypoint)
- TeleportActor(ActorName, X, Y, Z) : Teleport Actor to destination
- TeleportActorToWayPoint(ActorName, WaypointName) : Teleport Actor to destination waypoint
Map Support Functions:
- SetHighLight(KEY, X,Y,Z, RGB-LONG, RADIUS) : Sets a bright spot at location, RGB-LONG = color, Radius is the radius in
units.
- RemoveHighLight(KEY) : Remove the Highlight location
- FadeOut(Seconds) : Fade out in Seconds
- FadeIn(Seconds) : Fade in in Seconds
- MoveCameraTo(X,Y,Z) : Move the camera to the location
Media Support functions:
- PlayMovie(MovieName, AllowCancel) : Plays movie and waits till it's finished. AllowCancel is "YES" or "NO and
allows player to press mouse or spacebar to cancel the movie and proceed.
- PlayWave(WaveName) : Plays a wave file
- PlayWaveEx(WaveName, ActorName) : Plays a wave file originating from an Actor class (3D sound)
We can us that for the menus and such :).
Since Jacob is working on the engine, we can work on the intro movie until he posts code. We can create the intro scene with 3D Canvas (http://www.amabilis.com/) its a real simple drag and drop 3D modeling and animation tool. It even makes the animations we make into AVI files, so we can easily add it to our game.
Posts code? It's too much code to even post. There's a 10000 character limit.Quote:
Originally Posted by k1ll3rdr4g0n
Well I wasn't talking about posting it here silly. Me or Devion will setup a FTP account that we can upload to. :p
Give me a shout when we got a baseline so I can go fiddling getting a gui and script engine working =)
(baseline means application with engine-components) :)
Well I don't need any scripting just yet.
Different perspective.. the script engine just calls any of your routines to load textures for the texture pool, etc. etc.
Any updates so far?
Not yet. I was mostly working on my DX tutorials, and also remaking Street Fighter 2. ;)
And trying to get banned? ;)
Devion want to help with making the intro scene?
And did you get my PM about your FTP account?
Yep, that too. :lol:Quote:
Originally Posted by Devion
Yep and Yep :]Quote:
Originally Posted by k1ll3rdr4g0n
Hey, i'm InTeG, the Programmer, and Graphics designer.
Not much too say... I know some VB, and i'm working on my DirectX skills to help make the game. I'm sure i'd be a good addition to the team.
So what have you done recently? What do you know now so far?
Hmmm recently... ive been making a custom profile script for AIM... uhhhh thats written in php.... uhhmmm ive been working for a ALMOST started company thats making a drag racing game... and im making one of my own... so far ive got the user search and the chat room done... and login and register... and thats written in flash and php.... sooo yea i havnt really worked with vb in almost 1 year til now........ and yea im started to learn how to work with directX 8 inside VB... but yeaaaaaaa.... not too fancy
Let me guess, you learned from that site DirectX4VB, right? :bigyello:
:)
Awww.. maybe he got the book! who knows
Hmm...ok so this kind of died. Time to bing it back to life...
We need to get some things down...
1. We need to figure out how we are going to make the engine (We can expand this)
2. We have to make a layout for the HUD
3. We have to make an intro (2, 1 for when people first execute the game, 1 for when they start a new game)
4. We have to work out a menu
Have we got a design plan yet?
I was thinking that we can recreate the intro first thing, but I can't do it alone.
I was thinking you can start it and everyone can have a little input.
@Jacob
Didn't you say you were doing something with making the engine?
Yes, but I'm also in the process of moving out of my parents house, creating a massive DX8 tutorial, creating MK vs SF, etc. Been quite busy.Quote:
Originally Posted by k1ll3rdr4g0n
Its cool take your time. When you move in take pics of your bachleor pad ;).
*drops a needle*
-picks it up-
here you droped this...
Yo guys, I'm back on the project. :)
Okay, just been thinking about the engine, there's gonna need some thought into it and maybe an engine map. We got to think about some key elements really:
- Firstly, the physics. A game can't run without Physics.
- Secondly, loading graphics, models, music and maps.
- Thirdly, special effects. How would we accomodate pixel shading, particle systems, and all that kind of stuff to make the game realistic? Or we could go down simpler routes.
I can't remember who, but someone announced it should be in VB. Can VB really power something like this? Maybe. But C++ is so much more stable with this type of thing. Really. It's up to everyone else really.
Jacob suggested that we do it in VB 6.
I think we should do it with the engine that we were going to use before.
The Irrlicht one? If so I'm a litter further with the demo engine :). It's coming along nicely. Also, me and my friend are currently writing some cool plugins for the engine (including destructable scenery and bleeding on shot) so if they come out alright we could maybe use them in the game. I'm going round to his tonight to work on the flowcharts and coding scheme for the plugins, so give me a PM or an email if you want them configuring in a certain way. Imagine. Destructable scenery :D
C# maybe as programming language? It's easy to read and Irrlicht works great with it :)
Isn't C# = .Net Framework?
.Net Framework = No no. :p.
Honestly, I don't want to use the .Net Framework, for the simple fact a user has to download it and its a bigger runtime than VB 6. Thats why I was intrested in using VB 6. (And the VB 6 runtime is allready on more computers than .Net Framework is).
.Net framework is going to be or is mainstream already. I've had the same look towards .net about it's large size but I converted ;)
But doing it in C++ is less hastle than C# because of the runtime files. Plus, there's going to be no difference in features or performance between C++ or C# so sticking with ++ would be fine and the easy option.
The point of using VB6 to write this engine is for ease of coding (less overhead), faster production, and to push VB6 to its limits. Yes I know C++ is faster and can do more, but it's a bit typical, and I would like to see a Quake 3 style engine written in VB6. Would be pretty cool. :)
Maybe that can be the next project?
This is the first big project I have ever done, I want to see this take off.
That's scary since I completed MOC2142 (Programming with C#) and so far I've seen more changes from C++ to C# then VB to VB.NET :PQuote:
Originally Posted by RadBrad
lol. Fair enough, but I still like the idea of sticking with C++.
You may use my new 3D first person engine, if you decided to use VB.NET.
Some screenshots
Details from an older build
Rigid body physics, first person camera with ellipsoid sliding collision against the world, perpixel lighting with normal and parallax mapping, shadow mapping for the shadows, deferred refractions, post processing, etc etc
Maps are in my own format, but I can add a converter depending on what you want to use for mapping.
Sorry, but me and killerdragon have already made the decision that we didn't want the .NET framework involved, it's simply too much hassle. Thanks for the offer. :)
Ok lets me look at your project status:
STATUS: 1%
You guys planned a flight
you guys bought a ticket
you guys arrived at the airport
you guys got into the plane
BUT YOU GUYS HAVE NOT TAKEN OFF YET
whats the holdup O_O
For me since I'm sort of like the leader of it, I need to take a quick crash course in C++ (I was a VB6 man before). I am learning quickly on some of the more advanced stuff (the do's and don't's of C++). Irrlicht is just so much to absorb just to wake up one day and say 'I want to create a game based off another game'. I don't expect a demo to be out for at least another year if I'm lucky. The holdup is that the guy doesn't know how to fly the plane yet ;). Thanks for the offer though, but I think Brad will agree with me on this, that the less dependicies we use the better the final product will be (unless we make our own DLL's ect...).
Not only that (besides the fact I have my own life, and stuff to do), but I got together a bunch of people and they just disappeared. So, that sort of slowed down everything to a halt, so to speak.
But thanks for the offer Cade, and btw the screenshots arn't loading for me :p.
@bladers
Don't wory in due time you will be able to taste my (and other members) execlent coding skills. Were not like that one Nintendo DS emulator that was only in a beta and because someone leaked a version the author of the emulator stoped all work on it, if someone leaks a beta in my group good for them, I hope they do. Basically what I'm trying to say is that once we have a beta out, everyone will know about it. It wont be a secert :).
I hope it doesn't sound offensive to anyone, I don't mean it to. But I just speak my mind :).
no that sounds good, take your time man, you need to understand the language very well before making a game, and espessiacly to the calaper you are going for. Took me 5 months of learning and experimenting and finding good help before my game got where it is now. I went throgh a couple team members too, had to let two of them go, now I am taking a break but my graphics guy is still working hard, he has made 3 times more navigation and graphics already than the last release last week. My site manager has slaved for hours to make it look good and get it running and make sure it stays that way, so It takes effort and reliable people for a project to be successful. Just take your time man...
-Damasterjo
Haven't disappeared.. just waiting on when this project actually starts getting to a point that it has a feasable amount of work and proper preparation.
This project has been shelved until Irrlib has matured enough to be used in a 3D game. Right now, I am working on 2D functions, then moving to 3D functions.
But don't worry, I never cancel a project :). I will make this game someday.
Step 1. Make game engine
Step 2. ????
Step 3. Profit
Is this the end of the story?
Any updates about the game?
I will be working on the engine during next semester at college.
First I am going to make the 2D functionality then implement 3D functionality. And hopefully at least start making the game. Perhaps I can tie in the making of this game with the production of the engine.
It's an independent study, so, it is really up to me. If you would like to be kept informed on what progress I'm making shoot me a PM.
But right now it's stuck due to no time for myself. (Going to school full time and working part time). If you have graphics skills and would like to help, I would be ecstatic :).
Sorry I dont have any graphics skill. I'm into database development.