• entries
34
36
• views
15670

The journal of nano size but tera quality. Sometimes.

## Boot.stem

Boot.stem

Like I said in my last post, I am getting the foundations to a C-Like scripting language in place as the native scripting language for the engine. There are several reasons why I decided to go head first into a making it C-Like:
1- Its easier to write scripts in since it looks a bit like the rest of the engine
2- Its easily imported into Visual Studio with the formatting
3- I wanted to make something familiar in general

Anyway, heres the first CellScript stem file (insane terminology, but i'm having fun- Language is CellScript, each file is called a stem file... cell... stem... stemcell (haha)). This shot shows it happily imported in Visual Studio (and the script works which is a bonus). This script is the custom boot script that is executed when the engine runs through its boot up:

Heres the joy- anyone used to C will be able to follow whats happening [grin]

The language is quite basic at the moment but is progressing faster than I expected. At the moment its parsed directly but I do have plans in making it so you can semi-compile it into op-codes in the future.

I'm quite pleased with it so far though

## Reformatted

Reformatted

Welcome to my reformatted journal!

Reformatted? It looks like my other entries. That may be true from a cosmetic point of view, however I have changed the way I view my journal- thats the reformat.

From now on I'm not going to update the journal every now and then based on Nanostem developments but also from what I have personally learnt about the whole development process from experience with Nanostem but also from other sources.
Yes, you may well be saying there are lots of journals on here that do just that and there are loads of developer blogs but from my point of view this is for me to look back on. Partly to see progress and also to review and re-establish knowledge.

The one achievement I have taken great pleasure in retelling is the fact I changed my girlfriends view of games and their development as something that is void of creativity and results in something of a pointless nature. From that point of view (which, might I add, was almost unmoving) to a view that yes, games are an artform in themselves, in their own right. That was a proud turning point and hopefuly I will bring that, along with my fellow GDNet'ers, to a far wider demographic. I have no doubt that many if not all of us are wanting to see games respected; not from the units sold to the unwashed masses but as something as critically viewed as movies, novels and paintings.

Along the same vein, I regularly discuss the latest things I have learnt and appreciate in games design and implementation with my mother on dog walks (what better place?).
Recently I played HL2:E1. Then I replayed the entire thing with commentry nodes on. I really like this idea since in a small way its provocing peoples ideas of games as an artform. I learnt ALOT from the commentary nodes in Episode 1 (if you haven't replayed it with commentry nodes- Do. It.).
One commentary node stays in my mind- when you come out of the subway thingy (with the missing handle to open the door) and you emmerge to a scene of apocalypse with the citadel dead centre. The node explains how nothing in that one player view wasn't postioned willy nilly. It was 'painted' to make sure the players eye gazed over the destruction, a strider jerkily negotiating the rubble it created at its feet. with the once forbiding icon of fear and endless power, the citadel, now a decaying shadow of its former self dead centre with Dr kleiners voice echoing out with messages of hope. It was instrumented so the player would see all this and appreciate what it was trying to say. That is a work of art.
The thing I learnt from just that one scene is two-fold:

• I knew design was intense, for want of a better word, but that really brought me to a new level of what it involves. Ok, it didn't cover every avenue of design but it opened a door for me and understand a little more which can be brought onto other aspects. Many of you may be looking at that and thinking 'well yea, thats stating the obvious. Of course thats the level that design involves'. Well lets not forget- I'm using this to look back on and lets me place the ideas and theories I have learnt for later review.

• The other thing I learnt is if people understood how much goes into one little thing like this they will begin to appreciate games beyond the button mashing. Thats why I like the commentary nodes that Valve do.

The thing I brought up with my mother on the dog walk was the fact, ok this may be a leap, that epic game sagas are a culmination of so many, if not all, forms of art. She did agree, by the way.

As far as Nanostem platform is going- well I have full collision detection, a basic form of troop movement and the foundations of a relatively sophisticated C-like scripting languages (parser within the engine- I know, not the most speedy way of reading scripts). My next plan is to get a decent level of control over the CellScript language and get the rest of the team to start with content building- thats long over due [smile]

Anyway, just 2 weeks worth of thoughts and about 2 months of development spat out into one Journal.

Hopefully see you soon back here

/Charlie

## Design Tip #476: Make sure every team member is designing the same game

Design Tip #476: Make sure every team member is designing the same game

In answer to the query I received from Mushu on my last entry:

Its not that bad migrating code since there is only about a months worth of development in the engine. It may seem quite a bit but most of it is tweaks an things. Having said that, there has been alot of converting.
How I started out the migration initially, or rather what I had in mind, was just to change all the OpenGL specific code to DirectX. In reality many factors arose, like a slightly different process to actually rendering items and the whole 'wow, the engine so far could be a hell of alot better in structure' thing.
So the migration was, like I said, initially rewrite the classes to directX which meant basically rewriting the base classes of the graphics engine, which did get a bit 'icky' since the base required enough of a change in structure to be a pain in the arse. From there, most of my previous code could be plugged in- in theory- however, I took this as an opportunity to clean up the more 'complex' (read- sloppy [smile]) code I had written before. So yea, in short, the first stages were icky but from there I could just plug in all my old code with a change here and there.

As far as our game design has progressed (Yea, I havn't touched on that before since it has been a real mess) We have finally got a back story in place and the sides you play integrated into the story.

Its been quite fun, but a bit tenuous at times, designing this game. I'm doing it with 3 of my college mates and my gf.
It started with an idea of having an epic RTS in the same manner as the legendary TA but since then it has... evolved.

We have finally sorted out our main objectives. They are quite high but plausible:

• 8 multiplayer gaming at maximum

• No single player

• Full mode: long play times (4+ hours)

• Lite mode: short play times (2 hours maximum)

• Ability to save sessions to resume play later

• 2 tactical play areas- Surface and inter-planetary

• 3 different sides to pick: The Humanitarians, The Corperations and The Cult

Well, thats our engine/game objectives. The network code will be hell [wink]
The full mode is basically for the people among us who enjoy long thought out tactical play but always found skirmishes to finish too quickly. The lite mode is for the quick destruction of thine enemy.

Thats all i'm going to say as far as design is concerned. We have got alot further with the design, like the nitty gritty balanced play, we have designed the factions you play and we have a vivid vision to follow. But if I go into all that, its going to bog down this post more than it already has been [grin]

/Charlie

## NanoStem Migration Update

NanoStem Migration Update

As I said previously, I initiated a group decision to migrate all the old OpenGL code to DirectX.

Well, for the past 3 days I have been very busy rewriting pretty much everything and I'm still not there.
Basically, I had the implementation in my head but inorder to do it with DirectX I had to rewrite the main base of the engine. Once I had my fundementals in place (DirectX Graphics Manager, Vertex Buffer Manager, Texture Manager etc) I could start rewriting the next level of the engine.

Now, with all my projects I always like to have some form of interaction with the inside of the engine as the first step (I find its easier that way). So I always implement a console system- its invaluable in the early build/debug stages of the engine.
However, my old console class was a bit clumsy and bloated so I decided to write afresh, infact I decided to go a little deeper and make the console class out of objects of the UI I am going to work on soon. So I wrote some fundemental bare-bone UI classes, like CUIPanel and CUIImage, and used them to construct the console. Whereas before, I had constructed the console out of its own bits and bobs- this way I feel it is more integrated.

I have also looked at all the old classes and made them far more OO and writing them so they can easily be plugged into other classes without much hassle.

I have also started writing up official reference documentation, which makes me happy. Along with that, I spent 45 minutes doing a new logo- I'm really pleased with it since it is more clean and professional looking.

Anyway, heres the first blinking cursor of the Console:

I have actually really enjoyed the migration so far. It went off to a bumpy start but I have got a vision to follow now [smile]

/Charlie

## Migration

Migration

Hey all

After about 1 month of development and having sorted out quite a few of the native formats for the engine we had a team discussion, initiated by yours truely, and we have come to an agreement that I will migrate all the current code over to DirectX. We came to this dicision for a number of reasons, including the intuitive structure of modern day DirectX. Thankfully it is only a months work and most of that has been a load of fiddling rather than anything too new.

So anyway, you probably won't see a huge amount of updates for the next week or so as I migrate the current progress over to the DirectX platform.

I'll tell you how easily or how sketchy the migration was when its done.

It may sound like an unprofessional decision to change platforms but this is our first project so the beginnings are bound to be a bit wooo bit waaaay [wink]

Anyway, I hope I will be more comfortable working with DirectX- will have to get my head round it again :)

take it easy

/Charlie

Hey all

Just posting to say I have been working very hard on not only college work but also our engine. The landscape editor is becoming a most useful test bed for the engine. I'm using it to systematically implement and test features of the engine that are on my checklist. 4 days ago I managed to get simple lighting to work which gave me the natural direction of implementing shading.

So here I am, implementing the shading engine and having great fun with it too!
I'm currently only using the original specifications of GLSLang but will implement GLSLang 2.0 with a fallback to the original.

So far its going ok, except for some of the vertex lighting so I gotta sort that out. I think it may be something to do with the normals...

Anyway, the engine is generally flying on at high speed (well, high speed for me [wink]).

I'll post up a picture of the editor once I get per pixel lighting to look good.

## Finally getting back

Finally I'm getting back into the project.

I sat down today and decided to start work on the editor. Basically I need to write a terrain editor for us and so far its been quite fun. Infact, version 0.1 of the editor (current version) has had the honour of my girlfriend actually enjoy playing around with it. Its about 6 hours of development into the tool and it only barebone infrastructure. It has my standard working console however and its quite easy to generate ok looking terrain (from a wireframe point of view [wink]).

Anyway, its early days yet but just posting this up to prove i still have drive [smile]

## Its all so Procedural!

Hey

I have two things happening at the same time at the moment, and they are both quite procedural:

• For our course we have to learn the basics of MatLab but typical of me I'm throwing myself well into it. Its actually a very intuitive language for hardcore maths... thingys.
By the end of this semester each group, we've been split into 3 groups, has to make a section of a genetic algorithm. We are the section that gets all the results from the initial population test and then we have to statistically select a number of the population to be passed on for the the inheritence sorting group. Its all quite interesting- basically taking a matrix, doing random selections of rows of that matrix and passing on another matrix of the same size.

• I'm now looking at procedural generation as one aspect of the engine. Since the engine will have huge open sections, procedural generation will be perfect to:

• Build huge vistas in one single generation and save it to the format. This avoids man hours in sculting out the land mass
• Keep resource files to a minimum since some of the ingame content will be generated on the fly
• Look pro and have the current buzzwords "Procedural Generation" printed all over the engine [wink]

And thats pretty much where I am at the moment. However, when it comes down to it, I might just make a vista editor (No affiliation with Microsoft) so we have full control over the look. Either way, its quite interesting reading.

/Charlie

## Love FMOD

Hey

I spent all day trying to work out what API I will use to play sound and music. In the end I landed on FMOD, and it seemed like Stompy had a lot of success with it so I thought... hey what the hell.

I love FMOD! I got the latest release- FMOD-EX 4.03. It is fantastic with a fully object oriented approach to development.
Anyway, just spend about 40 minutes writing a basic wrapper class and its working very well.

I just played my first sound bite- The reconstructed voicemail from 12 monkeys. I felt it was kinda appropiate for the engine [smile]

Anyway, HaVe a MeeeeeRRRREEEEEEEEE CHRISTMMMMMAAAAAAZZZZZ
(12 monkeys reference if you haven't seen it[wink])

## Finished course work, getting on with engine

I had about a good weeks worth of course work to blitz but now all thats done I've got back to our engine.

I'm working on a lot of background stuff and writing old classes to make them easier to use and more efficient. The general blurb really [smile]. So no new pics.

I was looking through the old Q3 source and loved the idea of that universal class that takes any data type and converts it easily into any other datatype. I think I might try and implement that swiss army knife.

I aim to get some gfx done very soon so I can chuck up a few pics but at the moment its all very boring stuff. So just an update really.

As far as life is concerned- not a huge amount going on, but got quite a few parties coming up.

Anyway, catch y'all later

-Charlie

## Behold

Been a very, very long time since I last posted. I've been too wrapped up in my degree.

However, my mate and I have decided to work on a game. I've scrapped my old engine and started on a new one and hes doing most of the models and art.

Anyway, I always get a rush when I first get the blinking cursor of a console.

Heres the NanoStem Platform, first blinking cursor:

I'm using a lot of the technology I created when working on my old engine. The console is the same for instance, but I have been rewriting it so its far more efficient code wise.

(Oh, the console's background is mine- I'm quite proud of it actually [smile])

Anyway, good to have my journal back up and running

-Charlie

## starting a well worn path again. Wish me luck

hey
Long time no update again.

Well, thanks to all those who have helped me with collision detection. I have used that information in conjunction with some good tutorials and realised that my current LD map format is crap and is too mangled to actually perform collision detection happily and successfully.

Taking that into account I am about to venture on a journey but this journey has already been done before. I'm rewriting HUGE amounts of my level format (thats quite a few months of work) and try and make it neat as possible. My idea is to integrate the level class around a tutorial I have read. I understand the theory behind collision detection but my level format is stored in such an obfuscated way that its almost impossible to do vaguely complex maths on it.

I may even go so far as to scrap the current format and start anew.

I can almost feel the fresh air sweeping over the age old cobwebs of my code [smile].

Well, here I go- starting some calm DJ Shadow and starting up Visual Studio...Wish me luck.

MoCo

## I'm back (not that you noticed I'd gone)

Hey all

The Story So Far...
God, its been a long...long time since I put anything into my journal.
I've been quite busy just getting stuff for college sorted out in the past few months and havn't really had the time and/or motivation to work with my game engine.

However, i've had my first few weeks at college for the foundation year before uni-proper and I'm really enjoying it (granted, i'm wishing I had actually turned up to my last year of A-Levels a bit more since I would be AT uni by now if I had). That aside I have a good bunch of mates at college now and will try and keep them as mates since we are all going into Halls of Residence next year at Sussex Uni.

Engine
Now I'm finally settled I'm getting back into programming and into my game engine.
I think the reason for me not working on the engine is because I have come to the ever fun obstacle of collision detection. I'm diving and taking no prisoners; I will get my characters bouncing off the walls (...in a good way).
After that I plan on getting the lighting a bit better and starting on a basic scripting language. again. Also I have in my mind to refine the map format a bit and add more flexability.

In Other News
An e-mail caught my eye today and guess what...? I love the new look to gamespot; everything is just a few clicks away. They have made it look far more professional and the integrated player looks sweet. A bit better than Windows Media Player style buttons. Fresh Tuesday is quite informative for a quick overview of the latest happenings of out mad-cap industry.

On the downside are Gregg Kasavin's awful sarcasm/quips/jokes on the redesign overview video. Have rotten tomatoes at the ready[wink]

I also got 'My First Car'- its a Ford KA that came with an OldSkool tape deck for a sound system. Blink and you'd miss how quickly i replaced that a Kenwood CD/MP3 player and Fusion Sub and Amp. I can pretty much roll my car from the vibrations.

Anyway,

peace out y'all

-Charlie

## oh no!

Just said goodbye to my gf. shes going for 2 weeks to the british virgin isles. I'm gonna be a wreck without her :(

The plus side is, I will actually be able to really work on my engine for the next 2 weeks [smile]

oh, and I treated myself to a new mobile phone to keep my spirits high: T-Mobile MDA Compact
I've seen it in action and its a beautiful beast[smile]. Apparently it will arrive tomorrow...cannot wait!

Engine Update: I've done pretty much nothing apart from start writing a wrapper for MD3 models.

## Mission: Slimelight

Hey dudes

Well, I have been up since 0530hrs (I was doing the Deli open up at work) and I got slimelight again tonight.

Slimelight is an alternative club up in london full of Cybers like me (Yea, i'm a freak of fashion and have a shed load of cyberdog clothes [smile]). This club is open from 2230 till 0730 which means you need a hell of alot of caffeine or in my case a few other things [wink]. So its a long day for me.

Anyway, i'm gonna request loads of hardcore from DJ Promo and Neophyte and stuff. Do any of you have any other suggestions?

Well, if I'm still alive tomorrow I'll update on how it went [smile]

Catch you later people!

## Lights Updated

Hey

Just a quick update. I was a bit disillusioned in my last post about the lights mainly because they were just not working correctly. I just fixed it and it was too simple. I just had to note this down incase it helps with other people and also to act as a reminder for me to actually read the code I have written.

The thing is, my maps are scaled down defined by a scalar value in the map format (I know, its not a good idea to use scaling but I find it easier). Anyway, having read NBs about normals having to be one unit long otherwise lighting screws up I remembered to add glEnable(GL_NORMALIZE) (The one that requires more computing). This makes sure that the normals are 1 Unit, no matter what. So I did that but the lighting was still mucked up and looked like a normal bulb light over a model village (So the normals were still the same size- See screen shot in previous post- that was diffused on .2 ...no chance that it should illuminate to that level). Anyway, I was looking through the code and couldn't find anything that was wrong.

I left it a day or so. Then I read through the information in 'The Red Book' and scoped out something that might be the root of my problems- the lighting is calculated using the model view matrix. Whats that at the top of rendering each singular entity of geometry? glPushMatrix(). The thing is I was pushing/popping a new model matrix everytime I rendered a primitive but my ModelLighting(int LightType); function was well before I Pushed the matrix which means the lighting was being based on a non-scaled model view matrix and that meant no matter what the lighting would be screwed.

Hazzah! another problem solved.

Lesson of the day- Always read your code and keep track of the times you push/pop matricies.

[Disclaimer- Do not comment on my bad over complex programming style [smile]]

Now I have a whole load of cycles wasted on iterating through the list of lighting in my level every time I render a single primitive. Major optimizing is required! I say again- Major optimizing is required!

[wink]

Anyway, thats how not to program [smile]

Catch you later, dudes

## I have seen the (Basic) Light!

Hey, hope everyones good

I havn't updated in a bit since I have had quite a bit on but I have been scoping out other peoples journals and been keeping an eye on the journals I have become a regular to [smile]

Anyway, I have decided not to go into advanced lighting quite yet. I got basic lighting up and working (not that amazingly) but it still gives the illusion of depth to the level.
I am going to get back to lighting at a later date, its good enough for me at the moment [smile]. I am actually working out what aspect of The Engine I want to go onto next.

I am eager to start making content for game the engine is being built for. My gf and I have already started planning the content which is always a good start. So my next effort will probably be content, so that includes all the basics of character movement and things. Just get a basic interactive system working (Then get back to the lights [smile])

Oh, heres a quick shot of the test level in the world view of the editor:

Over and out

## Behold the glass

Hey all

I have been working on another feature on my editor.
I didn't quite finish off all the control over the texture coords yesterday so I finished it off and integrated it fully into the editor. I also added the feature to set transparency on polygons which is always good for glass and stuff.

So now I have full control over:

+ Change the texture image
+ Change the U/V coords of the texture by increments specified by you in the editor
+ Flip the texture on the horizontal axis
+ Flip the texture on the vertical axis (Heres were Lazyfox (my gf)helped work out the coord changes for me while I did other things. Shes becoming really useful [wink])
+ Increase/Decrease opacity of texture

I have yet to sort it so you can scroll the texture along on the either u or v axis.

Anyway, heres a quick screenshot of it all in action (sorry about the abundance of 'Orange' texture [smile]):
(Note: All textures used are single 256x256 textures- the tiled walls are from the coord changes)

As you can see, I have started to slowly texture up the level so its beginning to actually look like a level rather than a building site of coloured plywood.

Next to do-

+ Fiddle around with the texture controls a bit more
+ Add a lighting model (Still gotta read up lightmaps- I feel these will be a better idea than dynamic lighting)
+ Go clubbing in SlimeLight in London

Over and out y'all

## Quick ZnO/S Update

Hi de hi all!

just a quick update on my editor.
I now have control over how the textures are presented on primitives. It took me about 3 hours to change the map format to enable me to change the coords on textures and to implement a feature to flip textures, change their coords ect.

So yet another feature is added.

I would like to add that my girlfriend (codename: Lazyfox) quickly sorted out some of the texture coords that were going wrong. So thanks LAZYFOX!!!!
[EDIT]
I would like to point out that no she can't program, it was just easier to quickly draw a diagram and have her work out the coords while i worked on another aspect of the editor. But I would like to teach her how to program one day [smile]. I got her onto computer games and by god that was a task and a half[wink]
[/EDIT]

I would also add that she won a game on unreal tournament (for the first time)... in the words of 'Purepwnage.com'- she has uber-micro.
(Albeit on novice [wink])

over and out!

## And so the world is that bit more colourful...

hey GD'ers

I had about 4 hours yesterday before I went out (hence the fact I left it till now to update) to go uber hardcore on my map editor. I managed to get one of my To-Dos done! I implemented a suface texturing function- basically you can edit the texture on the individual surfaces of the cube. Sorry, the following is a bit tedious but its really for my future reference [wink]

I have been thinking for a while how to implement a system to easily (or as easily as one can get for their first editor) texture the individual faces of the primitives. After writing down many different ideas I decided on what I feel was the simplest concept- to have a property window. Nothing to fancy- just a window that allows for keyboard input. Well, that was the first design until I decided to have as a multi-paged panel. This allows for catagories of properties- Polygon properties, Vertex properties and Texture properties. The joy of this concept is the ease of which to add new properties or catagories.
When you see the property window you may note it is very similar to the console; it is essentially a copy of my console code but modified for this purpose.

Anyway, I'm really proud of the following [smile]-

Here is your overall polygon property panel. At the moment it has nothing you can edit:

Over here, you have the vertex property panel. The vertex highlighted in red is the currently selected vertex in the world and the one highlighted in green is the one selected in the menu. You edit the 3 values using the 'SET:' command line:

And finally the whole point of the property window (The other bits were afterthoughts)- the face texture editor. Basically you scroll through the different faces of the polygon and then you can scroll through the 'texture pool' to select the texture you want on that face. The texture pool is the list of textures that the map uses that you load at 'edit-time' (to coin a phrase [smile]):

Heres the world view to show off a bit of multi-texturing within the world rendering [EDIT: I have fiddled around (Read: Followed a tutorial) with photoshop to create a slightly better texture, so heres the new one[smile]]:

And last but definitely not least is a quick view of the world in wireframe to show a bit of the basic geology my editor is capable of creating:

Sorry, quite a bit of the same thing as my other posts but I really wanted to update with my face texture editing [smile]

Anyway, its coming on ok. You may notice that the textures are mapped really crapply at the moment...this leads me onto the next section (Again, mainly for my benefit[smile])-

ToDo:
-Have more control on texture mapping (type of mapping, scewing, coords etc)
-Setup a multiple view port for the editor mode so you can see different views all at once.
-Get started on a lighting model (Lightmapping?)
-Drink Pimms

Over and out

Hey all

Well, I'm quite pleased with my editor so far [smile]. The mechanics have not been improved yet but I have got a world camera working now so I can actually look around the levels I create from within the editor.

I had quite a bit of trouble with the camera system until I asked a question in the forums and the answer was embarrassingly easy and something I had already tried but didn't seem to work previously. Anyway, thanks JavaCoolDude for you help [smile].

So now I can show you the top down view of E1L1:

and a look in the level (with the default texture):

I am quite pleased with the progress so far.

Next thing to do, all for texture on each surface of the primitive. As I said before- I already have the flexability for that in the map format and the renderer but its just a matter of implementing a method to change it within the editor.
I also need to look into full control over texture mapping. Time to dig my teeth into the infamous 'Red Book'(!).

I'll keep y'all posted!

## My First Level!

Hey all!

I got to the point with my editor that I can actually make basic levels. You have no idea what kinda buzz i'm feeling right now [smile]
Anyway, yea, so they are basic levels and the editor doesn't have the ability to add textures to the different faces of primitives quite yet- basically I'm only showing you the top view of the editor mode. If I showed you the world mode, all you would see is the default orange texture my engine uses for untextured faces.

Anyway, here is my E1L0 level (random name, nothing to do with iD softwares stuff [wink]) [smile]- it is floored and walled but no ceiling since my engine has no need for ceilings:

## Editor coming along a tiny bit

hey all

my editor is coming along a tiny bit.
I have changed the map format to cope with a whole primitive, or brush, and also include the individual verticies.
I have already got all the dimensions in a muddle on the views but nothing I can't sort out in my next build.
I also saw the 'orange rooms' from an article on HL2s creation process (PCG-UK 151) and loved their 'none assigned' texture so I have decided to have that style of texture in my editor as my default texture.

Anyway, its still a bitch to use and you can screw up polygons quite easily but hey, its a start and I'm quite happy with it [smile]

Here is ZNOS Ed in editor mode- as you can see its changed colour from my previous working build to white since its easier to see and edit the different items on the map. You can select polygons as a whole and also alter the verticies of the polygons individually.

Heres is ZNOS Ed in world mode- You can see he default orange texture here. The background is kept to black for the world mode

Next on the to-do list is get the dimensions sorted out on the editor, include a camera in the world view (Dunno how I have coped this long without one) and also to give functionality to edit textures on individual faces- I already have the functions in place for this and is included in the map format but its just a case of implementing it.

Dunno how much longer I can work on this since I got my gf staying round tonight after shes done with work and I wanna play her at UT! [wink]
Catch y'all soon!

## Map editors are a bitch. Unreal Inspiration at han

Ok, i have got the most basic element you can work with being a face, like a standard polygon. This made my simple editor a bitch to use and quite frankly impossible to make anything.

I loaded up UnrealEd to see if that could inspire me as to how to make editing a bit simpler.
It seems that UnrealEd allows you to add a simple polygon but also a cube and things which means I was onto the right idea before. The only thing that is different as far as cubes are concerned with my old build of ZnO/S Ed and UnrealEd is that you are able to control the vertices. Since I have already got a system in place for loading up individual verticies I have no probs with that; just means changing the map format. Also I have in place a system for just putting in bog standard 1D polygons so I have 2 primitives already in place.

I also plan to bring all the views into one viewport so I have:
 _______| t | f ||___|___|| s | 3d||___|___|

but I am not totally sure If I will have a 3D view.
However, I will slowly bring this feature in when I have time- at the moment, the mechanics of the editor are far more important.

Also, I have to have a proper look at the map format. At the moment I don't think I still have enough power and flexability. This is the most important aspect of the whole editor.
What I'm going for is quite an iso-pers 3D platform style world. Thats it in a nutshell, however its slightly more complex than that and the game I intend to have at the end is not cute or cuddley but for adults. As far as mechanics are concerned, the levels are going to be, as stated, iso-pers platform but with full Y axis camera control (Otherwise I would do an Isometric engine. Although I did try that at one stage and found it impossible to do collision detections. Got very confused[smile]).
I have what I want in mind but its just a case of translating that to a map format and a map format I can actually write an editor for.
So thats two concerns I have to deal with in the context of the map format.

Sorry, this is a bit of a random update but I am trying to keep a history on how I did this editor for my own future reference. Also a current reference.

Honestly, I'm going to have to start writing down plans for my applications since I'm getting myself into a total muddle here.

Over and Out

## Power is somewhat lacking... need to reroute the coupling capacitor systems

Having just got comfortable with some of the aspects of my editor I realise the current map format is just not powerful enough. Instead of control over whole primitives I need control over verticies. So I am right now changing the whole map format- instead of cubes/spheres etc I have decided to make the most basic element a polygon and then I can have a kinda embedding system where I can declare a cube and then declare the different polygon elements. Within the polygon elements I declare the verticies and their co-ordinates. I should really have thought this through before starting on the format- polygons should be the most basic elements...

This will hopefully give me a far greater amount of power and control over the architecture of levels within the engine.

Having said that, its still as basic as shit. I'm not expecting the next UnrealEd but at least something to create content for my engine.

It seems to me the most amount of time in single handedly writing an engine goes into writing the tools for content development rather than the core engine itself. I guess the next largest amount of time is taken up with content delivery. But it has certainly been quite an eye opener developing an engine.

------

In other news:

I got my girlfriends prom/ball thingy tonight. I had mine last year and thought it sucked (it was her who got me to go to mine) but this time its her finishing school so I gotta go and escort here there. Getting nicely gothed up and being a bit victorian. Sadly I gotta go in a limo- I cannot stand limos!

Nothing else at all interesting.