Jump to content
  • Advertisement
Sign in to follow this  
ToohrVyk

[4E6] NanoWar

This topic is 3993 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

April 1st 2008—a japanese tourist in a French restaurant discovers that his slice of Camembert holds the potential for limitless energy in the form of tiny specks of crystal (quickly baptised 'Camembertium') with the interesting property that its loci grow antimatter particles and keep them alive without exterior intervention. The french government seizes the opportunity and the slice of cheese and opens up a new market for nano-extraction of anti-matter from the Camembertium. The player controls a nanomachine-based energy collection system that grows on the Camembertium crystal, in a nice and clean RTS fashion. The emphasis is on detonating micro-bombs on the loci to release the antimatter, and then use the gathering unit to attract the anti-matter, collide it with matter, and send the energy to the macroscopic world to be turned into euros. Though nanomachines cost nothing to create (except time), the french government extracts a continuous tax on every functional nanomachine (depending on its complexity and size), so one should keep one's army small, lest they go bankrupt. The player wins when all other companies present on the crystal either go bankrupt or lose all their nanomachines. Among the features planned: the terrain (which is a crystalline surface) is deformable (in particular by the explosives used to release anti-matter from loci) and grows back over time to restore a flat surface. Income flow and tax flow are handled by an accounting team independent of the gathering team. The accountants drain a constant flow of income to work, but depending on their level (marked as one star to three stars) they allow fiscal tricks such as reducing or delaying taxes, or earning money for energy which is not delivered yet with minimal interest, or simply eliminating losses due to wasted energy. They are, therefore, an important part of your RTS economy. Oh, and did I mention huge nano-armies and Weapons of Microscopic Destruction? The game will most probably be playable in multiplayer on LANs (I won't be bothered to make it work over high-latency networks, such as the internet).

Share this post


Link to post
Share on other sites
Advertisement
Hmm, so the elements you'll use are accountants (the player?), crystals and explosions.
If I understood it right, you win by attacking the other players, thus cutting their source of income and waiting till they go bankrupt?

Share this post


Link to post
Share on other sites
Quote:
Original post by Gaenor
If I understood it right, you win by attacking the other players, thus cutting their source of income and waiting till they go bankrupt?


You can also destroy all their gathering and building units.

Share this post


Link to post
Share on other sites
First 'screenshot' :
Quote:
./run.out -test
Testing 'Serialize'...
Testing 'Serialize (int)'...
Testing 'Serialize (int list)'...
Testing 'Serialize (float)'...
Testing 'Vector'...
Testing 'Transform'...
Testing 'Entity'...

Share this post


Link to post
Share on other sites
Quote:
Original post by ToohrVyk
First 'screenshot' :
Quote:
./run.out -test
Testing 'Serialize'...
Testing 'Serialize (int)'...
Testing 'Serialize (int list)'...
Testing 'Serialize (float)'...
Testing 'Vector'...
Testing 'Transform'...
Testing 'Entity'...


Haha, looking good!

Share this post


Link to post
Share on other sites
New and improved, now with basic networking features!

arkadir@nyarlathotep /home/arkadir/projects/ocamlgame
> make clean test doc
rm -f run.out *.cm[ix] *.o *.s *~
rm -rf doc/
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c util.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c varArray.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c varArray.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c serialize.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c serialize.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c serializable.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c serializable.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c vector.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c vector.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c transform.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c transform.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c entity.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c entity.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c rollback.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c rollback.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c passQueue.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c passQueue.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c socketAccept.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c socketAccept.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c transmit.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c transmit.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c test.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c test.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testVarArray.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testVarArray.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSerialize.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSerialize.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSerializable.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSerializable.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testVector.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testVector.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testTransform.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testTransform.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testEntity.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testEntity.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testRollback.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testRollback.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testPassQueue.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testPassQueue.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSocketAccept.mli
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testSocketAccept.ml
ocamlopt -thread unix.cmxa threads.cmxa -unsafe -c testTransmit.ml
ocamlopt -thread -o run.out unix.cmxa threads.cmxa -unsafe util.cmx varArray.cmx serialize.cmx serializable.cmx vector.cmx transform.cmx entity.cmx rollback.cmx passQueue.cmx socketAccept.cmx transmit.cmx test.cmx testVarArray.cmx testSerialize.cmx testSerializable.cmx testVector.cmx testTransform.cmx testEntity.cmx testRollback.cmx testPassQueue.cmx testSocketAccept.cmx testTransmit.cmx
./run.out -test
Testing 'VarArray'...
Testing 'Serialize'...
Testing 'Serialize (int)'...
Testing 'Serialize (int list)'...
Testing 'Serialize (float)'...
Testing 'Serialize (type_id)'...
Testing 'Serializable (slz_mock)'...
Testing 'Vector'...
Testing 'Transform'...
Testing 'Serializable (ety_mock)'...
Testing 'Entity (ety_mock)'...
Testing 'Serialize (dref)'...
Testing 'Rollback (dref)'...
Testing 'PassQueue'...
Testing 'SocketAccept'...
Testing 'Transmit'...
mkdir doc
ocamldoc *.mli -d doc -html
ocamldoc -I /usr/lib/ocaml/3.09.2 *.ml *.mli -o doc/dep.dot -dot
cat doc/dep.dot | sed -f dotfmt | dot -Tpng -o doc/fulldep.png
cat doc/dep.dot | sed -f dotfmt -e '/Test/d' | dot -Tpng -o doc/dep.png
ncftpput -f ftpconfig -m -R -DD -V www/game doc
ncftpput -f ftpconfig -m -V www/game test?*.ml



Root directory, with public-domain unit tests.
Documentation
Dependency graph
Dependency graph (with unit tests)

Share this post


Link to post
Share on other sites
Quote:
Original post by ToohrVyk
arkadir@nyarlathotep /home/arkadir/projects/ocamlgame

If Nyarlathotep is on your side, everyone else has already lost :D

Share this post


Link to post
Share on other sites
Quote:
Original post by yckx
Quote:
Original post by ToohrVyk
arkadir@nyarlathotep /home/arkadir/projects/ocamlgame

If Nyarlathotep is on your side, everyone else has already lost :D


My Vista laptop is named Yog-Sothoth, and my former XP laptop was named Shub-Niggurath. And my PocketPC was Azathoth. I didn't use Cthulhu yet [smile]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!