I've just created
About this blog
Obviously I have no clue what i am doing here.
Entries in this blog
I've just created
I think it's pretty much finished. I'm working now on other controls, such as progress bars, side-panels and drop-down lists.
- now it uses a cursor that you can move with arrow keys/home/end (in future you will be able to reposition it with the mouse);
- selecting (with the shift+arrow keys/home/end, no mouse support for now), take a look:
- the text is written inside a surface, that gets clipped to the size of the textbox:
Planned features for the textbox:
- mouse interaction;
- cursor always visible (when navigating through a text longer than the textbox size);
- cut/copy/paste stuff;
And other features added on the gui framework:
- Windows-like alignment (left, top, bottom, right, center) for controls, relative to his parent control (eg: client area of the window, screen);
- side panel control (using alignment described above), that stays hidden until the user passes the mouse on the edge of the screen;
Well, that's all for now!
Yes, I am aware it's a little too greenish... More to come soon!
Let me explain you how I am doing this. It will be a skin-based library, where each control has its textures and a parameter XML file. To build a window dialog for example, you can do it programmaticaly, or store it on a XML file.
Currently, there will be no caching, every control will be redrawn every frame, even if it didn't change a bit. I did it this way to save memory resources.
I don't know if it is the best way to set up things, but I think it could work. Currently, there is only buttons and textboxes but I plan to add listboxes, dropdowns, checkboxes and radio buttons. Also, there will be a couple of custom controls specifics to the soccer game.
Right now, I am working on the Focusing stuff (click on a window and it gets to the front, click a textbox to write text on it, etc). I will keep you updated!
First, let me say that I am *really* excited about this whole journal thing. I never had a blog or journal before so please excuse me if I write just too many crap.
Alright, so lets get this thing going!
Currently I am writing a 3D game for windows. It's kind of a table soccer game, called "Futebol de botao" ou "Futebol de mesa" here in Brazil. It's famous also in Portugal and Spain. It consists in little buttons acting like players, layered on a soccer field-like table, and a little ball or dice as the football. It's turn-based, so each player has his chance to score and such (More info about the game on Wikipedia).
I am using C# and MDX 1.1 (I know, I know, gotta use SlimDX someday) and trying to write everything from scratch.
As of now, the whole game/engine are divided like this:
|---- "table soccer" simulation
The Game Framework provides a GameTemplate class which can be extended and has everything a game will use (input manager, device manager, fps calculator, etc).
The framework also provides an abstract SimulationTemplate class, which has two virtual methods: update and draw. So, the idea here is that every simulation (every physics, fixed timestep-based scenery) should run from the Game class with this simple interface.
Let me show you the progress so far:
As you can see, there is a simulation runnning with two awful buttons on a awful soccer table. Also there is the FPS and UPS (updates per second) counts. And on top of it, my WIP gui framework, with working windows and buttons, and a beta textbox ;)
So, as I progress on this project, I will keep you updated (assuming there's anyone reading this heheheh)
EDIT: Okay, any similarity on the window texture with ryann's Neoforce controls is NOT a coincidence. I "borrowed" his window texture without his consent while i struggle to make a new one (his window texture is so nice heheh). Anyway, sorry Ryann, I will replace as soon as I can.