hi, last August/September I was messing around with C# to improve my programming skills. I wanted to build a small utility that could dynamically build some very simple lite-c scripts. I had previously used a game creation tool called "Game Maker" and was very familiar with a Drag & Drop method to creating games.
I present '3DGS Easy Scripter', a tool to build lite-c applications using a clean, user friendly interface. I've attached a couple of screenshots of the interface and how different objects can be created. The whole idea of this app is to help new users start building games quickly without having to learn the language, and then when they need extra features they can program them in.
You can create all of the objects you see on the 'Create' menu, but i've still got a few more to add like views, structs, arrays etc.
Here is a run down of the current features...
*Create every engine object easily using visual properties. The output is shown in real-time so you know exactly what your game will look like.
*Features a 'Resource' system allowing you to load scripts, images, sounds, models etc. When the project is saved these are embedded into the file so you can share the project with other team members and they will have all the files necessary to run the project. Each resource type allows you to preview it, edit them in external applications.
*I've started developing a 'Template' system to allow creation of projects like FPS shooter, platformers etc. You can also build your own templates by using 'Save as template'.
*Through Stomousfall's C# wrapper, i've found a way to embed the acknex engine. This means you can view models and maps easily.
*For more advanced objects like particles and shaders i've started implementing real-time viewers, allowing you to easily build these objects and see the result immediately. I've included screenies of the particle and effect editors.
*You can now write your functions using advanced features such as syntax highlighing and intellisense. These are fully customizable so you can change keyword colours or add your own words.
*Lite-c as it is doesn't have a seperate object called 'Video', but i thought it was sensible to create a new object for videos. You can load various video formats and then you can use this video objects to play onto a target surface. The sound and video objects use Windows Media Player to preview the media. I decided to go with this because it is easy to implement and it is already installed with windows.
*One of the more complex parts of 3DGS Easy Scripter is the action system. Like i said before, i used to use 'Game Maker' and that used a drag & drop interface to build the game. I've designed the action editor with this in mind and now you can easily drag the event like 'Mouse Left Click' or 'Key Ctrl' and then add the behaviour you want. I've only added a couple of behaviours at the moment for testing but it works pretty well. All the properties are visually edited using the 'property grid' on the right.
*One of the most annoying things i find about using lite-c is creating panels. The reason is because there is no visual editor and so i have to guess coordinates. I know there is 'PanelEdit', but its not really visual. With this in mind i've built a visual panel editor allowing you to drag elements like buttons, windows, digits etc and place them where you want them. This part was actually written before i found the C# wrapper and so it is written in XNA. I might convert this to use the wrapper at a later stage.
* I'm in the process of developing a 'plug-in' system that allows you to write your own behaviours / functions and 3DGS Easy Scripter will add them to its library. The main reason for me building this is because you dont have to wait for me to implement it, plus the acknex engine does change from time to time, and i might not always be available to develop the app. This means that if you want to add support for Newton or another C++ DLL, then it 'should' be very easy to add into your workflow.
*I based a part of 3DGS Easy Scripter on visual studio and you may notice that it does look similar. One thing i like about visual studio is that it provides warnings and error messages. I havent got around to writing an error reporter but i do have a warning system ready to use. When you run the project this will notify you of any possible erors that might occur. This includes things like not loading an image into a BMAP or that a path no longer exists. I think it is helpful and prevents simple errors that we all make.
*3DGS Easy Scripter also features what i call a 'consistency mechanism'. This means that any changes you make to an object will be updated automatically in another object that references the changed object.Eg changing names/properties of a BMAP and the PANEL object will be also updated.
Thats some of the major features, but of course there is a lot more. I'm also planning to create a level editor to replace WED if i have the knowledge. Something similiar to GED but maybe a bit more advanced. You may notice that the current objects don't have all the properties like 'Materials' or 'Panels', i'm still developing those. Once you have added your engine objects and whatever else, just simply press run to test the game out. If it is OK, then you can export the script that 3DGS Easy Scripter will generate.
I'm hoping to have a beta version out around about October/Novemeber but i can't promise anything because i start university in October and so will have to dedicate my time to studying.
I welcome any comments or critism you have. Any questions of features / expected features are of course welcome. If you would like to request a feature then that is fine too, and i'll do my best to implement it. You can also PM me.
Thanks for your time.
visit
http://www.djbm.kawanda.net for more information.
DJB.