There’s no like button…
Under The Ashes likes Candy Man Criminals post!
There’s no like button…
Under The Ashes likes Candy Man Criminals post!
So despite being on the other side of the planet with a nonstop schedule of events and not much access to Internet… I’ve somehow managed to continue working on my game engine, haha.
Now I can compile multi-line scripts and it works very well. Conditionals and loops are next, then connecting the scripting system to the game engine itself.
The last time I made a game with my engine I ran out of time to make a real scripting system and had to command the engine using assembly-like instructions instead. This new system already allows me to do so much more.
If statements now work, plus blocks of code. So you can do this:
if (cheeseIsDelicious()) {
if (1) display(1);
if (0) display(0);
}
And it will display 1, because cheese is delicious.
Isn’t that great?!?!
No but really, this will be extremely useful one day. You’ll see…
But will it run Crysis?
Sort of like asking if my keyboard can type award-winning books.
Yeaaaahh…???
Also “while” loops work now.
running crysis stopped being a big deal a while back
if-else statements work and have been tested thoroughly (nested, attached in series, attached to while()s, no memory leaks, etc.)
I also fixed some major glitches that popped up, like a loophole that was bypassing my endian-proof file system (meaning the script would work on whatever system you compiled it in, but hit or miss anywhere else).
So next up is adding comparison symbols into the parser’s dictionary. <, >, <=, >=, ==, !=, etc.
Keep in mind that all of these features have been supported in the engine’s script execution since the beginning, and the parser/compiler just opens a communication link between me and my engine. Since it all compiles into bytecode in advance, no matter how complicated and slow the parser/compiler gets, the engine will be just as fast at executing scripts.
All I hear is “technobabble technobabble TROID IS GOD technobabble”.
Mostly because I can’t hear much over the sound of my mind exploding in amazement.
That somehow reminds me, I need to get on those sprites…
Don’t worry, I’ll try to release a demo by the end of the summer.
Edit:
Parser can now do all the comparisons mentioned earlier, and then I also threw in logical operations (&& and ||, which are “and” and “or” respectively) for good measure. All the symbol priorities work like they do in C++.
sweetness, cant wait to see your handy work in action =]
Trying out some interesting things with my engine and scripting system. Will report back with more info at a future time. I’m leaving tomorrow and won’t be back until July 2nd. But I’ll still have my laptop, and this time I’ll have Internet, too.
I probably won’t have much time to work on my engine though. But compared to some of my usual engine-halts, this is just a short break if anything.
You continue to amaze me with your skills at this. I barely understand Java as it is. But creating an engine creator? That is pretty dang amazing. I applaud you Troid.
So despite being away again, I sometimes get time off at nights to chill with people and program and stuff, so guess I’ll give a quick update.
I find it much easier to program in Linux, so I’ve been working back and forth between it and Windows. Since my full engine has been Windows-only so far, this means I’m finally having to make it cross-platform. So I’m replacing the lengthy Win32 chunks of my code with some SDL commands and calling it a day.
Feels like I’m sucking much of the life out of my engine, but hopefully everything else I’ve made (like animated models) will give it some character when I piece it all together.
From one busy place to another. My summer vacation still hasn’t really started yet, haha…
Timing (like maintaining a framerate and such) is cross-platform now, I incorporated a library I found for reading info from .ini files (really helpful, trust me), and the engine is much more organized now to make development easier.
My brother (older, more experienced programmer) suggested that I stop trying to code everything right and instead try to get stuff working first and then improve it later. So I planned out a detailed list of exactly what I have to do to start pumping out small demos, with time estimates for each step. So let’s see what happens when my summer vacation actually starts…
SUMMER VACATION STARTS TODAY LET’S GO.
But first I need to take a few days off to watch movies and play games of course. <_<;
So!
NetMission 2.0 (what I’ve been working with for quite a while) was a knotted ball of string. If I wanted to make something new with it (like a demo) I’d have to copy the whole engine into a new folder and pull the strings a bit to make it do what I needed. It was really complicated inside.
Over the past month or so, I have set up NetMission 3.0! Each feature has its own folder and can be tested on its own. If I want to make a new demo or test app, there’s no copying involved – I just use what’s there. So I can finally keep track of versions and stuff.
Plus it’s cross-platform.
Bad news is my model animator is still a knotted ball of string within NM2.0’s knotted ball of string. Gonna take some work to unwind it. I had demo ideas involving model animations – may have to move onto a different set of demos for now. We’ll see.
So in a week I’ll probably be ready to release a demo.
It’ll just be a Pong clone, but let me explain.
Pong can be made in a few minutes with C++/OpenGL and even faster in something like Game Maker, if you know what you’re doing. Let’s compare making Pong to walking a few blocks over to a nearby school. Not much effort.
This version of Pong, however, is a result of my new scripting system combined with cross-platform windows, graphics, and input. It has taken me months of work in my (infrequent) spare time to get these particular systems up and running. Let’s compare working on my engine to building a space ship in my backyard. A bit more complicated.
So what I’m doing here is testing the fundamentals of my space ship by slowly riding it a few blocks over to a nearby school. Much cooler than walking there by foot in my opinion, even though the result is the same. But for a machine that can only travel a few blocks over, it’s much closer to reaching outer space than you’d think.
So I hope you can understand why I am releasing something as simple as a Pong clone.
Actually if you have any better ideas for a game that can be made using only shapes, colors, and transparency (no sound at the moment), please let me know and I might make that instead as long as it’s not too complicated (i.e. not Tetris). I’ll probably include the source scripts, too, which you can edit and recompile using the engine itself. They should be pretty simple to look at and figure out.
Pacman.
I actually have an idea about a Pacman-clone.
Will post some graphics when I feel I have more to show.
Okay, you guys got me – not quite ready to make Pac-Man. D:
It’s possible but I’d want to spend some actual time on it – setting up images and arrays in the scripting system or integrating the physics library for basic collision detection, researching the personalities/movements of the ghosts, etc… So I probably wouldn’t get it done by next week.
I’ll go with a Pong-like thing for now and perhaps make my next goal a Pac-Man thing, no guarantees.
In other news I learned how to use shaders today!
If you don’t know what shaders are just do a video search. (also try “GLSL” since that’s the specific type I’m using). Basically they do most of the graphical effects in modern videogames.
Edit: Here is the result of my lab experiment.
That is a perfectly normal rectangle and two circles. WITH SHADERS ACTIVATED