I currently have it running around 30fps on the n810 (just did a major optimization pass to get there)... but the tiles are 30px instead of the 1px on the webgame - Python is a bit slow for this kind of thing, it seems. Of course the n810 is only 400mhz.
You might be able to speed it up a lot by using numpy array operations.
It does bulk operations in C, so it's a lot faster than looping in Python.
I find the syntax a lot nicer for numerical operations than lists as well.
I got the physics part working, that was easy (I started working on this on MONDAY) and got the element selection widget working, I have 16 elements so far (10 selectable, the rest are derivatives) and got very rudimentary reactions working (water + ice so far).
I currently have it running around 30fps on the n810 (just did a major optimization pass to get there)... but the tiles are 30px instead of the 1px on the webgame - Python is a bit slow for this kind of thing, it seems. Of course the n810 is only 400mhz.
I look forward to it. Out of interest, are the flying and combat dynamics based on Frontier? I think maybe I preferred the original Elite style myself (you know, where you didn't have to slow your ship down a million miles away from a planet and such).
I don't know I havn't personally played any of the original games,
Got the current dev version working on my computer now so I'll make a video giving a demo and post the link here so you can see for yourself...
I concur, that is a lot of fun .. though I don't understand all the interactions, I realize there is definitely a state of materials process going on, and that could be fun for hours, and hours, and hours .. be nice if you could change the pixel/block size to bigger for education purposes though ..
I got the physics part working, that was easy (I started working on this on MONDAY) and got the element selection widget working, I have 16 elements so far (10 selectable, the rest are derivatives) and got very rudimentary reactions working (water + ice so far).
I currently have it running around 30fps on the n810 (just did a major optimization pass to get there)... but the tiles are 30px instead of the 1px on the webgame - Python is a bit slow for this kind of thing, it seems. Of course the n810 is only 400mhz.
Maybe this project should be open-sourced and then accelerated using GLES2 and some cool effects, then C or even assembler for the physics (possibly 3D later) and phyton filters to control the reactions?
I'm thinking of writing a Bomberman-style game. It'll be single player at first, but I might decide to add in multiplayer later. I'm thinking of doing it in isometric 3D, something along those lines. It may or may not have a campaign, but it will definitely have the standard "arcade" mode.
I currently have it running around 30fps on the n810 (just did a major optimization pass to get there)... but the tiles are 30px instead of the 1px on the webgame - Python is a bit slow for this kind of thing, it seems. Of course the n810 is only 400mhz.
You might be able to speed it up a lot by using numpy array operations.
It does bulk operations in C, so it's a lot faster than looping in Python.
I find the syntax a lot nicer for numerical operations than lists as well.
Heh... for future reference: When making a profiler for your game to see where the speed issues are... don't use python font rendering. I switched to a bar graph and suddenly I have tons more clock cycles.
So yeah, it runs quite fast now. I have the logic in for more interactions, I'm working on getting the trees looking nicer though. The logic is not much of a CPU hit. The slowest part was actually rendering to the screen. But now I'm just blitting sprites, so that's super fast. And I STILL haven't implemented the 'only check active dots' optimization. I'm at 16px dots at around 30fps right now. Pandora should be able to do that at 60fps easily. Possibly faster, since the drawing operations would use the hardware, right?
Definitely looking forward to having the Pandora, I was noticing that pygame can do textured polygonal rendering... heck yes.
I got the physics part working, that was easy (I started working on this on MONDAY) and got the element selection widget working, I have 16 elements so far (10 selectable, the rest are derivatives) and got very rudimentary reactions working (water + ice so far).
I currently have it running around 30fps on the n810 (just did a major optimization pass to get there)... but the tiles are 30px instead of the 1px on the webgame - Python is a bit slow for this kind of thing, it seems. Of course the n810 is only 400mhz.
Maybe this project should be open-sourced and then accelerated using GLES2 and some cool effects, then C or even assembler for the physics (possibly 3D later) and phyton filters to control the reactions?
Once I have the code in a less messy (embarrassing!) state and I feel it's relatively finished, I will open source it. Then anyone who wants to redo it in C or something can feel free to. I'm more of a prototype/design guy (it says so on my business card), not exactly a programmer. Besides, there just aren't enough cool open source games/toys.
Heh... for future reference: When making a profiler for your game to see where the speed issues are... don't use python font rendering. I switched to a bar graph and suddenly I have tons more clock cycles.
Heh... for future reference: When making a profiler for your game to see where the speed issues are... don't use python font rendering. I switched to a bar graph and suddenly I have tons more clock cycles.
True, but it's nice to see it in real time. Like this morning I tried using a randomizer to get some random number data... and I could see exactly what I was doing that was causing the CPU spikes. The n810 doesn't do multiple windows, so I need to see it in the game window. I'm drawing 4 small lines per frame to show me CPU usage per game module (control, hud, logic, rendering), it's not a serious processor hit.
Edit: I don't intend to leave the profiler in the final version. Also: getting a random number is EXPENSIVE. It's cheaper to use complex logic to get semi-random events than to use a random number. See also: Chaos Theory.
Edit: I don't intend to leave the profiler in the final version. Also: getting a random number is EXPENSIVE. It's cheaper to use complex logic to get semi-random events than to use a random number. See also: Chaos Theory.
Unless you're actually using a hardware random source (which is very slow) a random number is always just complex logic.
But yeah, you don't really need a cryptographically secure pseudorandom generator most of the time.
I'm thinking of writing a Bomberman-style game. It'll be single player at first, but I might decide to add in multiplayer later. I'm thinking of doing it in isometric 3D, something along those lines. It may or may not have a campaign, but it will definitely have the standard "arcade" mode.
I'm thinking of writing a Bomberman-style game. It'll be single player at first, but I might decide to add in multiplayer later. I'm thinking of doing it in isometric 3D, something along those lines. It may or may not have a campaign, but it will definitely have the standard "arcade" mode.
Unless you're actually using a hardware random source (which is very slow) a random number is always just complex logic.
But yeah, you don't really need a cryptographically secure pseudorandom generator most of the time.
Yeah, I have it do a single random number each frame (using the Python random module), which isn't a big frame hit at this point. That has solved my lack of randomness, and the rest is just complex logic.
B-ZaR said:
chaosmage said:
Aninhumer said:
Why not just use console output? You'll save a LOT more cycles than rendering anything.
I have no idea what "less" is... Remember, I just learned Python last Friday...err... am still learning it, really. Also I don't really need a log so much, it's not a complex... well it is kinda complicated... but I haven't been totally lost as to why something is happening yet. The realtime framehit was my main concern.
So I now have all of the major logic working (the seed growing into a tree logic was a stumper (hurk hurk), but it works great now) so now you can grow trees, set them on fire, and watch trees grow from the ashes. Setting water on fire gets you steam which eventually turns back into water... using fire on ice is really cool (heh) as you get steam and water from it... which if there is still ice around gets you more ice too.
I'm going for slightly more detailed logic in this than the danball one, but it doesn't really cost me much other than memory. I do see the logic module get a major hit with certain complex stuff (a massive body of water moving). But I still haven't done my 'only do logic on active dots' optimization, and I'm running pretty nice with a tilesize of 24 (a 20x27 grid) on the 400mhz n810 with all my python docs in pdf viewers in the background.
Darn, I wish I could get a Pandora from the first batch and develop some games of mine for it, but don't quite have enough money to
One of them being a classic overhead Zelda/Secret of Mana/Terrangima style game, with cooperative play
Oh and ZEQ2Lite
EDIT: This is an old post! I managed to get some (late) money as presents for my birthday from some relatives, so I managed to order one again! Right at the tail end of the first batch though.
I have no idea what "less" is... Remember, I just learned Python last Friday...err... am still learning it, really. Also I don't really need a log so much, it's not a complex... well it is kinda complicated... but I haven't been totally lost as to why something is happening yet. The realtime framehit was my main concern.
have your program write to a log file. Then, while it's running, open another terminal and type "less +F file.log"
It will follow the file as it is being written. You can then also scroll forward and backwards through the file if you need to.
:blink: That's an incredibly great idea. Why can't you start making it right now? Wouldn't anything written in c or python with an sdl library and designed for a gamepad + keyboard not require many adjustments when you do get your Pandora? Or does Pandora development entail things I wot not of?
Here's the TODO List, I think it's a bit out of date as I know some things on this list have been completed now,
Art needed:
~~~~~~~~~~~
3D models:
At least 25 ships of various sizes and functions
All kinds of random models to stick on cities on planets
Space stations
Little bits of debris for explosions
2D:
Decent icons for the ship control panel
Identikit faces for the space station comms interface
Billboard textures (for smoke, sparks, explosions, etc)
Music:
Dunno what sort. I like strauss...
Sound effects:
The ones I made are awful.
Need sliding and grinding noises for lifts and doors and stuff,
ship engine noises, laser noises, damage noises, ship computer 'woot
woot' noises, etc
Must do for ~1.0:
~~~~~~~~~~~~~~~~~
Equipment:
done
energy bomb
escape capsule
auto-refueller
passenger cabins
cargo scoop conversion
~ autopilot
y full range of lasers inc 'plasma accelerator' type big guns
y cargo bay life support
y Missiles
y atmos shielding
y laser cooling booster
y scanner
y radar mapper
y ecm
y naval ecm
y hyperspace cloud analyser
y shield generator
y fuel scoop
y regular hyperdrives
y military hyperdrives
y energy booster unit
y mining laser
y hull auto-repair system
* External display of mounted equipment (missiles, scoops, etc)
* Message log: viewable log. support for message sender image
* Autopilot to adequate standard
* Internal engine fuel usage (refuel on inventory page)
~ Textual system descriptions
* Shipyard:
* drive servicing
* Stats: gun mounts, missile pilons (should we use this or put them in the hull?), crew
* Cargo scooping
* Military standing, legal status, police
~ Bulletin board............
Less crucial things:
~~~~~~~~~~~~~~~~~~~~
* Sfx look utterly shit
* Planet twinkles are the colour of the 1st star in the system, not closest or combination
* Star light should attenuate
From what I've been told it's close to being in a release state,
Currently you can fly around and play at least one mission,
And there is a script nearing completion that will allow creation of custom missions,
I've never got it up and running (yet) myself so I can't tell you more,
Not sure yet what we'll need to do to get it to work on the pandora,
Converting from OpenGL to OpenGL ES seems to be the main task that will need to be done..
If you want to get in touch with Tom to help use the discussion list on his website
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.