MereMonkey
|
|
« Reply #20 on: October 10, 2015, 05:03:42 AM » |
|
Cool ship designs!
|
|
|
Logged
|
|
|
|
lithander
|
|
« Reply #21 on: October 29, 2015, 12:22:51 AM » |
|
Okay, third try at the fog of war effect: This one's my favourite so far. Very very nice!
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #22 on: December 19, 2015, 06:27:13 AM » |
|
Well, development has been ticking along slowly but kind of steadily. Here's an update: This is a harvester process gathering data from a data well. You can see its movement objects at the back, its harvest object at the front, and one data storage object on each side. The yellow centre of the data well indicates how much data is presently available, and the orange things around it indicate its reserves (from which the available data will be replenished gradually). Data is the basic currency of the game's economy; you need to gather it from data wells and bring it back to a process with an allocation object, which makes the data available to build new processes. Or you could use a builder process to build an allocator process near the data well (an allocator process is immobile). A process with long-range attack objects engages an immobile defensive process. The attacker has front-facing move objects which allow it to move backwards to keep its distance, although if it loses sight of its target it will probably stop firing unless it has a spotter (all processes on the same side share vision, with some limitations) or is configured to keep firing blindly. A couple of larger processes face off. Each is partly protected by an interface (aka a shield) which can absorb a large amount of damage, but once it goes down the process can be destroyed component by component.
|
|
|
Logged
|
|
|
|
TobiasW
|
|
« Reply #23 on: December 19, 2015, 08:01:56 AM » |
|
I'm loving the visuals and the theme of this. Looking forward to seeing this progress further!
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #24 on: March 02, 2016, 04:14:10 AM » |
|
So progress has been steady but slow... These are autonomous (i.e. not user-controlled) processes - the large yellow one is a kind of leader which broadcasts a signal to other nearby processes, and the little yellow ones are followers that listen for the signal and, once they find it, swirl around the source. The blue process had some followers too, but they didn't make it I've changed the fog of war effect again. I liked the look of the one I had before (the animated gif up the page) but the overall effect was kind of oppressive, as if there were always dark clouds rolling across the screen and closing over the player's vision. Also changed are the packet (bullet) and move object (engine) effects - now they look kind of like waves rippling along, instead of like more chunks of flat-shaded pixels. And I just realised a few days ago that one of the fixed-point maths functions I was using (hypot) was secretly calling a floating-point function and converting the result back into fixed point. That's not good, because if I want the game to run consistently across as many different systems as possible I can't use any floating-point stuff in the gameplay code (there's plenty in the display code, though). Fortunately it turned out to be easier than expected to implement an integer-based sqrt, and not much slower. Now I'm working on the manual. I know no-one reads manuals anymore, but this game really needs a readable specification for the programming API. It turns out that technical writing is not that easy!
|
|
|
Logged
|
|
|
|
DigitalEelRich
|
|
« Reply #25 on: March 30, 2016, 02:07:37 PM » |
|
This looks just great. Cool concepts & art. Will follow!
|
|
|
Logged
|
This isn't science. It's more like black magic. - Victor Frankenstein, Bride of Frankenstein
|
|
|
linley
|
|
« Reply #26 on: July 05, 2016, 05:44:07 AM » |
|
Sorry for the lack of updates, but it's difficult to make an interesting story out of things like "I fixed a bug in the expression parser" or "now the manual has a few pictures in it". Anyway, time for a work-in-progress release! Version alpha 1 is now up at Sourceforge: Windows binary (run LibCirc.exe to play; all data files and the manual are included in the zip) Source code (requires the Allegro 5 library; should compile on any platform supported by Allegro) Here's a few minutes of gameplay: The game is set up to run in a window, in case trying to run in fullscreen is a problem for some people. I suggest editing init.txt to make it run in fullscreen windowed mode if possible. In this version: - the basic gameplay is all there
- the autocoder generates all the code you need to play it like an RTS without doing any programming (the blue processes in the video are all autocoded)
- there are 7 increasingly difficult missions to play, including a tutorial
- asynchronous multiplayer is in
- there's a (mostly complete) description of the API in the manual
Still to come: - rebalancing
- new components and objects
- story mode
- compiler optimisations
- lots of other stuff
Have fun. All comments/critique appreciated!
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #27 on: July 06, 2016, 03:44:25 AM » |
|
If anyone is interested in building their own Linux version, bamccaig at the allegro.cc forum has written a bash script to download and build the game (requires Allegro 5, of course). Here it is. As he points out, Sourceforge has been getting itself a not-great reputation in the last few years. Does anyone know of any good alternatives (for FOSS projects) that are suitable for distributing binaries as well as source? Github seems to be focussed on collaboration through git and isn't really what I need. Maybe Fosshub?
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #28 on: July 14, 2016, 05:10:45 AM » |
|
Anyway, I'm not sure about the font I used for most of the in-game text; the individual letters look okay, but it's hard to read somehow (part of the problem is that it needs to be fixed-width for various reasons). I'm thinking of going back to an older font with more rounded letters: (example text from the tutorial mission: the current font is on the top; the new, rounded font is on the bottom). Yeah, I think the rounded one is the way to go.
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #29 on: July 17, 2016, 06:14:36 AM » |
|
I had a problem with coordinating units building other units: if there were (say) 3 builders, with 2 of them trying to build multiple cheap units and 1 trying to build an expensive unit, the cheap units would use up all of the resources (data) as fast as they could be accumulated and the expensive unit would never get built.
This would be easy to fix if units had a single command program that could allocate building tasks in a unified way, but not so easy for LC's distributed unit AI. In the alpha release I dealt with it (for the enemy mission AI) by having the builder that was trying to make the expensive unit send out a broadcast asking other builders to stop building anything until the expensive unit was finished. But this was awkward and complicated.
Anyway, my solution was to add a unified build queue for each player, including computer-controlled players. Builder units can add build orders to it, and when one of a builder's orders is at the front of the queue it can execute it with a simple build_from_queue() call. Build commands given by the user through the mouse interface automatically go on the queue (and the user can also cancel orders on the queue or move them up and down). It seems to work!
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #30 on: July 25, 2016, 03:56:47 AM » |
|
Some progress towards a beta release: - A clearer and more useful tutorial
- Various improvements in the autocoded AI - in particular, it's less likely to collide with the enemy now
- Less bouncy collision physics
- A less cluttered interface - the process information box can be minimised now, and the console is smaller
- Fewer annoying method failure messages for things like trying to build with insufficient data
- The procedural music now starts off simple, then builds in complexity. It also has several more possible scales
- The build queue and font improvements mentioned above
- Better graphics for harvesting, transferring and repairing
- Support for non-QWERTY keyboards and key remapping
- Notifications when your units come under attack
- Follow mode, in which the display tracks the selected process
- Rebalancing and other minor changes - I think the stream method (the beam thing) is still a bit too good
I still need to do more testing, and update the manual with some of the API changes related to the build queue. I'm also thinking about adding a special chaos mission where the data well placement and the enemy's units are randomised to some extent, which could be interesting. Story mode will have to wait for something closer to the final release!
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #31 on: August 04, 2016, 05:06:38 AM » |
|
Time for a new release version! Alpha 2 is up at sourceforce: Windows executableSource codeVersion pageIn this version: - Many interface improvements
- A more comprehensive tutorial
- Some AI updates
- Some bug fixes (including an annoying memory leak)
- Lots of other things
This version opens to a fullscreen window by default, so if that will annoy you please edit init.txt before running it (see instructions in the text file). This video shows the gameplay in more detail, including designing a new process and using the code editor (at the start I copy the code from the tri_base process into template 0, so that the more expensive tri_base process spawns at the beginning).
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #32 on: August 11, 2016, 07:47:17 PM » |
|
Just added control groups - just like Starcraft 2, you can set a control group by pressing ctrl and a number (1-9) while some processes are selected, add to a control group by pressing shift and a number, and select a control group by pressing just the number (pressing it twice centres the display on the first member of the group).
This stuff is hard. I think the next game I write is going to have a very simple user interface...
|
|
|
Logged
|
|
|
|
linley
|
|
« Reply #33 on: September 10, 2016, 03:22:44 AM » |
|
I'm working on the backgrounds, which have up until now just been tiled hexagons with slightly randomised sizes (although they can be altered to some extent by events in the game). Latest addition: a fairly subtle parallax scrolling effect:
|
|
« Last Edit: September 10, 2016, 03:35:00 AM by linley »
|
Logged
|
|
|
|
Dacke
|
|
« Reply #34 on: September 12, 2016, 04:57:07 AM » |
|
Github seems to be focussed on collaboration through git and isn't really what I need. git & github/bitbucket do have collaboration features, but that's true for all version control systems. I'm pretty sure distributed version control systems (like git and mercurial) are the best option when working on your own, since you don't have to have a server if you don't want to. The project folder becomes it's own self-hosted repository. Hosting a copy on a server (like github) is completely optional and doesn't get in the way of your own work (just git/hg push your changes to the server if/when you want to) for binaries github has "Releases" ( https://help.github.com/articles/about-releases/) and bitbucket has a standard download page
|
|
|
Logged
|
programming • free software animal liberation • veganism anarcho-communism • intersectionality • feminism
|
|
|
linley
|
|
« Reply #35 on: September 27, 2016, 05:09:59 AM » |
|
I've finally finished something I've been meaning to do for too long - adding drag-and-drop mouse controls to the process designer. I've also improved the selection indicator graphics, which were not very good; now they look like this: You can drag an object (like the forward pulse object selected here) to move it to any other position on the process, and press shift to copy instead of moving. Objects and components are now rotated by dragging a rotation icon (the red thing with arrows) around instead of holding shift, which was kind of awkward in practice. Components can be moved around in a similar way, by clicking on the links connecting them together and dragging to another position (although copying components is not implemented at the moment). It's much better!
|
|
|
Logged
|
|
|
|
|
linley
|
|
« Reply #37 on: January 06, 2017, 03:34:12 AM » |
|
Almost there! All I have left to do is finish writing the AI for the last few missions, and a bit of testing. Plus fixing any problems I find along the way, which is of course the part that takes the most time. A couple of screenshots, which show the new, improved explosions, the more detailed backgrounds and a number of other changes. More to come!
|
|
|
Logged
|
|
|
|
|
|
|