Sep
27
2011
3

I can’t stop coding! Madness Script reborn

Yeah well seems like I can’t stop messing around with high level languages. Last week I started working on a new version of madness script but since the differences are pretty huge between them I call it Runescript instead and are dropping Madness Script for all future. I would say Runescript is a lot more mature and bla bla bla. I can brag about it a lot but it will be some time before I feel ready to put it up on GitHub for public use.

(more…)

Aug
02
2010
1

Ascension – View script draft

Aight I’m coming somewhere now and is about to start on the three mode/view classes that will be called View, ViewController and ViewModel and they will work after the Model-View-Controller concept and first one to be made is the ViewModel which will be the configuration script interface to the application.

It will work like this that the game is going to open the folder “data/views” and in there it’s going to look up all the files that fit *.view and load each and one of them into their own ViewModel class.

Here’s an example script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
self.SetName("Test")
 
OnInit = self.NewMethod("OnInit")
OnInit < Standard.Kernel.PrintLine("YAY! =D")
OnInit < quit_button.RegisterSignalHandler("Signal.Button.Click", OnButtonClick)
OnInit < background.FitToWindow()
 
OnDeinit = self.NewMethod("OnDeinit")
OnDeinit < Standard.Kernel.PrintLine("Auuw! D=")
OnDeinit < quit_button.UnregisterSignalHandler("Signal.Button.Click", OnButtonClick)
 
OnButtonClick = self.NewMethod("OnButtonClick", "b")
OnButtonClick < Application.Quit()
 
self.RegisterSignalHandler("Signal.Controller.Init", OnInit)
self.RegisterSignalHandler("Signal.Controller.Deinit", OnDeinit)
 
background = self.AddImage("data/graphics/background.png")
background.x = 0
background.y = 0
background.visible = true
 
quit_button = self.AddButton("Quit", "data/graphics/button.png")
quit_button.x = 100
quit_button.y = 50

There’s a lot more to be done here and some parts that I don’t show. For example I will also allow the ViewModel to receive the signal “Signal.Controller.Update” which is a signal from the controller that the view
is being updated. And the view always get updated once each frame. Though I would prefer to avoid the use of this signal as it will slow down the engine significantly if this method needs to be called each frame. And what if we got 100 objects showing that needs their own OnUpdate method called, and so on and so on. It will end up with that we only got 5 FPS or something like that. So instead I will add a lot of stuff like the “SetBackgroundImage” and the “AddButton” methods so that we prepare before it starts instead of working every frame.

Jul
21
2010
2

Ascension configuration

Well I’ve started working on the configuration system integrated into the main controller of Ascension and I got a small draft that first assumes some default values and then reads a configuration file to give us a chance to change these values from an external resource.

Well Anyway the configuration is saved with normal Madness Script and is separated by modules that are named after whatever category they are concerning.

Here’s an example:

1
2
3
4
5
6
7
8
9
Graphics < Width = 1024
Graphics < Height = 728
Graphics < Fullscreen = false
Graphics < AntialiasingLevel = 1
Graphics.Compile
 
Keyboard.Bind("Move Up", Keyboard.UP)
Keyboard.Bind("Move Down", Keyboard.DOWN)
// Etc. etc.
Jul
11
2010
0

Madness Script 2.0.0

I know I know! I said I was putting down the Madness Script Project but since then I started using it for the Ascension Project. So I got some pretty new and fine toys and various bugs fixed. I will need to remake the entire documentation for the project both in the code and here on this website. At the bottom of this post you can also read all the changes that was made to the mSCRiPT language.

Here’s the source and interpeter: mSCRiPT-2.0.0

(more…)

Jun
24
2010
0

Madness Script comeback!

Oh, I got to dust it off. I’m thinking about to use it instead of Ruby for Ascension. I am having a problem with getting Ruby embedded in the application for windows. Whenever I tried any output to a file or stdout, it crashed.

So I’ll play around with Madness Script instead for Ruby. I won’t change or improve Madness Script cause it crashed in a dead end. But the latest version should work well enough.

Jun
22
2010
0

C++ for Ascension

Aight so I meet some resistance in Ruby. Not the speed of ruby itself but the fact that I can’t get this damn blur effect to work in real-time rendering. So the main shift was from the start to switch from Rubygame to SFML for ruby, but I noticed that the ruby version for SFML was only 1.2 and the latest version of SFML is 1.6 and there’s a huge difference between them so I had to switch everything to C++ but I will use Madness Script as the scripting language.

Here I’ll now go trough the entire structure of the project in C++ and also show some homemade diagrams. Why I’m not using proper UML is because I’m lazy.
(more…)

Jun
20
2009
0

Next version will be 1.3.1 for Madness Script

Well for the next version I’m going to focus to refine and improve the standard library. No new features will be added but more focus will be placed to get a common structure which every language need. For instance I haven’t written any support for File IO.

Another thing I might change but I am not sure if I will. I might change so that all standard objects will be DynamicClasses attached to Kernel. So in order to create a new array for instance you write:

array = Kernel.Array.New()

This gives also access to work with static methods on the standard classes and allow you to inherit from them. If I do this change, then I probably won’t lock the classes. Allowing you to change the classes structure.

Here’s a list of what classes which is certain to be implemented

  1. File class
  2. Associative Array class
  3. Time class

I’m also going to implement some new methods for the already in place classes. For instance ScriptObject will receive the method destroy which will delete the object and replace it with a nil value instead.

UPDATE
I’ve decided to implement the change of the standard library where every one of them become dynamic classes instead.

Jun
06
2009
0

mSCRiPT – Dynamic Classes Tutorial 1.3 version

Dynamically created objects and classes is not a part of the syntax in the language. Instead, they are treated as objects which can be attained trough Kernel methods. Giving a very neat way to manipulate the methods, objects and classes.
(more…)

Jun
01
2009
0

Madness Script version 1.3 – Biggest change ever!

The new promised version is here! A lot have been redone, improved and added into the language. I’ll try to update the API and all tutorials to show the capabilities of this new version.
(more…)

May
28
2009
0

mSCRiPT 1.3 release soon

Madness Script 1.3 was going to be released today but at a last check up before posting it I found some bugs I had neglected. Also at the bottom you will see a peak at what the new version offers. (more…)

Powered by WordPress. Theme: TheBuckmaker