Difference between revisions of "DevBlog"

From SfzWiki
Jump to: navigation, search
(2007 September)
(2007 September)
Line 2: Line 2:
  
 
=== 2007 September ===
 
=== 2007 September ===
 +
 +
[[User:Ghoulsblade|Ghoulsblade]] 19:50, 23 September 2007 (CEST) : geom edit triangle generation starting to work, but we still have to remove inner triangles, i currently have no idea how to detect them :(
 +
<gallery>
 +
Image:20070923194556_953.png
 +
Image:20070923194608_889.png
 +
</gallery>
  
 
[[User:Ghoulsblade|Ghoulsblade]] 15:52, 23 September 2007 (CEST) : we're currently experimenting with a simple geometry editor where you can turn on and off the edges of a cube to describe the geometry of a ship-part, this allows to create ramps, pyramids and similar shapes with a relatively easy interface.
 
[[User:Ghoulsblade|Ghoulsblade]] 15:52, 23 September 2007 (CEST) : we're currently experimenting with a simple geometry editor where you can turn on and off the edges of a cube to describe the geometry of a ship-part, this allows to create ramps, pyramids and similar shapes with a relatively easy interface.

Revision as of 17:50, 23 September 2007

for download, see Main Page

2007 September

Ghoulsblade 19:50, 23 September 2007 (CEST) : geom edit triangle generation starting to work, but we still have to remove inner triangles, i currently have no idea how to detect them :(

Ghoulsblade 15:52, 23 September 2007 (CEST) : we're currently experimenting with a simple geometry editor where you can turn on and off the edges of a cube to describe the geometry of a ship-part, this allows to create ramps, pyramids and similar shapes with a relatively easy interface.

Ghoulsblade 02:04, 22 September 2007 (CEST) : more heightfield tweaking, now with a nice cc-by texture from the blender repos (see readme)

Ghoulsblade 23:01, 21 September 2007 (CEST) : first experimental heightfield on planet :


Ghoulsblade 04:33, 19 September 2007 (CEST) : first very simple planet landing

Ghoulsblade 01:27, 18 September 2007 (CEST) : threads are working now, and the keepalive message for online games that is sent via http to our masterserver (a php script which just keeps track of running games) is now sent using the threaded http netmessage util, so the game doesn't hang anymore while the connection is established =)

Ghoulsblade 03:08, 17 September 2007 (CEST) : starded playing with boost threads, made 2 threaded utils :

  • sending a simple network request and waiting for the answer
    • e.g. for loading a php page via http, like for our online-game keep-alive message.
  • loading a big file to memory

Both are i/o operations, so making them threaded prevents the game from hanging. I haven't finished the lua bindings for them and haven't tested them yet, but making them threaded was very easy with boost. I made it so that our code can be compiled without boost and without thread support, in that case they still work, but are blocking operations.

hagish 03:11, 16 September 2007 (CEST) : worked on the mission system and improved the ui (mission display, waypoint) a bit. first little kill mission added. you can create the test mission using the F9 key.

Ghoulsblade 12:09, 15 September 2007 (CEST) : we worked a bit on sfz last night, we had to kick the boost::timer as it was very unreliable, (varying second length, depending on wether i move the window partly outside the screeen...) and hagish convinced me to finally look up the SDL code and extract the essential bits for timing and it was easier and shorter (win:1 line, linux:3 lines) than i though, and now we have a good timer that needs no extra lib. hagish started redesigning and extending the mission system, things might currently be a bit broken though. I improved the file-browser-dialog code a bit, and now you can navigate directories. It's still rather ugly as it is not easy to make scrolling support in our current gui, but it's better than before. Also i cleaned some rather old code in lib.timer.lua, that is now easier with the listener system.

hagish 16:25, 9 September 2007 (CEST) : Last night i implemented basic rocket support and started enemy groups handling code for kill missions.

Ghoulsblade 00:07, 6 September 2007 (CEST) : i tried adding the stuff from the ogre cellshading demo to sfz, it worked, but looks bad, and does not support textures, only plain color materials. so this won't do, we'll need something completely different if we decide to use a slight celshading effect.

Ghoulsblade 03:18, 4 September 2007 (CEST): just added some new models from kaelis and classic_traveller_diehard :

Ghoulsblade 02:30, 4 September 2007 (CEST) : we've now got an ingame bug reporting system : when an error occurs for the first time, you are asked if you want to send in a bug report, you can do so with one click on the SEND button, no copy-pasting needed, and you can see the info that will be sent.

hagish made an irc lib and i just built it in, now when you start sfz you can chat in our irc channel. the username used for irc is auto-detected from your system user, should work on win and linux, and a 3 digit random number is appended just to be sure.

i also made a new win binary updated the downloads on the mainpage =)

Ghoulsblade 01:03, 3 September 2007 (CEST) : we now have a master/gamelist-server. when you click "host game" the game is announced on that server, and other players can connect to it, if your firewall/router allows incoming tcp connections on port 6666. The currently open games are listed on the start menu screen. you can customize the game name by adding a line like this to data/config.lua :

 gGameName = "YOURNAME's game"

hagish 21:09, 2 September 2007 (CEST) : I experimented a bit with ode. Ode itself works quite well and the basics are very easy. I tried to implement a good ode-based ship movement but i experienced problems with the correct roll/pitch of the ships. They did nothing or circled around like crazy. I'll look inti this another time. Lugre got a basic IRC implementation (very basic, you can login, join and chat :) ) for our lobby.

Merlin 03:56, 2 September 2007 (CEST) : If your energy consumption is higher then your production and your energy equals zero one of the energy consuming entities is unequiped

Merlin 21:49, 1 September 2007 (CEST) : I just started helping with sfz and implemented my first feature. If you press "left alt" the names of all objects will be shown and there are some modificators (press and hold "left alt" and in addition)

  • "a" shows only asteroids
  • "s" shows only ships
  • "b" shows only planets and space stations (b stands for base)
  • "e" shows only enemies

2007 august

Ghoulsblade 02:45, 31 August 2007 (CEST) : not much new code in the past few days, just a few small fixes (just now : hud-target-line should work on all systems) i've been busy finishing something for iris. but a few nice models and interesting discussions in irc and in the forum have happened in the meantime.

Ghoulsblade 15:21, 25 August 2007 (CEST) : another coding night with hagish and many news to report :

  • new ship-model for pirates
  • shipeditor : ctrl-click for mass placement (hard to explain, just try and see)
  • shipeditor : quicksave button
  • shipeditor : improved lightning
  • shipeditor : shift-click : line tool
  • equipment system starts to work, various equipment parts added
    • shield-battery : shieldmax+100
    • big shield-battery : shieldmax+200
    • shield-charger : shieldrechargerate+50, energyrechargerate-5
    • fusion-reactor : energyrechargerate+50
    • nickel-cadmium-accumulator : energymax+100
    • titanium-armor : hullmax+200 (has to be repaired first)
  • ship-engine-exhaust particle/trail can now be placed, and there can be more than one per ship
  • ship orientation during flight improved
  • pirates now get angry and attack you when you come too close
  • pirates now call their friends when you shoot them
  • pirates : dead pirates spawn new little ones
  • interior : you can save/load the interior layout you created by f5/f6
  • a new, huge shiptype is available

Ghoulsblade 22:35, 24 August 2007 (CEST) : mesh editor starts working.


Ghoulsblade 00:33, 24 August 2007 (CEST) : i started working on a simple ingame mesh editor, this will be useful for importing new models, so the rescaling,rotating and repositioning of them can be done with a grid in game coordinates and other ingame models like the space-man for size comparison blended in.

Ghoulsblade 16:53, 23 August 2007 (CEST) : now i also added the models from classic_traveller_diehard ingame. scaling and position still has to be adjusted, but i plan to make a seperate tool for that.

Ghoulsblade 16:33, 23 August 2007 (CEST) : i extended the blender-ogre-exporter script to be more comfortable, see http://ghoulsblade.schattenkind.net/ogre/ and i adjusted our blender export howto : HowToExportFromBlender , it's now much more comfortable to get a .mesh file. Kaelis already tried the guide successfully, and improved his biotube model to work better ingame :

hagish 01:23, 23 August 2007 (CEST) : First ode binding working. In the lab you can see 2 bouncy fridges :) (start sfz with commandline parameter -lab)


Ghoulsblade 00:26, 23 August 2007 (CEST): a few more screenshots with better engine trails, and my first try to import blender models (hagish imported the other models so far). I found exporting/importing is currently very troublesome because i had to rename many things and change filepaths, so i'm thinking about looking into the exporter sourcecode and trying to add an option to automate this in order to make exporting easier. Also the models still have to be rescaled, repositioned and rotated before the can be used correctly ingame, and i think i'll try to make an ingame editor for that, so they can be compared directly to existing ingame models like the spacesuit for a better size-impression, and i can blend in a grid in ingame coordinates this way. It'll be quite a bit of work, but i think it will be well worth it in the long run.


Ghoulsblade 02:49, 20 August 2007 (CEST) : hud stuff : edgemarkers and name display for objects

Ghoulsblade 23:12, 19 August 2007 (CEST) hagish and i met this weekend and coded like crazy =)

  • we've replaced the billboard-planets by 3d-ones with textures from the freeorion orion project that were available under cc-by-sa (see README for credits)
  • hagish added a spaceport menu listing planets and stations
  • mousepicking is now more accurate and when there are multiple objects under the mouse you can cycle between them by clicking repeatedly
  • we tested multiplayer networking and solved a few bugs and issues, it works fine in a LAN
  • we accidentally "discovered" a feature, when you exit a ship while it's autopilot is activated, the autopilot does not switch off, and it continues to not only approach, but to actually FOLLOW the target if it is a moving ship. by repeatedly undocking fighters from the mothership, setting them to follow leaving via spacesuit and re-entering the mothership, we built a little fleet of fighters following us and made a few screenshots
  • hagish improved a few things in the gui system
  • you can now "call"/mark targets by pressing strg-t for the rest of the team, they have a red hud-border and can be selected by pressing t
  • a line marker now helps finding the direction to selected targets that are offscreen
  • we experimented with engine trails
  • we built in the gui graphics that ray made for sfz
  • a few changes in how cargo is handled internally in preparation for a generic container/equipment system
  • we now have a little cursor
  • we made a lot of screenshots



Ghoulsblade 18:27, 15 August 2007 (CEST) : simple delivery missions are now working, e.g. you can earn some extra iron by bringing supplies from earth to mars. still far from actual gameplay fun, but it's a good start.

hagish 22:42, 14 August 2007 (CEST) : ok, openal should work ok with wav and ogg files in the current svn version. but it sounds a but sloppy (if i use openal with alsa). I also added a random name generator based on this article: http://www.gamedev.net/reference/articles/article2016.asp

hagish 21:54, 7 August 2007 (CEST) : added some icons and keybindings to the shipeditor to make using it more comfortable.

Ghoulsblade 00:33, 6 August 2007 (CEST) we're back from dusmania, had a lot of fun, some interesting talks, and saw lots of spacegames this year, but mostly 2d. we also worked a bit on sfz and talked with a few people about it and got lots of positive feedback, which is very motivating =D hagish started experimenting with random generated structures that can be used for plants and lightning effects, and i just finished a geometry generation utility called loft (the green thing, not yet used with hagish data), that can be used later to generate geometry for plants with the data generated by hagishs lib.


Ghoulsblade 00:39, 4 August 2007 (CEST) : bought weapons can now be equipped from cargo dialog
hagish : solar system loaded from file, asteroids marking planet orbits


Ghoulsblade 17:34, 3 August 2007 (CEST) : a very simple trading starts to work, you can now buy and sell iron for other things, but so far they're useless, but that'll change soon. hagish and i will be on http://dusmania.de/ this weekend.

2007 July

Ghoulsblade 11:39, 29 July 2007 (CEST) : we extracted/capsuled all the code shared between sfz, iris2 and other projects and put it into an external lib so we have it in one central place and don't have to merge changes back and forth every time. As the main part of the lib is the lua binding for ogre we decided to call it lugre : http://lugre.schattenkind.net

Ghoulsblade 01:11, 28 July 2007 (CEST) : i've been busy with work (and with watching a cool animee) this week, so i didn't find the time to write here...

Thanks to rookie1 from the freegamer forums it might now be possible to compile and run sfz on a 64 bit linux, but i can't test... He sent in a patch, i added it to trunk, and also fixed a few other things that might be troublesome in 64 bit. see this thread for details : http://freegamer.schattenkind.net/index.php?t=msg&goto=111 I also squashed a few bugs, cleaned a few things along the way, and made a new win32 exe, so you might want to run the updater if you were having problems.

To clear up misunderstandings about the "as long as" in my last post : We will implement some form of spacefolding travelspeed and possibilities to interrupt it, but i think we need to focus on other things first, see this thread for an interesting discussion about the topic : http://freegamer.schattenkind.net/index.php?t=msg&th=11

There is a lot of code being shared between iris2 and sfz, and soon also by a third game-project by hagish and ray, so we will probably extract that code into a seperate lib to avoid having to merge new stuff back and forth every time. It's mainly a lua wrapper for the most important ogre parts as well as several utils for networking and similar things.


Ghoulsblade 02:01, 23 July 2007 (CEST) after thinking a while about space-folding travel and all the things to be considered when implementing it, i came to the conclusion that we don't really need it yet as long as the planets are so close together and not on a realistic scale, and other things like trading and missions are more important right now, and those usually involve traveling to other star systems, so i started a bit with the code for a list of star-systems

Ghoulsblade 00:33, 21 July 2007 (CEST) experiments with simple engine-particles

Ghoulsblade 20:00, 20 July 2007 (CEST) : screenshot of two new models by isha :

hagish 18:14, 16 July 2007 (CEST) : now laser and explosions have sound effects if you activate it in the config

Ghoulsblade 17:31, 16 July 2007 (CEST) : win compile was successful, so we now have a new binary released :

win32-binary (build 489, ca32 mb)

you might need to install this before it works: Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) : http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en

in the initial setup dialog, choose directx instead of opengl otherwise it crashes for an unknown reason so far.

it includes an updater.exe to get the latest code changes, and as we are working mainly on the lua code which does not need to be compiled, you can get the latest changes this way even if we don't make a new release for a while. A new binary release will only be needed if there are changes to the c++ code, which are rather rare. Please note that sfz is still work in progress and there isn't any real gameplay yet, just a few things to try out =)

Ghoulsblade 02:46, 16 July 2007 (CEST): i successfully compiled and modified the iris updater for sfz, but it is useless until we have win binaries in the svn. i'll try to compile some using the project file by pascal in the next few days.


Ghoulsblade 20:11, 14 July 2007 (CEST) : we now have our own forum, thx to charlie aka FreeGamer for hosting us !

Ghoulsblade 05:48, 14 July 2007 (CEST) : another coding night with hagish and lots of stuff done. we can now walk around inside the ship and place several furniture items and stuff like doors, ladders, grates, engines, and it even works well over network =)

Ghoulsblade 00:14, 12 July 2007 (CEST) : i'm currently busy learning and writing tests for my studies, so i won't get to do much until the end of next week.

Ghoulsblade 19:04, 9 July 2007 (CEST) : hagish skinned the space-suit and the generator :

Ghoulsblade 19:41, 7 July 2007 (CEST) : enhanced the interior mesh generation a bit more, holes should be fixed now, some fine borderlines and a little tweaking of the ambient light vector greatly improve the spatial awareness, and i changed the firefly model to look better from the inside.

Ghoulsblade 03:41, 7 July 2007 (CEST) : experiments with walking around inside space-ships have begun, it's flying rather than walking and there is no collision detection so far, but we've got the inverted ship-mesh with inner walls removed. also hagish made a few nice 3d models : a space-suit to avoid billboard troubles, a couch : one of mankinds greatest achievements which should be aboard every starship, and a engine/generator like model that we'll use for various machinery, being able to hue/recolor meshes via lua code sure multiplies the uses for a new mesh :)

hagish 02:36, 7 July 2007 (CEST) : another coding night :)

Ghoulsblade 19:56, 6 July 2007 (CEST): we're currently working on a "location" system, that enables us to move objects to seperate "dimensions", for example to avoid destroying a fighter-object when it is docking, it is simply moved to a seperate "hangar-dimension". these things can later also be used for walking around inside spaceships (we're also working on generating experimental interior meshes for that) and for wormholes, etc... such a "dimension" has nothing todo with fancy graphics, it's just a logical grouping of objects so coordinate systems can overlap without objects interfering with each other. this isn't quite finished, the hudmarkers and other things still have to be adjusted. the current "hangar dimension" is nothing more than a gray empty space so far =)

Ghoulsblade 23:41, 4 July 2007 (CEST) : player now starts with a bigger ship and can launch from it in a little fighter and dock back on if they wish. meshes and gui for this are still very simple, but the code behind it works and can now be cleaned and extended.

Ghoulsblade 02:02, 4 July 2007 (CEST) : it is now possible to exit the current spaceship and float around in a space-suit, you can also enter ship. but there is a funny bug : i did put a check in to ensure that you couldn't enter pirate ships, but i forgot to check if the object to be entered is actually a ship, so now you can enter anything (except pirate-ships) and fly around as an asteroid, as a space-station or even as a wormhole :)

Ghoulsblade 19:36, 3 July 2007 (CEST) we've got a billboard space-suit ! so i guess we'll soon add something to enter and exit spaceships

Ghoulsblade 18:19, 1 July 2007 (CEST) i reorganised the object code a bit in preparation for buying,selling and installing equipment

2007 June

Ghoulsblade 03:12, 30 June 2007 (CEST) : now we have text next to the hull and shield meters, especially the distance info to the selected target is useful. also the right-click-menu has gotten a few useful new items.

Ghoulsblade 19:59, 29 June 2007 (CEST) : just moved the branch we were working on back to the trunk, so if you have been using the branch please change your svn path to

 svn checkout svn://zwischenwelt.org/sfz/sfz/trunk

i made a simple cargo dialog you can see what cargo you have, and can jettison it if you don't need it. also it's now easy to add tooltips to gui elements, and i have done that for the shield and hull-meters already. (see left-top, the mouse isn't visible on the screenshot)

Ghoulsblade 00:57, 28 June 2007 (CEST) : real live will keep me from coding until friday, i just dumped a few ideas here : Ideas_mission_planets

Ghoulsblade 23:08, 26 June 2007 (CEST): players can now collect cargo, currently this is only iron from destroying asteroids and pirates, stations can now offer services (available via right-click-menu when you are close enough), currently only repairing the ship, which costs iron =D

Ghoulsblade 17:56, 26 June 2007 (CEST): we got shields, and we got fancy hud meters for shields and hull status of your own ship (left-top) and of the selected target (right-top)

Ghoulsblade 23:37, 24 June 2007 (CEST) : hud : object markers : colored edges around objects

Ghoulsblade 22:37, 24 June 2007 (CEST) : finished cleanup and extension of code used to track 3D elements with 2D-HUD-gfx, now we've got the basis for fancy hud stuff like edges around objects and text next to them.

Ghoulsblade 23:45, 22 June 2007 (CEST) : gui and input system cleanup is finished so far, just the cursor stuff that was in the old gui code has to be reactivated, but thats not much. New context/rightclick menu implementation, supports easier creation and nested submenus.

Ghoulsblade 22:24, 21 June 2007 (CEST): there is a forum thread about sfz in the freegamer forums in case anyone wants to talk about it =)

Ghoulsblade 22:55, 20 June 2007 (CEST) : we're currently cleaning up and improving the input and gui systems, especially event-handling. i also started writing a little developer documentation about the input system, but its still work in progress, see DevDoc:Input

Ghoulsblade 00:18, 17 June 2007 (CEST) a simple experimental rightclick menu can be used to activate a simple approach/follow autopilot

Ghoulsblade 19:41, 16 June 2007 (CEST) : targets can now be selected via mouse-click, that makes destroying asteroids easier.

Ghoulsblade 02:28, 16 June 2007 (CEST): first experiments with 3rd person cam

Ghoulsblade 13:54, 15 June 2007 (CEST): After experimenting a bit we decided against making sfz combat based on fast reaction time and dogfight navigation, which quickly leads to frustrating "where is the enemy" problems. Instead weapons won't have to be aimed manually, they'll work like turrets, and if the enemy is in range you will be able to hit him without effort.

The deciding factor in combat will be stuff like weapon ranges and strengths and weaknesses of different weapons against different shield-types, homing missiles and counter-measures, maybe also a bit of energy management. This makes positioning, tactics and equipment a more interesting component.

Therefore a 3rd-person perspective of your own ship will probably be better than 1st person, for getting a better overview. This also fits nicely with the ship-editing features, because if you designed your own ship, you will want to see it =) Another benefit is that this makes it easier to use the mouse for gui stuff during combat, as there is no more need to use the mouse as joy-stick-like aiming tool, like in 1st person. So we can use the mouse for clicking on a target list, display tooltipps over hud-elements, and configure weapons and autopilot maneuvers with a proper gui using the mouse instead of dozens of key-combos like in most 1st-person-joystick space sims.

The massive multiplayer spacegame eve-online also has a similar gui to what we are aiming, I tried it some time ago and it had some interesting gui (ingame web-browser, 3rd person stuff like described above, target lists, cool map) and some nice gameplay elements (frequency crystals for weapons, buildingplans for equipment, most stuff could be crafted, also weapon ranges were very important) but it sufferes from being massive multiplayer and having rpg elements, e.g. you needed skills to do stuff and training a skill takes hours or even days, also death there means you loose equipment that took days to get, so people tend to be rather careful when and what to fight.

This leads to lots of ressource grinding, which i personally don't like too much, as it eats so much time. By not going massive multiplayer, and focusing on coop instead, we will try to avoid these problems.


Ghoulsblade 23:44, 11 June 2007 (CEST) code is now online (not trunk, but branches/eihortport)

hagish 14:46, 10 June 2007 (CEST) friday night ghoulsblade and i worked on sfz. due to a lack of internet (his t-online router sometimes acts a bit bitchy) the current code is not online but here are some screenshots. you can now fly around kill each other using the custom ships. the satellites with the green lasers are a first test of tower-defense like "towers".

Ghoulsblade 23:00, 7 June 2007 (CEST) pirates hunt the player, and player laser can now damage and destroy stuff

Pascal 08:27, 6 June 2007 (CEST) : Pulled actual source through VC 2k5 EE. Shooting pirates seen on a Windows XP flagship. :-P

Ghoulsblade 23:39, 5 June 2007 (CEST) : pirate attack ! they don't move yet, they only turn towards the player and start shooting lasers when he comes close enough, but lasers don't do damage yet =)

Ghoulsblade 09:38, 5 June 2007 (CEST) our sourceforge project has been approved =) soon we'll have a nice mailinglist (6-24 hours)

Ghoulsblade 22:54, 4 June 2007 (CEST) : experimental colored hud-text for all objects


Pascal 17:30, 2 June 2007 (CEST) : first working version of sfz-editor under Windows XP with MS Visual Studio 2005 Express Edition successfully created. Without sound support.

Ghoulsblade 13:30, 2 June 2007 (CEST) : network code is proceeding nicely, netmessage system with format and size checks is in place, udp works, resyncs are sent, received and handled, and the plugin system is also starting to take shape.

archive

DevBlogArchive